Beispiel #1
0
        private bool HandleGameplayInputButtons(InputState input, Player cP)
        {
            PlayerIndex output;
            if (input.IsSelect(cP.PI, out output))
            {
                if (cP.selected == false && cP.hover.getOwner() == cP && cP.hover.canAddMove())
                {
                    cP.selected = true;
                    cP.origin = cP.hover;
                }
                else if (cP.selected == true)
                {
                    cP.selected = false;
                    if (cP.target == Player.Tgt.Self && cP.hover != cP.origin && cP.origin.canAddMove())
                    {
                        //cP.origin.transfer(cP.dest);
                        cP.dest = cP.hover;
                        movements.Add(new Movement(cP, cP.origin, cP.dest, Movement.Type.Transfer));
                    }
                    if (cP.target == Player.Tgt.Enemy && cP.origin.canAddMove())
                    {
                        //cP.origin.attack(cP.dest);
                        cP.dest = cP.hover;
                        movements.Add(new Movement(cP, cP.origin, cP.dest, Movement.Type.Attack));
                    }

                }
            }
            else if (input.IsMenuCancel(cP.PI, out output))
            {
                if (cP.selected == true)
                {
                    cP.selected = false;
                }
                else
                {
                    cP.hover.cancelOutgoing = true;
                    pruneMovements();
                }
            }
            else if (input.IsScrollLeft(cP.PI))
            {
                cP.decPower();
            }
            else if (input.IsScrollRight(cP.PI))
            {
                cP.incPower();
            }
            else if (input.IsUsePower(cP.PI))
            {
                if (cP.usePower())
                {
                    if (cP.curPower == Player.Power.Transfer)
                        transfer(cP);
                    else if (cP.curPower == Player.Power.Reinforce)
                        reinforce(cP);
                    else if (cP.curPower == Player.Power.Invincible)
                        invincible(cP);
                    else if (cP.curPower == Player.Power.Defect)
                        defect(cP, cP.hover);
                }
            }
            else
            {
                return false;
            }
            return true;
        }