refactor!: IGameObject removed

This commit is contained in:
2025-03-28 17:47:05 +03:00
parent d825bb55d3
commit 4ec1a32db2
58 changed files with 937 additions and 1187 deletions

View File

@@ -0,0 +1,26 @@
namespace Syntriax.Engine.Core.Abstract;
/// <summary>
/// Indicates the object is an <see cref="IAssignable"/> with an assignable <see cref="IBehaviourController"/> field.
/// </summary>
public interface IHasBehaviourController : IAssignable
{
/// <summary>
/// Event triggered when the <see cref="IBehaviourController"/> value has has been assigned a new value.
/// </summary>
event OnBehaviourControllerAssignedEventHandler? OnBehaviourControllerAssigned;
/// <inheritdoc cref="IBehaviourController" />
IBehaviourController BehaviourController { get; }
/// <summary>
/// Assign a value to the <see cref="IBehaviourController"/> field of this object.
/// </summary>
/// <param name="behaviourController">New <see cref="IBehaviourController"/> to assign.</param>
/// <returns>
/// <see cref="true"/>, if the value given assigned successfully assigned, <see cref="false"/> if not.
/// </returns>
bool Assign(IBehaviourController behaviourController);
delegate void OnBehaviourControllerAssignedEventHandler(IHasBehaviourController sender);
}