Exemplo n.º 1
0
    public void GetOrder()
    {
        //process system order first
        SystemOrder systemOder = characterIdentity.GetSystemOrder();

        gameSystemState ^= systemOder;
        if (systemOder != SystemOrder.NOTHING)
        {
            GetComponent <Basic>().mManager.allManager.uiManager.ProcessSystemOrder(gameSystemState);
        }

        //process gameplay order
        if (gameSystemState == SystemOrder.NOTHING)
        {
            GameObject target = FindTarget(); //woud be better put in lateupdate (after fixing physics)

            inputOrder    = characterIdentity.GetInputOrder();
            walkDirection = characterIdentity.GetWalkingDirection();
            sightRotation = characterIdentity.GetSightRotation(gameObject, target);
            attackOrder   = characterIdentity.GetAttackOrder();

            if (characterIdentity.GetThrowOrder())
            {
                ThrowHoldingItem();
            }
        }
        else
        {
            inputOrder    = InputOrder.stand;
            walkDirection = Vector3.zero;
            sightRotation = Vector3.zero;
            attackOrder   = -1;
        }
    }