public void HandleInput(InputState input, int playerIndex) { Vector2 mousePosition = new Vector2(input.CurrentMouseState.X, input.CurrentMouseState.Y) / Camera2D.ResolutionScale; Point mouseP = new Point((int)mousePosition.X, (int)mousePosition.Y); mouseOverArmy = null; for (int i = 0; i < armies.Count; i++) { if (armies[i].MouseBounds.Contains(mouseP) &&armies[i].IsAlive && selectedArmy == null && armies[i].Shape == Shape.square #if WINDOWS_PHONE && input.TouchState.Count > 0 && input.TouchState[0].State == TouchLocationState.Pressed #endif ) { mouseOverArmy = armies[i]; break; } } #if WINDOWS if (input.CurrentMouseState.LeftButton == ButtonState.Pressed) #endif #if WINDOWS_PHONE if(input.TouchState.Count > 0 && (input.TouchState[0].State == TouchLocationState.Pressed || input.TouchState[0].State == TouchLocationState.Moved)) #endif { if (input.IsMouseLeftButtonClick() && mouseOverArmy != null) { selectedArmy = mouseOverArmy; mouseOverArmy = null; selectedArmy.Reset(); } if (selectedArmy != null) selectedArmy.AddPosition(mousePosition); } #if WINDOWS if (input.CurrentMouseState.LeftButton == ButtonState.Released #endif #if WINDOWS_PHONE if(input.TouchState.Count > 0 && input.TouchState[0].State == TouchLocationState.Released #endif || (selectedArmy != null && !selectedArmy.IsAlive)) selectedArmy = null; }
public void HandleInput(InputState input, int playerIndex) { Vector2 mousePosition = new Vector2(input.CurrentMouseState.X, input.CurrentMouseState.Y) / BitSitsGames.PhoneScale; Point mouseP = new Point((int)mousePosition.X, (int)mousePosition.Y); mouseOverArmy = null; for (int i = 0; i < armies.Count; i++) { if (armies[i].MouseBounds.Contains(mouseP) && armies[i].IsAlive && selectedArmy == null && armies[i].Shape == Shape.square) { mouseOverArmy = armies[i]; break; } } if (input.CurrentMouseState.LeftButton == ButtonState.Pressed) { if (input.IsLeftClicked() && mouseOverArmy != null) { selectedArmy = mouseOverArmy; mouseOverArmy = null; selectedArmy.Reset(); } if(selectedArmy!= null) selectedArmy.AddPosition(mousePosition); } if ((selectedArmy != null && input.LastMouseState.LeftButton == ButtonState.Pressed && input.CurrentMouseState.LeftButton == ButtonState.Released) || (selectedArmy != null && !selectedArmy.IsAlive)) selectedArmy = null; }