Esempio n. 1
0
 private UnityAction HaltAction() =>
 () =>
 {
     if (State == ERootState.Idle)
     {
         return;
     }
     State = ERootState.Idle;
     SendMessage?.Invoke(new HaltMessage());
 };
Esempio n. 2
0
 private UnityAction LaunchAction() =>
 () =>
 {
     if (State != ERootState.Idle)
     {
         return;
     }
     State = ERootState.Working;
     SendMessage?.Invoke(new LaunchMessage());
 };
Esempio n. 3
0
        private void Start()
        {
            State      = ERootState.Idle;
            _uiManager = FindObjectOfType <UIManager>();
            Assert.IsNotNull(_uiManager, LogExtension.BoldRed(Defaults.UIManagerNotFound));
            Assert.IsNotNull(_uiManager.LaunchButton, LogExtension.BoldRed(Defaults.LaunchButtonIsNotSet));
            Assert.IsNotNull(_uiManager.HaltButton, LogExtension.BoldRed(Defaults.HaltButtonIsNotSet));

            _uiManager.LaunchButton.onClick.AddListener(LaunchAction());
            _uiManager.PauseButton.onClick.AddListener(PauseAction());
            _uiManager.HaltButton.onClick.AddListener(HaltAction());

            Debug.Log(LogExtension.Bold("[RootController][Start] Complete"));
        }