public override void DoUpdate(GameTime gameTime) { if (ActiveInputManager.InputConfirmPressed()) { if (ConfirmMenuChoice == 0) { RemoveAllActionPanels(); AddToPanelListAndSelect(new ActionPanelPhaseChange(Map)); } else if (ConfirmMenuChoice == 1) { RemoveFromPanelList(this); } } else if (ActiveInputManager.InputCancelPressed()) { RemoveFromPanelList(this); } else if (ActiveInputManager.InputLeftPressed()) { if (ConfirmMenuChoice == 1) { ConfirmMenuChoice = 0; } } else if (ActiveInputManager.InputRightPressed()) { if (ConfirmMenuChoice == 0) { ConfirmMenuChoice = 1; } } }
public override void DoUpdate(GameTime gameTime) { if (ActiveInputManager.InputCancelPressed()) { RemoveFromPanelList(this); } else if (ActiveInputManager.InputConfirmPressed()) { Map.CursorPosition = ListMapMenuUnitPosition[MapUnitListChoice].Item2; Map.CursorPositionVisible = Map.CursorPosition; Map.PushScreen(new BattleMapScreen.CenterOnSquadCutscene(Map.CenterCamera, Map, Map.CursorPosition)); } else if (ActiveInputManager.InputUpPressed()) { MapUnitListChoice -= (MapUnitListChoice > 0) ? 1 : 0; } else if (ActiveInputManager.InputDownPressed()) { ++MapUnitListChoice; if (MapUnitListChoice >= UnitListMaxPerPage) { MapUnitListChoice = UnitListMaxPerPage - 1; } else if ((MapUnitListCurrentPage - 1) * UnitListMaxPerPage + MapUnitListChoice >= ListMapMenuUnitPosition.Count) { MapUnitListChoice = (ListMapMenuUnitPosition.Count - 1) % UnitListMaxPerPage; } } else if (ActiveInputManager.InputLeftPressed()) { MapUnitListCurrentPage -= (MapUnitListCurrentPage > 1) ? 1 : 0; } else if (ActiveInputManager.InputRightPressed()) { MapUnitListCurrentPage += (MapUnitListCurrentPage < MapUnitListCurrentPageMax) ? 1 : 0; } }
private void UpdateBaseMenu(GameTime gameTime) { if (ActiveInputManager.InputLeftPressed()) { Map.BattleMenuCursorIndex--; if (Map.BattleMenuCursorIndex == BattleMenuChoices.Support) {//Can't pick Support. (No Support Squads nearby) if (ActiveSquadSupport.Count <= 0) { Map.BattleMenuCursorIndex = BattleMenuChoices.Formation; } } if (Map.BattleMenuCursorIndex == BattleMenuChoices.Formation) {//Can't pick Formation. (No wingmans or ALL attack) if (ActiveSquad.UnitsAliveInSquad == 1 || Map.BattleMenuDefenseFormationChoice == FormationChoices.ALL) { Map.BattleMenuCursorIndex = BattleMenuChoices.Action; } } if (Map.BattleMenuCursorIndex < BattleMenuChoices.Start) { Map.BattleMenuCursorIndex = BattleMenuChoices.Demo; } Map.sndSelection.Play(); } else if (ActiveInputManager.InputRightPressed()) { Map.BattleMenuCursorIndex++; if (Map.BattleMenuCursorIndex == BattleMenuChoices.Formation) {//Can't pick Formation. (No wingmans or ALL attack) if (ActiveSquad.UnitsAliveInSquad == 1 || Map.BattleMenuDefenseFormationChoice == FormationChoices.ALL) { Map.BattleMenuCursorIndex = BattleMenuChoices.Support; } } if (Map.BattleMenuCursorIndex == BattleMenuChoices.Support) {//Can't pick Support. (No Support Squads nearby) if (ActiveSquadSupport.Count <= 0) { Map.BattleMenuCursorIndex = BattleMenuChoices.Demo; } } if (Map.BattleMenuCursorIndex > BattleMenuChoices.Demo) { Map.BattleMenuCursorIndex = BattleMenuChoices.Start; } Map.sndSelection.Play(); } else if (ActiveInputManager.InputMovePressed()) { if (ActiveInputManager.IsInZone(0, Constants.Height - 30, 125, Constants.Height)) { Map.BattleMenuCursorIndex = BattleMenuChoices.Start; } else if (ActiveInputManager.IsInZone(125, Constants.Height - 30, 255, Constants.Height)) { Map.BattleMenuCursorIndex = BattleMenuChoices.Action; } else if (ActiveInputManager.IsInZone(255, Constants.Height - 30, 385, Constants.Height) && (ActiveSquad.UnitsAliveInSquad > 1 && Map.BattleMenuDefenseFormationChoice != FormationChoices.ALL)) { Map.BattleMenuCursorIndex = BattleMenuChoices.Formation; } else if (ActiveInputManager.IsInZone(385, Constants.Height - 30, 510, Constants.Height) && ActiveSquadSupport.Count > 0) { Map.BattleMenuCursorIndex = BattleMenuChoices.Support; } else if (ActiveInputManager.IsInZone(510, Constants.Height - 30, 635, Constants.Height)) { Map.BattleMenuCursorIndex = BattleMenuChoices.Demo; } } else if (ActiveInputManager.InputCommand1Pressed()) { Map.SpiritMenu.InitSpiritScreen(ActiveSquad); Map.BattleMenuStage = BattleMenuStages.Default; } else if (ActiveInputManager.InputCommand2Pressed()) { //Constants.ShowAnimation = !Constants.ShowAnimation; Map.sndSelection.Play(); } if (ActiveInputManager.InputConfirmPressed()) { switch (Map.BattleMenuCursorIndex) { //Begin attack. case BattleMenuChoices.Start: StartBattle(); break; case BattleMenuChoices.Action: if (ActiveSquad.UnitsAliveInSquad == 1) { ActiveSquad.CurrentLeader.UpdateNonMAPAttacks(ActiveSquad.Position, TargetSquad.Position, TargetSquad.ArrayMapSize, TargetSquad.CurrentMovement, ActiveSquad.CanMove); ActiveSquad.CurrentLeader.AttackIndex = 0; //Make sure you select the first weapon. Map.BattleMenuStage = BattleMenuStages.ChooseAttack; } else { Map.BattleMenuStage = BattleMenuStages.ChooseSquadMember; //Choose squad member. Map.BattleMenuCursorIndexSecond = 1; //Leader is attacking, can't put him on defend or evade. } break; case BattleMenuChoices.Formation: Map.BattleMenuCursorIndexSecond = (int)Map.BattleMenuOffenseFormationChoice; Map.BattleMenuStage = BattleMenuStages.ChooseFormation; break; case BattleMenuChoices.Support: Map.BattleMenuCursorIndexSecond = 0; ActiveSquadSupportIndexOld = ActiveSquadSupport.ActiveSquadSupportIndex; Map.BattleMenuStage = BattleMenuStages.ChooseSupport; break; case BattleMenuChoices.Demo: Constants.ShowAnimation = !Constants.ShowAnimation; break; } Map.sndConfirm.Play(); } else if (ActiveInputManager.InputCancelPressed()) { CancelPanel(); } }
private void UpdateBaseMenu(GameTime gameTime) { if (ActiveInputManager.InputLeftPressed()) { Map.BattleMenuCursorIndex--; if (Map.BattleMenuCursorIndex == BattleMenuChoices.Formation) {//Can't pick Formation. (No wingmans or ALL attack) if (TargetSquad.UnitsAliveInSquad == 1 || Map.BattleMenuDefenseFormationChoice == FormationChoices.ALL) { Map.BattleMenuCursorIndex = BattleMenuChoices.Action; } } else if (Map.BattleMenuCursorIndex < BattleMenuChoices.Start) { Map.BattleMenuCursorIndex = BattleMenuChoices.Demo; } Map.sndSelection.Play(); } else if (ActiveInputManager.InputRightPressed()) { Map.BattleMenuCursorIndex++; if (Map.BattleMenuCursorIndex == BattleMenuChoices.Formation) {//Can't pick Formation. (No wingmans or ALL attack) if (TargetSquad.UnitsAliveInSquad == 1 || Map.BattleMenuDefenseFormationChoice == FormationChoices.ALL) { Map.BattleMenuCursorIndex = BattleMenuChoices.Support; } } else if (Map.BattleMenuCursorIndex > BattleMenuChoices.Demo) { Map.BattleMenuCursorIndex = BattleMenuChoices.Start; } Map.sndSelection.Play(); } else if (ActiveInputManager.InputMovePressed()) { if (ActiveInputManager.IsInZone(0, Constants.Height - 30, 125, Constants.Height)) { Map.BattleMenuCursorIndex = BattleMenuChoices.Start; } else if (ActiveInputManager.IsInZone(125, Constants.Height - 30, 255, Constants.Height)) { Map.BattleMenuCursorIndex = BattleMenuChoices.Action; } else if (ActiveInputManager.IsInZone(255, Constants.Height - 30, 385, Constants.Height) && (ActiveSquad.UnitsAliveInSquad > 1 && Map.BattleMenuDefenseFormationChoice != FormationChoices.ALL)) { Map.BattleMenuCursorIndex = BattleMenuChoices.Formation; } else if (ActiveInputManager.IsInZone(385, Constants.Height - 30, 510, Constants.Height) && ActiveSquadSupport.Count > 0) { Map.BattleMenuCursorIndex = BattleMenuChoices.Support; } else if (ActiveInputManager.IsInZone(510, Constants.Height - 30, 635, Constants.Height)) { Map.BattleMenuCursorIndex = BattleMenuChoices.Demo; } } else if (ActiveInputManager.InputCommand2Pressed()) { Constants.ShowAnimation = !Constants.ShowAnimation; Map.sndSelection.Play(); } if (ActiveInputManager.InputConfirmPressed()) { switch (Map.BattleMenuCursorIndex) { case BattleMenuChoices.Start: Map.ComputeTargetPlayerOffense(ActivePlayerIndex, ActiveSquadIndex, ActiveSquadSupport, TargetPlayerIndex, TargetSquadIndex, TargetSquadSupport); break; case BattleMenuChoices.Action: Map.BattleMenuCursorIndexSecond = 0; if (TargetSquad.UnitsAliveInSquad == 1) { Map.BattleMenuStage = BattleMenuStages.ChooseDefense; Map.BattleMenuCursorIndexSecond = (int)TargetSquad.CurrentLeader.BattleDefenseChoice; } else { Map.BattleMenuStage = BattleMenuStages.ChooseSquadMember; //Choose squad member. } break; case BattleMenuChoices.Formation: if (Map.BattleMenuDefenseFormationChoice != FormationChoices.ALL) { Map.BattleMenuCursorIndexSecond = (int)Map.BattleMenuDefenseFormationChoice; Map.BattleMenuStage = BattleMenuStages.ChooseFormation; } break; case BattleMenuChoices.Support: Map.BattleMenuCursorIndexSecond = 0; Map.BattleMenuStage = BattleMenuStages.ChooseSupport; break; case BattleMenuChoices.Demo: Constants.ShowAnimation = !Constants.ShowAnimation; break; } Map.sndConfirm.Play(); } else if (ActiveInputManager.InputCancelPressed() && Map.ListPlayer[ActivePlayerIndex].IsPlayerControlled)//Can't cancel out of AI attacks. { CancelPanel(); } }