2024-01-30 12:26:17 +03:00
|
|
|
namespace Syntriax.Engine.Core.Abstract;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Indicates the object is an <see cref="IAssignable"/> with an assignable <see cref="ITransform"/> field.
|
|
|
|
/// </summary>
|
|
|
|
public interface IAssignableGameManager : IAssignable
|
|
|
|
{
|
|
|
|
/// <summary>
|
2024-02-01 12:06:31 +03:00
|
|
|
/// Event triggered when the <see cref="IGameManager"/> value has has been assigned a new value.
|
2024-01-30 12:26:17 +03:00
|
|
|
/// </summary>
|
2024-07-15 01:13:39 +03:00
|
|
|
event OnGameManagerAssignedDelegate? OnGameManagerAssigned;
|
2024-01-30 12:26:17 +03:00
|
|
|
|
|
|
|
/// <inheritdoc cref="IGameManager" />
|
|
|
|
IGameManager GameManager { get; }
|
|
|
|
|
|
|
|
/// <summary>
|
2024-02-01 12:06:31 +03:00
|
|
|
/// Assign a value to the <see cref="IGameManager"/> field of this object.
|
2024-01-30 12:26:17 +03:00
|
|
|
/// </summary>
|
|
|
|
/// <param name="gameManager">New <see cref="IGameManager"/> to assign.</param>
|
|
|
|
/// <returns>
|
|
|
|
/// <see cref="true"/>, if the value given assigned successfully assigned, <see cref="false"/> if not.
|
|
|
|
/// </returns>
|
|
|
|
bool Assign(IGameManager gameManager);
|
2024-07-15 01:13:39 +03:00
|
|
|
|
|
|
|
delegate void OnGameManagerAssignedDelegate(IAssignableGameManager sender);
|
2024-01-30 12:26:17 +03:00
|
|
|
}
|