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")); }
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; } }
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")); }
public override void Halt() { Debug.Log(LogExtension.Bold("[UnitSystem][Halt]")); _units.ForEach(unit => Destroy(unit.gameObject)); Destroy(_groundPlane); }