using Engine.Core; using Engine.Systems.Input; using MyUniverse.Shared.Behaviours.Abstract; namespace MyUniverse.Shared.Behaviours; public class RotatorToggler : Behaviour2D, IFirstFrameUpdate, ILastFrameUpdate { private IRotator rotator = null!; private IGameInputs inputs = null!; public void FirstActiveFrame() { rotator = BehaviourController.GetRequiredBehaviour(); inputs = Universe.FindRequiredBehaviour(); inputs.RegisterOnPress(IGameInputs.Button.Interact, ToggleRotator); } private void ToggleRotator(IButtonInputs sender, IButtonInputs.ButtonCallbackArguments args) { rotator.StateEnable.Enabled = !rotator.StateEnable.Enabled; } public void LastActiveFrame() { inputs.UnregisterOnPress(IGameInputs.Button.Interact, ToggleRotator); } }