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; } }
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); }