Esempio n. 1
0
    private void ExecuteAction(SlimeState state)
    {
        if (!canAct_)
        {
            slimeActor_.move(0f, 0f);
            return;
        }

        Vector2 distToPlayer;

        switch (state)
        {
        case SlimeState.ATTACK:
            if (!cooldown_)
            {
                StartCoroutine(Attack());
            }
            slimeActor_.move(0f, 0f);
            break;

        case SlimeState.MOVE_TO_PLAYER:
            distToPlayer = player_.position - transform.position;
            slimeActor_.move(distToPlayer.y, distToPlayer.x);
            break;

        case SlimeState.FLEE:
            distToPlayer = -(player_.position - transform.position);
            slimeActor_.move(distToPlayer.y, distToPlayer.x);
            break;

        default:
            slimeActor_.move(0f, 0f);
            break;
        }
    }
Esempio n. 2
0
    void handleInput()
    {
        float horzAxis = Input.GetAxisRaw("Horizontal");
        float vertAxis = Input.GetAxisRaw("Vertical");

        playerActions_.move(vertAxis, horzAxis);

        if (Input.GetKeyDown(KeyCode.Z))
        {
            zKey_.execute();
        }
        if (Input.GetKeyDown(KeyCode.X))
        {
            xKey_.execute();
        }
        if (Input.GetKeyDown(KeyCode.Space))
        {
            spaceKey_.execute();
        }
    }
Esempio n. 3
0
 public void execute()
 {
     actor_.move(vert_, horz_);
 }