namespace Engine.Core; // TODO this should not use independent behaviour, the OnInitialize usage for getting the transform can cause very unexpected issues public abstract class Behaviour2D : Internal.BehaviourIndependent, IBehaviour2D { public ITransform2D Transform { get; private set; } = null!; protected override void OnInitialize() => Transform = BehaviourController.GetRequiredBehaviour(); protected override void OnFinalize() => Transform = null!; }