public void OnEvent(EventTypesEnum eventTypeEnum, object messageData) { switch (eventTypeEnum) { case EventTypesEnum.UI_SceneLoaded: if (_loadingImage == null) { throw new UnityException("Loading image is " + _loadingImage); } else { _loadingImage.SetActive(false); } break; case EventTypesEnum.UI_OpenMenu: if (_navigationManager == null) { throw new UnityException("Navigation Manager is" + _navigationManager); } else { _loadingImage.SetActive(true); _navigationManager.Navigate(SceneTypesEnum.StartScreenScene, SceneTypesEnum.Menu, null); } break; } }
public void Notify(EventTypesEnum eventTypeEnumEnum, Object messageData) { foreach (var subscriber in _subscribersList) { subscriber.OnEvent(eventTypeEnumEnum, messageData); } }
public void OnEvent(EventTypesEnum eventTypeEnum, Object messageData) { switch (eventTypeEnum) { case EventTypesEnum.UI_SceneLoaded: _levelCompletePanel.SetActive(false); _loadingImage.SetActive(false); break; case EventTypesEnum.UI_OpenMenu: _loadingImage.SetActive(true); _navigationManager.Navigate(SceneTypesEnum.GameplayLevel, SceneTypesEnum.Menu, null); break; case EventTypesEnum.UI_PlayLevel: _loadingImage.SetActive(true); for (int i = 0; i < _level.LevelTasks.Length; i++) { _level.LevelTasks[i].Count = _tasksMaxCount[_level.LevelTasks[i].ElementName]; } _navigationManager.Navigate(SceneTypesEnum.GameplayLevel, SceneTypesEnum.GameplayLevel, _level); break; case EventTypesEnum.CELL_Destroy: string elementName = (string)messageData; if (_tasksPanel.ContainsKey(elementName)) { var taskCount = _task[elementName]; var maxCount = _tasksMaxCount[elementName]; GameObject taskPanel = _tasksPanel[elementName]; Text countTask = taskPanel.GetComponentInChildren <Text>(); countTask.text = (maxCount - _level.LevelTasks[taskCount].Count).ToString() + " / " + maxCount.ToString(); } break; case EventTypesEnum.TASK_Finished: _levelCompletePanel.SetActive(true); for (int i = 0; i < _level.LevelTasks.Length; i++) { _level.LevelTasks[i].Count = _tasksMaxCount[_level.LevelTasks[i].ElementName]; } Debug.Log("FIHISHED"); break; } }
public void OnEvent(EventTypesEnum eventTypeEnum, object messageData) { switch (eventTypeEnum) { case EventTypesEnum.CELL_Destroy: string destroyedCellTag = (string)messageData; foreach (var levelTask in _levelTasks) { if (levelTask.ElementName == destroyedCellTag) { levelTask.Count -= 1; if (levelTask.Count == 0) { OnEvent(EventTypesEnum.TASK_ComplitedTask, null); } return; } } break; case EventTypesEnum.TASK_ComplitedTask: foreach (var levelTask in _levelTasks) { if (levelTask.Completed == false) { return; } } Notify(EventTypesEnum.TASK_Finished, this); break; default: break; } }
public void Notify(EventTypesEnum eventTypeEnum, Object messageData) { _notifier.Notify(eventTypeEnum, messageData); }
public void OnEvent(EventTypesEnum eventTypeEnum, object messageData) { switch (eventTypeEnum) { case EventTypesEnum.LMB_Down: _clickA = Camera.main.ScreenToWorldPoint(Input.mousePosition); break; case EventTypesEnum.LMB_Up: _clickB = Camera.main.ScreenToWorldPoint(Input.mousePosition); if (_gameStateEnum == GameStatesEnum.Ready) { if (_clickA.x >= 0 && _clickA.x < _board.Width && _clickA.y >= 0 && _clickA.y < _board.Height && (Mathf.Abs(_clickB.x - _clickA.x) > Strings.SWIPE_SENSITIVITY || Mathf.Abs(_clickB.y - _clickA.y) > Strings.SWIPE_SENSITIVITY)) { MoveDirectionTypesEnum swipeDirection = Helper.FindMoveDirection(_clickA, _clickB); SwipeCells(swipeDirection); } } break; case EventTypesEnum.Swipe: _gameStateEnum = GameStatesEnum.Wait; SetMacroCommand((ICommand[])messageData); ExecuteMacroCommand(); break; case EventTypesEnum.BOARD_collapse: ExecuteMacroCommand(); break; case EventTypesEnum.BOARD_EndDestroyMatchedCells: if (_powersDictionary.Count > 0) { Vector2 pos = _powersDictionary.First().Key; PowerUpTypesEnum powerUpTypeEnum = _powersDictionary.First().Value; List <ICell> cellsList = new List <ICell>(_checkManager.PowerCheck(powerUpTypeEnum, pos)); ICell cell = _board.Cells[(int)pos.x, (int)pos.y]; _matchedCellsDictionary.Add(cellsList, AxisTypesEnum.Undefined); _matchedCellsWithAxisDictionary.Add(cell, _matchedCellsDictionary); _powersDictionary.Remove(_powersDictionary.First()); StartCoroutine(MarkAndDestroy(_matchedCellsWithAxisDictionary)); } else { StartCoroutine(RefillBoard()); } break; case EventTypesEnum.CELL_EndMove: TryCheckSwipedCells((ICell)messageData); break; case EventTypesEnum.CELL_EndMoveBack: ICell cellBack = (ICell)messageData; _board.Cells[cellBack.TargetX, cellBack.TargetY] = cellBack; cellBack.CellStateEnum = CellStatesEnum.Wait; _gameStateEnum = GameStatesEnum.Ready; break; case EventTypesEnum.CELL_Fall: ICell cellFall = (ICell)messageData; cellFall.CellStateEnum = CellStatesEnum.Wait; if (cellFall == _lastFallCell) { CheckBoard(); } break; case EventTypesEnum.CELL_Destroy: string cellTag = (string)messageData; Notify(EventTypesEnum.CELL_Destroy, cellTag); break; case EventTypesEnum.POWER_Use: ArrayList arr = (ArrayList)messageData; PowerUpTypesEnum powerUp = Helper.StringToPowerType(arr[0].ToString()); Vector3 position = (Vector3)arr[1]; _powersDictionary.Add(position, powerUp); break; case EventTypesEnum.TASK_Finished: if (_gameStateEnum != GameStatesEnum.End) { _navigationManager.MasterManager.UpdateManager.IsUpdate = false; _gameStateEnum = GameStatesEnum.End; Notify(EventTypesEnum.TASK_Finished, null); } break; default: Debug.Log("EVENT NOT FOUND"); break; } }
public void OnEvent(EventTypesEnum eventTypeEnum, Object messageData) { switch (eventTypeEnum) { case EventTypesEnum.UI_SceneLoaded: _gameObjectDescription_PanelLevels.SetActive(false); _loadingImage.SetActive(false); break; case EventTypesEnum.UI_BackToStartScreen: if (_navigationManager == null) { throw new UnityException("Navigation Manager is" + _navigationManager); } else { _navigationManager.Navigate(SceneTypesEnum.Menu, SceneTypesEnum.StartScreenScene, null); } break; case EventTypesEnum.UI_PrevLocation: Debug.Log("go to Previous location"); break; case EventTypesEnum.UI_NextLocation: Debug.Log("go to Next location"); break; case EventTypesEnum.UI_OpenLevelDescription: _selectedLevel = (int)messageData; if (_selectedLevel > _levelsManager.Levels.Length - 1) { Debug.Log("Level not created"); return; } else { ILevel level = _levelsManager.Levels[_selectedLevel]; _gameObjectDescription_PanelLevels.SetActive(true); GameObject tasksHolderPanel = GameObject.Find("Panel Tasks Holder"); Text currentGameObjectText = GameObject.Find("Text Selected Level").GetComponent <Text>(); currentGameObjectText.text = "Level " + level.LevelId.ToString(); int tastsCount = level.LevelTasks.Length; for (int i = 0; i < tastsCount; i++) { GameObject taskPrefab = UnityEngine.Object.Instantiate( Resources.Load("Prefabs/UI/Panel Level Task") as GameObject); taskPrefab.transform.SetParent(tasksHolderPanel.transform); Vector2 tempPos = Helper.SetUITaskPosition(tastsCount, i, SceneTypesEnum.Menu); taskPrefab.transform.localPosition = tempPos; Text countTask = taskPrefab.GetComponentInChildren <Text>(); countTask.text = level.LevelTasks[i].Count.ToString(); Image taskSprite = taskPrefab.GetComponentsInChildren <Image>()[2]; taskSprite.sprite = level.LevelTasks[i].SpriteElement; } } break; case EventTypesEnum.UI_CLoseLevelDescription: GameObject[] levelTaskPanels = GameObject.FindGameObjectsWithTag("Level Task"); foreach (var levelTaskPanel in levelTaskPanels) { GameObject.Destroy(levelTaskPanel); } _selectedLevel = -1; _gameObjectDescription_PanelLevels.SetActive(false); Debug.Log("Close Description of Level"); break; case EventTypesEnum.UI_PlayLevel: ILevel selectedLevel = _levelsManager.Levels[_selectedLevel]; _loadingImage.SetActive(true); _navigationManager.Navigate(SceneTypesEnum.Menu, SceneTypesEnum.GameplayLevel, selectedLevel); break; } }