using System.Collections.Generic; using UnityEngine; using Script.Gameplay.Connect; namespace Script.Gameplay.Facility { // 号码枚举类型 public enum NumberType { Zero, One, Two, Three, Four, Five, // Six, // Seven, // Eight, // Nine } // 号码槽 public class NumberSlotController : BaseFacilityController { [Header("号码槽设置")] [SerializeField] private NumberType currentNumber = NumberType.Zero; [SerializeField] private NumberType correctNumber = NumberType.One; // 接收信号 public override void OnSignalReceived(bool active, GameObject sender) { base.OnSignalReceived(active, sender); if (active) { SwitchToNextNumber(); } } // 切换到下一个号码 private void SwitchToNextNumber() { currentNumber = (NumberType)(((int)currentNumber + 1) % System.Enum.GetValues(typeof(NumberType)).Length); CheckNumberAndSendSignal(); } // 检查号码并发信号 private void CheckNumberAndSendSignal() { bool isCorrect = currentNumber == correctNumber; SendSignal(isCorrect, this.gameObject); } } }