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;
        }