using Godot; namespace Babushka.scripts.CSharp.Common; /// /// Switches between two Sprite Options. /// public partial class SpriteSwitcher : Node3D { [Export] private Sprite3D _trueSprite; [Export] private Sprite3D _falseSprite; [Export] private bool _state = true; [Signal] public delegate void SwitchEventHandler(bool state); public override void _Ready() { SetState(); } public void SwitchState() { _state = !_state; EmitSignal(SignalName.Switch, _state); SetState(); } private void SetState() { if(_trueSprite != null) _trueSprite.Visible = _state; if(_falseSprite != null) _falseSprite.Visible = !_state; } }