Пример #1
0
    void UpdateFigureState()
    {
        if (CheckForFigureDeath())
        {
            figure_state = FIGURE_STATE.DEAD;
            // DESTROY THIS INSTACE?
        }

        switch (figure_state)
        {
        case FIGURE_STATE.IDLE:     { CheckForPlayerPickUp(); Anim.SetBool("Static", true); } break;

        case FIGURE_STATE.ACTIVE:   { FollowPlayer(); Anim.SetBool("Static", false); }        break;

        case FIGURE_STATE.DEAD:     { DestroyFigure(); }                                      break;
        }
    }
Пример #2
0
    bool CheckForPlayerPickUp()
    {
        bool ret = false;

        if (Physics2D.OverlapCircle(transform.position, player_collision_radius, m_player_layer))
        {
            figure_state = FIGURE_STATE.ACTIVE;

            transform.parent      = null;
            transform.position    = new Vector3(player_transform.position.x - position_behind_player, player_transform.position.y, player_transform.position.z);
            transform.eulerAngles = new Vector3(0.0f, 0.0f, 0.0f);

            player_controller.AddFigure();

            if (gameObject.tag.Equals("Mentor"))
            {
                manager.NextSector();
            }
        }

        return(ret);
    }