Esempio n. 1
0
    // Use this for initialization
    void Start()
    {
        CombatActionGraph.GenerateGraph();

        // Init player
        playerData                 = new Actor();
        playerData.health          = 50;
        playerData.type            = ActorType.Player;
        playerData.objectReference = GameObject.Find("Player");
    }
Esempio n. 2
0
    public List <CombatAction> getAvailableCombatActions()
    {
        List <CombatAction>     actionList       = new List <CombatAction>();
        List <CombatActionType> potentialActions = CombatActionGraph.GetAvailableActions(combatState.prevAction);

        foreach (CombatActionType actionType in potentialActions)
        {
            CombatAction action = new CombatAction();
            switch (actionType)
            {
            case CombatActionType.Block:
                if (shield != null)
                {
                    action.InitBlock(shield, combatState.offBalanceLevel);
                }
                break;

            case CombatActionType.Parry:
                action.InitParry(weapon, combatState.weaponStyle, combatState.windUpLevel, combatState.offBalanceLevel);
                break;

            case CombatActionType.WindUp:
                if (combatState.windUpLevel < combatState.weaponStyle.maxWindUpDepth)
                {
                    action.InitWindUp(weapon, combatState.weaponStyle, combatState.windUpLevel);
                }
                break;

            case CombatActionType.SwitchStyle:
                action.InitSwitchStyle(weapon, combatState.windUpLevel);
                break;

            case CombatActionType.Swing:
                action.InitSwing(weapon, combatState.weaponStyle, combatState.targetArea, combatState.windUpLevel);
                break;

            case CombatActionType.Recover:
                action.InitRecover(combatState.offBalanceLevel);
                break;

            default:
                break;
            }
        }

        return(new List <CombatAction>());
    }