Esempio n. 1
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"));
        }
Esempio n. 2
0
        public override void Launch()
        {
            Debug.Log(LogExtension.Bold("[UnitSystem][Launch]"));

            _groundPlane = LocationGenerator.Generate();

            _units        = new List <UnitBase>();
            _unitPoolSize = Defaults.UnitPoolSize;

            for (var i = 0; i < _unitPoolSize; i++)
            {
                SpawnUnit();
            }
        }
        public override void ReceiveMessage(IMessage message)
        {
            Debug.Log(LogExtension.Bold($"[ProjectileSystem][ReceiveMessage] {message}"));
            base.ReceiveMessage(message);
            switch (message)
            {
            case LaunchMessage _:
                Launch();
                break;

            case HaltMessage _:
                Halt();
                break;
            }
        }
Esempio n. 4
0
        private void Start()
        {
            _controller = GameObjectFactory.Get <RootController>();
            _dispatcher = GameObjectFactory.Get <Dispatcher>();
            _dispatcher.Register(_controller);

            _systems = new List <SystemBase>
            {
                GameObjectFactory.Get <ProjectileSystem>(),
                GameObjectFactory.Get <UnitSystem>()
            };

            _systems.ForEach(_dispatcher.Register);

            Debug.Log(LogExtension.Bold("[Root][Start] Complete"));
        }
Esempio n. 5
0
 public override void Halt()
 {
     Debug.Log(LogExtension.Bold("[UnitSystem][Halt]"));
     _units.ForEach(unit => Destroy(unit.gameObject));
     Destroy(_groundPlane);
 }