public override void Update(GameTime gameTime) { //Change the alpha of the cursor. if (CursorAppearing) { if (++CursorAlpha >= 200) { CursorAppearing = false; } } else { if (--CursorAlpha <= 20) { CursorAppearing = true; } } if (KeyboardHelper.InputUpPressed()) { CursorIndex -= (CursorIndex > 0) ? 1 : 0; } else if (KeyboardHelper.InputDownPressed()) { if (Sort == SortType.Type) { CursorIndex += (CursorIndex < 5) ? 1 : 0; } else { CursorIndex += (CursorIndex < ListItems.Count() - 1) ? 1 : 0; } } else if (KeyboardHelper.InputLeftPressed()) { if (CursorIndex == 0) { Sort -= ((int)Sort > 0) ? 1 : 0; } } else if (KeyboardHelper.InputRightPressed()) { if (CursorIndex == 0) { Sort += ((int)Sort < 1) ? 1 : 0; } } if (KeyboardHelper.InputCancelPressed()) { GameScreen.RemoveScreen(this); } else if (KeyboardHelper.KeyPressed(Microsoft.Xna.Framework.Input.Keys.Escape)) { GameScreen.RemoveScreen(this); } }
public override void Update(GameTime gameTime) { if (TimeSinceSaveInSeconds == 0) { DataScreen.LoadProgression(PlayerRoster, DicUnitType, DicRequirement, DicEffect, DicAutomaticSkillTarget, DicManualSkillTarget); TimeSinceSaveInSeconds = gameTime.ElapsedGameTime.TotalSeconds; } else { TimeSinceSaveInSeconds += gameTime.ElapsedGameTime.TotalSeconds; if (KeyboardHelper.InputConfirmPressed() || KeyboardHelper.InputCancelPressed() || MouseHelper.InputLeftButtonPressed() || MouseHelper.InputRightButtonPressed() || TimeSinceSaveInSeconds > 3) { RemoveScreen(this); } } }
public override void Update(GameTime gameTime) { if (KeyboardHelper.InputUpPressed()) { CursorSelection -= CursorSelection > 0 ? 1 : 0; } else if (KeyboardHelper.InputDownPressed()) { CursorSelection += CursorSelection < ListChoice.Count - 1 ? 1 : 0; } else if (KeyboardHelper.InputConfirmPressed()) { } else if (KeyboardHelper.InputCancelPressed()) { GameScreen.RemoveScreen(this); } }
public override void Update(GameTime gameTime) { if (TimeSinceSaveInSeconds == 0) { //Create the Part file. FileStream FS = new FileStream("User Data/Saves/SRWE Save.bin", FileMode.Create, FileAccess.Write); BinaryWriter BW = new BinaryWriter(FS); DataScreen.SaveProgression(BW, PlayerRoster); FS.Close(); BW.Close(); TimeSinceSaveInSeconds = gameTime.ElapsedGameTime.TotalSeconds; } else { TimeSinceSaveInSeconds += gameTime.ElapsedGameTime.TotalSeconds; if (KeyboardHelper.InputConfirmPressed() || KeyboardHelper.InputCancelPressed() || MouseHelper.InputLeftButtonPressed() || MouseHelper.InputRightButtonPressed() || TimeSinceSaveInSeconds > 3) { RemoveScreen(this); } } }
public override void Update(GameTime gameTime) { if (CursorAlphaAppearing) {//Increment SelectedAlpha before comparing it to 200 CursorAlpha += 5; if (CursorAlpha >= 200) { CursorAlphaAppearing = false; } } else {//Decrement SelectedAlpha before comparing it to 55 CursorAlpha -= 5; if (CursorAlpha <= 55) { CursorAlphaAppearing = true; } } #region Stage == -1 if (Stage == -1) { if (KeyboardHelper.InputUpPressed()) { if ((int)SelectedChoice < 2) { SelectedChoice -= (int)SelectedChoice > 0 ? 1 : 0; } else if ((int)SelectedChoice < 4) { SelectedChoice -= (int)SelectedChoice > 2 ? 1 : 0; } } else if (KeyboardHelper.InputDownPressed()) { if ((int)SelectedChoice < 2) { SelectedChoice += (int)SelectedChoice < 1 ? 1 : 0; } else if ((int)SelectedChoice < 4) { SelectedChoice += (int)SelectedChoice < 3 ? 1 : 0; } } if (KeyboardHelper.InputLeftPressed() && (int)SelectedChoice >= 2) { SelectedChoice = SelectChoice.PlayerList; } else if (KeyboardHelper.InputRightPressed() && (int)SelectedChoice < 2) { SelectedChoice = SelectChoice.ChangeMap; } else if (KeyboardHelper.InputConfirmPressed()) { switch (SelectedChoice) { case SelectChoice.PlayerList: PlayerIndex = 0; break; case SelectChoice.ChangeMap: CursorMap = CurrentMap; break; case SelectChoice.StartGame: GameScreen.PushScreen(new DeathmatchMap(ArrayMapFile[CurrentMap].FullName, ListPlayer, 1)); GameScreen.RemoveScreen(this); break; } Stage = 0; } } #endregion else { switch (SelectedChoice) { #region Messenger case SelectChoice.Messenger: Microsoft.Xna.Framework.Input.Keys[] Input = KeyboardHelper.KeyPressed(); for (int i = 0; i < Input.Count(); i++) { if (KeyboardHelper.KeyPressed(Input[i])) { if (Input[i] == Microsoft.Xna.Framework.Input.Keys.Space) { Message = Message.Insert(MessageCursorIndex, " "); MessageDraw = MessageDraw.Insert(MessageCursorIndex, " "); MessageCursorIndex++; UpdateMessengerCursor(); } else if (Input[i] == Microsoft.Xna.Framework.Input.Keys.Enter) { Messenger.Add(Message); Message = ""; MessageDraw = ""; MessageCursorIndex = 0; } else if (Input[i] == Microsoft.Xna.Framework.Input.Keys.Back) { if (Message.Length > 0) { MessageCursorIndex--; Message = Message.Remove(MessageCursorIndex, 1); MessageDraw = MessageDraw.Remove(MessageCursorIndex, 1); UpdateMessengerCursor(); } } else if ((int)Input[i] >= 65 && (int)Input[i] <= 90) { Message = Message.Insert(MessageCursorIndex, Input[i].ToString()); MessageDraw = MessageDraw.Insert(MessageCursorIndex, Input[i].ToString()); MessageCursorIndex++; UpdateMessengerCursor(); } else if (Input[i] == Microsoft.Xna.Framework.Input.Keys.Left) { MessageCursorIndex -= MessageCursorIndex > 0 ? 1 : 0; UpdateMessengerCursor(); } else if (Input[i] == Microsoft.Xna.Framework.Input.Keys.Right) { MessageCursorIndex += MessageCursorIndex < Message.Count() ? 1 : 0; UpdateMessengerCursor(); } } } if (KeyboardHelper.InputCancelPressed()) { Stage = -1; } break; #endregion #region PlayerList case SelectChoice.PlayerList: switch (Stage) { case 0: //Player selection if (KeyboardHelper.InputUpPressed()) { PlayerIndex -= PlayerIndex > 0 ? 1 : 0; } else if (KeyboardHelper.InputDownPressed()) { PlayerIndex += PlayerIndex < Math.Min(ListPlayer.Count, ListMap[CursorMap].NumberOfPlayers - 1) ? 1 : 0; } if (KeyboardHelper.InputLeftPressed() || KeyboardHelper.InputRightPressed() || KeyboardHelper.InputConfirmPressed()) { SubMenu = 0; Stage++; } else if (KeyboardHelper.InputCancelPressed()) { Stage = -1; } break; case 1: //SubMenu selection if (KeyboardHelper.InputUpPressed()) { PlayerIndex -= PlayerIndex > 0 ? 1 : 0; } else if (KeyboardHelper.InputDownPressed()) { PlayerIndex += PlayerIndex < Math.Min(ListPlayer.Count, ListMap[CursorMap].NumberOfPlayers - 1) ? 1 : 0; if (PlayerIndex == ListMap[CursorMap].NumberOfPlayers - 1 && ListPlayer.Count < ListMap[CursorMap].NumberOfPlayers) { SubMenu = 0; } } if (KeyboardHelper.InputLeftPressed() && (PlayerIndex != ListMap[CursorMap].NumberOfPlayers - 1 || ListPlayer.Count >= ListMap[CursorMap].NumberOfPlayers)) { SubMenu -= SubMenu > 0 ? 1 : 0; } else if (KeyboardHelper.InputRightPressed() && (PlayerIndex != ListMap[CursorMap].NumberOfPlayers - 1 || ListPlayer.Count >= ListMap[CursorMap].NumberOfPlayers)) { SubMenu += SubMenu < 2 ? 1 : 0; } else if (KeyboardHelper.InputCancelPressed()) { Stage--; } else if (KeyboardHelper.InputConfirmPressed()) { Stage++; PlayerOptionIndex = 0; if (SubMenu == 0) { //If the index is on the last player or on an empty space if (PlayerIndex == ListPlayer.Count - 1 || PlayerIndex >= ListPlayer.Count) { Types = new PlayerTypes[] { PlayerTypes.Closed, PlayerTypes.Human, PlayerTypes.CPUEasy } } ; else { Types = new PlayerTypes[] { PlayerTypes.Human, PlayerTypes.CPUEasy } }; } } break; case 2: //PlayerOption selection switch (SubMenu) { case 0: //Player type if (KeyboardHelper.InputUpPressed()) { PlayerOptionIndex -= PlayerOptionIndex > 0 ? 1 : 0; } else if (KeyboardHelper.InputDownPressed()) { PlayerOptionIndex += PlayerOptionIndex < Types.Count() - 1 ? 1 : 0; } else if (KeyboardHelper.InputConfirmPressed()) { if (PlayerIndex < ListPlayer.Count) { if (Types[PlayerOptionIndex] == PlayerTypes.Closed) { ListPlayer.RemoveAt(PlayerIndex); } else { ListPlayer[PlayerIndex].PType = Types[PlayerOptionIndex]; } } else { if (Types[PlayerOptionIndex] == PlayerTypes.Closed) { ListPlayer.RemoveAt(PlayerIndex); } else { List <Unit> ListUnit; ListUnit = new List <Unit>(); /*ListUnit.Add(new UnitArmoredCore(UnitArmoredCore.ListUnitArmoredCore[0])); * ListUnit[0].Init(); * ListUnit.Add(new UnitArmoredCore(UnitArmoredCore.ListUnitArmoredCore[0])); * ListUnit[1].Init(); * ListUnit.Add(new UnitArmoredCore(UnitArmoredCore.ListUnitArmoredCore[0])); * ListUnit[2].Init();*/ ListPlayer.Add(new Player("New player", Types[PlayerOptionIndex], ListUnit, 0)); } } Stage--; } else if (KeyboardHelper.InputCancelPressed()) { Stage--; } break; case 1: //Team if (KeyboardHelper.InputUpPressed()) { PlayerOptionIndex -= PlayerOptionIndex > 0 ? 1 : 0; } else if (KeyboardHelper.InputDownPressed()) { PlayerOptionIndex += PlayerOptionIndex < ListMap[CursorMap].NumberOfTeam - 1 ? 1 : 0; } else if (KeyboardHelper.InputConfirmPressed()) { ListPlayer[PlayerIndex].Team = PlayerOptionIndex; Stage--; } else if (KeyboardHelper.InputCancelPressed()) { Stage--; } break; } break; } break; #endregion case SelectChoice.ChangeMap: if (KeyboardHelper.InputUpPressed()) { CursorMap--; if (CursorMap < 0) { CursorMap = ListMap.Count - 1; } } else if (KeyboardHelper.InputDownPressed()) { CursorMap++; if (CursorMap > ListMap.Count - 1) { CursorMap = 0; } } else if (KeyboardHelper.InputConfirmPressed()) { CurrentMap = CursorMap; Stage--; } else if (KeyboardHelper.InputCancelPressed()) { Stage--; } break; } } if (KeyboardHelper.KeyPressed(Microsoft.Xna.Framework.Input.Keys.Escape)) { GameScreen.RemoveScreen(this); } }
public bool InputCancelPressed() { return(KeyboardHelper.InputCancelPressed() || (IsInZone(0, 0, Constants.Width, Constants.Height) && MouseHelper.InputRightButtonPressed())); }
public override void Update(GameTime gameTime) { //Change the alpha of the cursor. if (CursorAppearing) { if (++CursorAlpha >= 200) { CursorAppearing = false; } } else { if (--CursorAlpha <= 70) { CursorAppearing = true; } } if (KeyboardHelper.InputUpPressed()) { if (Stage == 0) { CursorIndex--; if (CursorIndex < 0) { CursorIndex = CursorIndexMax - 1; if (CursorIndex >= 32) { CursorIndexStart = CursorIndexMax - 31; } } if (CursorIndex < CursorIndexStart) { CursorIndexStart--; } //Reset the CursorFilter. int CursorPos = CursorIndex; ResetCursorFilter(MainFilter); GetCursorFilter(MainFilter, ref CursorPos); } } else if (KeyboardHelper.InputDownPressed()) { if (Stage == 0) { CursorIndex++; if (CursorIndex > CursorIndexMax - 1) { CursorIndex = 0; CursorIndexStart = 0; } if (CursorIndex > 32 + CursorIndexStart) { CursorIndexStart++; } //Reset the CursorFilter. int CursorPos = CursorIndex; ResetCursorFilter(MainFilter); GetCursorFilter(MainFilter, ref CursorPos); } } else if (KeyboardHelper.InputConfirmPressed()) { if (Stage == 0) { //If the cursor points on a FilterItem. if (CursorFilter.CursorIndex >= CursorFilter.ListItem.Count) {//Open/Close the selected FilterItem. CursorFilter.ListFilter[CursorFilter.CursorIndex - CursorFilter.ListItem.Count].IsOpen = !CursorFilter.ListFilter[CursorFilter.CursorIndex - CursorFilter.ListItem.Count].IsOpen; //Reset the CursorIndexMax. CursorIndexMax = 0; SetCursorIndexMax(MainFilter); } else { Stage++; } } else { } } else if (KeyboardHelper.InputCancelPressed()) { if (Stage == 0) { GameScreen.RemoveScreen(this); } else { Stage--; } } else if (KeyboardHelper.KeyPressed(Microsoft.Xna.Framework.Input.Keys.Escape)) { GameScreen.RemoveScreen(this); } }
public override void Update(GameTime gameTime) { if (Stage == -1) { if (KeyboardHelper.InputUpPressed()) { if (CursorIndex > 0) { CursorIndex--; } } else if (KeyboardHelper.InputDownPressed()) { if (CursorIndex < 8 && CursorIndex + 1 + (PageCurrent - 1) * 8 < ListUnitSelection.Count) { CursorIndex++; } } else if (KeyboardHelper.InputLeftPressed()) { if (PageCurrent > 1) { PageCurrent--; } } else if (KeyboardHelper.InputRightPressed()) { if (PageCurrent * 8 < ListUnitSelection.Count) { PageCurrent++; } } else if (KeyboardHelper.InputConfirmPressed()) { //If the Unit has a pilot. if (ListUnitSelection[CursorIndex + (PageCurrent - 1) * 8].ArrayCharacterActive[0] != null) { if (ListUnitSelected.Contains(CursorIndex + (PageCurrent - 1) * 8)) { ListUnitSelected.Remove(CursorIndex + (PageCurrent - 1) * 8); } else { ListUnitSelected.Add(CursorIndex + (PageCurrent - 1) * 8); } if (ListUnitSelected.Count >= NbUnitsToSelect) { List <Player> ListPlayers = new List <Player>(); List <Unit> ListPlayerUnit = new List <Unit>(); for (int U = 0; U < ListUnitSelected.Count; U++) { ListPlayerUnit.Add(ListUnitSelection[ListUnitSelected[U]]); } ListPlayers.Add(new Player("noname", PlayerTypes.Human, ListPlayerUnit, 0)); GameScreen.PushScreen(new DeathmatchMap(ListPlayers)); GameScreen.RemoveScreen(this); } } else//Open the pop up menu. { Stage++; } } else if (KeyboardHelper.InputCancelPressed()) { GameScreen.RemoveAllScreens(); GameScreen.PushScreen(new IntermissionScreen()); } } else { if (KeyboardHelper.InputCancelPressed() || KeyboardHelper.InputConfirmPressed()) { Stage--; } } }
public override void Update(GameTime gameTime) { if (KeyboardHelper.InputUpPressed()) { if (Stage == -1) { if (CursorIndexUnitSelection > 0) { CursorIndexUnitSelection--; } } else if (Stage == 0) { if (CursorIndexSubMenu > 0) { CursorIndexSubMenu--; } } else if (Stage == 1) { if (CursorIndexPilotPosition > 0) { CursorIndexPilotPosition--; } } } else if (KeyboardHelper.InputDownPressed()) { if (Stage == -1) { if (CursorIndexUnitSelection < ItemPerPage - 1 && CursorIndexUnitSelection + 1 + (PageCurrentUnitSelection - 1) * ItemPerPage < Game.ListUnit.Count) { CursorIndexUnitSelection++; } } else if (Stage == 0) { if (CursorIndexSubMenu < SelectedUnit.MaxCharacter) { CursorIndexSubMenu++; } } else if (Stage == 1) { if (CursorIndexPilotPosition < SelectedUnit.MaxCharacter) { CursorIndexPilotPosition++; } } } else if (KeyboardHelper.InputLeftPressed()) { if (Stage == -1) { if (PageCurrentUnitSelection > 1) { PageCurrentUnitSelection--; } } else if (Stage == 1) { if (PageCurrentPilotPosition > 1) { PageCurrentPilotPosition--; } } } else if (KeyboardHelper.InputRightPressed()) { if (Stage == -1) { if (PageCurrentUnitSelection * ItemPerPage < Game.ListUnit.Count) { PageCurrentUnitSelection++; } } else if (Stage == 1) { if ((PageCurrentPilotPosition + 1) * ItemPerPage < ListCharacterInfo.Count) { PageCurrentPilotPosition++; } } } else if (KeyboardHelper.InputConfirmPressed()) { if (Stage == -1) { SelectedUnit = Game.ListUnit[CursorIndexUnitSelection + (PageCurrentUnitSelection - 1) * ItemPerPage]; CursorIndexSubMenu = 0; Stage++; } else if (Stage == 0) { CursorIndexPilotPosition = 0; PageCurrentPilotPosition = 1; Stage++; } else if (Stage == 1) { int CharacterIndex = CursorIndexPilotPosition + (PageCurrentPilotPosition - 1) * PilotPerPage; if (ListCharacterInfo[CharacterIndex].UnitIndex != -1) { Game.ListUnit[ListCharacterInfo[CharacterIndex].UnitIndex].ArrayCharacterActive[ListCharacterInfo[CharacterIndex].CharacterUnitIndex] = null; } //If the selection is not empty, add the pilot. if (CharacterIndex != 0) { SelectedUnit.ArrayCharacterActive[CursorIndexSubMenu] = Game.ListCharacter[CharacterIndex - 1]; ListCharacterInfo[CharacterIndex].UnitName = SelectedUnit.Name; ListCharacterInfo[CharacterIndex].UnitIndex = CursorIndexUnitSelection + (PageCurrentUnitSelection - 1) * ItemPerPage; ListCharacterInfo[CharacterIndex].CharacterUnitIndex = CursorIndexSubMenu; } else { SelectedUnit.ArrayCharacterActive[CursorIndexSubMenu] = null; ListCharacterInfo[CharacterIndex].UnitName = "------"; ListCharacterInfo[CharacterIndex].UnitIndex = -1; ListCharacterInfo[CharacterIndex].CharacterUnitIndex = -1; } Stage = -1; } } else if (KeyboardHelper.InputCancelPressed()) { if (Stage > -1) { Stage--; } else { GameScreen.RemoveScreen(this); } } }