public void SwitchCanvas(Canvas canvasToOpen) { _canvasStack.Push(_currentMenu); _currentMenu.Close(); _currentMenu = canvasToOpen.GetComponent <IMenu>(); _currentMenu.Open(); }
public void CloseAllMenu() { _layoutRenderer.FrameIndex = 0; _layoutRenderer.SelectedSequenceGroupIndex = 2; _backgroundSeq.End(); _subMenuDescriptionSeq.End(); _subMenu.Close(); }
public void Push(IMenu menu) { IMenu lastMenu = menus.FirstOrDefault(); lastMenu?.Close(); menus.Push(menu); menu.Open(); }
/// <summary> /// Rimuove l'ultima selezione fatta. /// </summary> /// <param name="_this"></param> public static void GoBack(this IMenu _this) { if (_this.ScelteFatte.Count < 1) { _this.Close(); return; } _this.ScelteFatte.RemoveAt(_this.ScelteFatte.Count - 1); _this.LoadSelections(); }
public void Pop() { IMenu popMenu = menus.Pop(); popMenu.Close(); IMenu lastMenu = menus.FirstOrDefault(); lastMenu?.Open(); }
virtual public void Close() { _isClosing = true; _subMenu?.Close(); }
public void Pressed(ConsoleKeyInfo info) { _parent.Close(); }
/// <summary> /// Controlla se vengono premuti degli input da parte del player. /// </summary> void CheckInputStatus(InputStatus _inputStatus) { if (currentMenu == null) { if (_inputStatus.Y == ButtonState.Released && GameManager.I.OnMeravigliaDestroyed() == true) { currentMenu = OpenEndGameMenu(); Time.timeScale = 0.00000000001f; if (currentMenu.PossibiliScelteAttuali.Count < 1) { currentMenu.Close(); } } CellDoomstock cell = GameManager.I.gridController.Cells[XpositionOnGrid, YpositionOnGrid]; if (_inputStatus.X == ButtonState.Pressed) { if (cell.building && cell.building.CurrentState != BuildingState.Destroyed) { Ability(cell); } } // controllo che la levetta sia stata rilasciata nei due sensi o quasi if (_inputStatus.LeftThumbSticksAxisY <= 0.2 && _inputStatus.LeftThumbSticksAxisY >= -0.2) { isReleasedVertical = true; } if (_inputStatus.LeftThumbSticksAxisX <= 0.2 && _inputStatus.LeftThumbSticksAxisX >= -0.2) { isReleasedHorizontal = true; } if ((_inputStatus.DPadUp == ButtonState.Pressed || _inputStatus.LeftThumbSticksAxisY >= 0.5) && isReleasedVertical) // GO UP { GameManager.I.gridController.MoveToGridPosition(XpositionOnGrid, YpositionOnGrid + 1, this); isReleasedVertical = false; } if ((_inputStatus.DPadLeft == ButtonState.Pressed || _inputStatus.LeftThumbSticksAxisX <= -0.5) && isReleasedHorizontal) // GO LEFT { GameManager.I.gridController.MoveToGridPosition(XpositionOnGrid - 1, YpositionOnGrid, this); isReleasedHorizontal = false; } if ((_inputStatus.DPadDown == ButtonState.Pressed || _inputStatus.LeftThumbSticksAxisY <= -0.5) && isReleasedVertical) // GO DOWN { GameManager.I.gridController.MoveToGridPosition(XpositionOnGrid, YpositionOnGrid - 1, this); isReleasedVertical = false; } if ((_inputStatus.DPadRight == ButtonState.Pressed || _inputStatus.LeftThumbSticksAxisX >= 0.5) && isReleasedHorizontal) // GO RIGHT { GameManager.I.gridController.MoveToGridPosition(XpositionOnGrid + 1, YpositionOnGrid, this); isReleasedHorizontal = false; } if (_inputStatus.A == ButtonState.Pressed) // SELECT { if (cell.building) { switch (cell.building.CurrentState) { case BuildingState.Construction: return; case BuildingState.Built: case BuildingState.Producing: if (CanClick()) { foreach (var item in cell.building.BuildingResources) { GameManager.I.buildingManager.GetBuildingView(cell.building.UniqueID).LimitReached(item); } AddResourceOnClick(cell.building, cell); foreach (var item in cell.building.BuildingResources) { GameManager.I.buildingManager.GetBuildingView(cell.building.UniqueID).LimitReached(item); } } break; case BuildingState.Ready: if (CanClick()) { GameManager.I.messagesManager.DesotryUiInformation(cell); foreach (var item in cell.building.BuildingResources) { GameManager.I.GetResourceDataByID(item.ID).Value += item.Limit; switch (item.ID) { case "Food": GameManager.I.soundManager.GetFoodSound(); break; case "Wood": GameManager.I.soundManager.GetWoodSound(); break; case "Faith": break; case "Stone": GameManager.I.soundManager.GetStoneSound(); break; default: break; } item.Value = 0; if (cell.building.Population.Count > 0) { GameManager.I.buildingManager.GetBuildingView(cell.building.UniqueID).SetBuildingStatus(BuildingState.Waiting); } else { GameManager.I.buildingManager.GetBuildingView(cell.building.UniqueID).SetBuildingStatus(BuildingState.Waiting); } } } break; case BuildingState.Destroyed: GameManager.I.messagesManager.DesotryUiInformation(cell); RemoveBuildingDebris(cell.building); break; case BuildingState.Waiting: break; default: break; } } else { if (GameManager.I.gridController.CanUseMenu(this)) { GameManager.I.soundManager.GetOpenMenuSound(); currentMenu = OpenMenuPlayerID(); if (currentMenu.PossibiliScelteAttuali.Count < 1) { currentMenu.Close(); } } } } GameManager.I.uiManager.SetResourcesTextColor(); GameManager.I.uiManager.SetFaithTextColor(); if (_inputStatus.Start == ButtonState.Pressed) { GameManager.I.soundManager.GetOpenMenuSound(); currentMenu = OpenPauseMenu(); Time.timeScale = 0.00000000001f; if (currentMenu.PossibiliScelteAttuali.Count < 1) { currentMenu.Close(); } } if (_inputStatus.RightShoulder == ButtonState.Pressed) // ADD POPULATION { if (GameManager.I.populationManager.GetAllFreePeople().Count > 0) { BuildingData _building = GameManager.I.gridController.Cells[XpositionOnGrid, YpositionOnGrid].building; if (_building && _building.ID != "Casa" && _building.ID != "Muro" && _building.ID != "Torretta" && _building.CurrentState != BuildingState.Construction) { if (GameManager.I.gridController.Cells[XpositionOnGrid, YpositionOnGrid].building.PopulationLimit > GameManager.I.gridController.Cells[XpositionOnGrid, YpositionOnGrid].building.Population.Count) { List <PopulationData> freePeople = GameManager.I.populationManager.GetAllFreePeople(); int randomInd = Random.Range(0, freePeople.Count - 1); AddPopulation(GameManager.I.gridController.Cells[XpositionOnGrid, YpositionOnGrid].building, freePeople[randomInd].UniqueID); } } else { return; } } else { return; } } if (_inputStatus.LeftShoulder == ButtonState.Pressed) // Remove Population { if (GameManager.I.gridController.Cells[XpositionOnGrid, YpositionOnGrid].building != null) { BuildingData _building = GameManager.I.gridController.Cells[XpositionOnGrid, YpositionOnGrid].building; if (_building.Population.Count > 0) { RemovePopulationFromBuilding(_building.Population[_building.Population.Count - 1].UniqueID, _building); GameManager.I.messagesManager.ShowiInformation(MessageLableType.RemovePopulation, cell, true, "-1"); } } else { return; } } } else { // Menu mode // controllo che la levetta sia stata rilasciata nei due sensi o quasi if (_inputStatus.LeftThumbSticksAxisY <= 0.2 && _inputStatus.LeftThumbSticksAxisY >= -0.2) { isReleasedVertical = true; } if (_inputStatus.LeftThumbSticksAxisX <= 0.2 && _inputStatus.LeftThumbSticksAxisX >= -0.2) { isReleasedHorizontal = true; } if ((_inputStatus.DPadUp == ButtonState.Pressed || _inputStatus.LeftThumbSticksAxisY >= 0.5) && isReleasedVertical) // GO UP { currentMenu.MoveToPrevItem(); isReleasedVertical = false; } if ((_inputStatus.DPadLeft == ButtonState.Pressed || _inputStatus.LeftThumbSticksAxisX <= -0.5) && isReleasedHorizontal)// GO LEFT { isReleasedHorizontal = false; } if ((_inputStatus.DPadDown == ButtonState.Pressed || _inputStatus.LeftThumbSticksAxisY <= -0.5) && isReleasedVertical) // GO DOWN { currentMenu.MoveToNextItem(); isReleasedVertical = false; } if ((_inputStatus.DPadRight == ButtonState.Pressed || _inputStatus.LeftThumbSticksAxisX >= 0.5) && isReleasedHorizontal) // GO RIGHT { isReleasedHorizontal = false; } if (_inputStatus.A == ButtonState.Pressed)// SELECT { GameManager.I.soundManager.GetOpenMenuSound(); if (currentMenu.PossibiliScelteAttuali.Count > 0) { currentMenu.AddSelection(currentMenu.PossibiliScelteAttuali[currentMenu.IndiceDellaSelezioneEvidenziata]); } } if (_inputStatus.B == ButtonState.Pressed)// DESELECT { GameManager.I.soundManager.BackMenuSound(); currentMenu.GoBack(); } } }
static void n_Close(IntPtr jnienv, IntPtr native__this) { IMenu __this = Java.Lang.Object.GetObject <IMenu> (native__this, JniHandleOwnership.DoNotTransfer); __this.Close(); }