refactor!: IGameObject removed
This commit is contained in:
28
Engine.Core/Behaviour2D.cs
Normal file
28
Engine.Core/Behaviour2D.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using Syntriax.Engine.Core.Abstract;
|
||||
|
||||
namespace Syntriax.Engine.Core;
|
||||
|
||||
public abstract class Behaviour2D : Behaviour, IBehaviour2D
|
||||
{
|
||||
public ITransform2D Transform { get; private set; } = null!;
|
||||
|
||||
protected sealed override void OnInitialize(IInitializable _)
|
||||
{
|
||||
Transform = BehaviourController.GetBehaviourInChildren<ITransform2D>() ?? throw new($"{HierarchyObject.Name} does not contain any {nameof(ITransform2D)}");
|
||||
base.OnInitialize(_);
|
||||
}
|
||||
|
||||
protected sealed override void OnFinalize(IInitializable _)
|
||||
{
|
||||
Transform = null!;
|
||||
base.OnFinalize(_);
|
||||
}
|
||||
|
||||
protected sealed override void OnUnassign(IAssignable assignable) => base.OnUnassign(assignable);
|
||||
protected sealed override void PreUpdate(IBehaviourController behaviourController) => base.PreUpdate(behaviourController);
|
||||
protected sealed override void FirstActiveFrame() => base.FirstActiveFrame();
|
||||
protected sealed override void Update(IBehaviourController behaviourController) => base.Update(behaviourController);
|
||||
protected sealed override void PreDraw(IBehaviourController behaviourController) => base.PreDraw(behaviourController);
|
||||
protected sealed override void EnteredHierarchy(IHierarchyObject sender, IGameManager gameManager) => base.EnteredHierarchy(sender, gameManager);
|
||||
protected sealed override void ExitedHierarchy(IHierarchyObject sender, IGameManager gameManager) => base.ExitedHierarchy(sender, gameManager);
|
||||
}
|
Reference in New Issue
Block a user