Пример #1
0
 public void Set(StateManager states)
 {
     if (states.rb)
     {
         value = StateManager.InputButton.rb;
     }
     if (states.lb)
     {
         value = StateManager.InputButton.lb;
     }
     if (states.rt)
     {
         value = StateManager.InputButton.rt;
     }
     if (states.lt)
     {
         value = StateManager.InputButton.lt;
     }
 }
Пример #2
0
        public ItemActions GetTHItemActions(StateManager.InputButton b)
        {
            switch (b)
            {
            case StateManager.InputButton.rb:
                return(th_rb_Action);

            case StateManager.InputButton.rt:
                return(th_rt_Action);

            case StateManager.InputButton.lb:
                return(th_lb_Action);

            case StateManager.InputButton.lt:
                return(th_lt_Action);

            default:
                return(null);
            }
        }
Пример #3
0
        public override void Execute(StateManager states)
        {
            if (states.isTwoHanded)
            {
                TwoHandedAction(states);
                return;
            }
            ItemActions targetAction = null;
            bool        isMirror     = false;

            switch (inpButtonVariable.value)
            {
            case StateManager.InputButton.rb:
            case StateManager.InputButton.rt:
                if (isParryEnemy)
                {
                    bool success = isParryEnemy.CheckCondition(states);
                    if (success)
                    {
                        states.PlayAnimation("parry_attack", false);
                        return;
                    }
                }
                if (states.inventory.rightHandWeapon != states.inventory.unarmedWeapon)
                {
                    isMirror     = false;
                    targetAction = states.inventory.rightHandWeapon.GetItemActions(inpButtonVariable.value);
                }
                else
                {
                    if (states.inventory.leftHandWeapon != states.inventory.unarmedWeapon)
                    {
                        //rb +2 = lb
                        isMirror = true;
                        StateManager.InputButton newButton = (StateManager.InputButton)((int)inpButtonVariable.value + 2);
                        targetAction = states.inventory.rightHandWeapon.GetItemActions(newButton);
                    }
                    else
                    {
                        isMirror     = false;
                        targetAction = states.inventory.rightHandWeapon.GetItemActions(inpButtonVariable.value);
                    }
                }

                break;

            case StateManager.InputButton.lb:
            case StateManager.InputButton.lt:

                if (states.inventory.leftHandWeapon == states.inventory.unarmedWeapon)
                {
                    targetAction = states.inventory.rightHandWeapon.GetItemActions(inpButtonVariable.value);
                    isMirror     = false;
                }
                else
                {
                    if (!powerPosing)
                    {
                        //turn lb,lt input to rb,rt input
                        StateManager.InputButton newButton = (StateManager.InputButton)((int)inpButtonVariable.value - 2);
                        isMirror     = true;
                        targetAction = states.inventory.leftHandWeapon.GetItemActions(newButton);
                    }
                    else
                    {
                        isMirror     = true;
                        targetAction = states.inventory.rightHandWeapon.GetItemActions(inpButtonVariable.value);
                    }
                }
                break;

            default:
                break;
            }

            states.inventory.currentItemAction = targetAction;

            states.anim.SetBool("mirror", isMirror);
            if (targetAction != null)
            {
                targetAction.Execute(states);
            }
        }