void CheckState() { switch (m_state) { case State.MOVING: m_weapon.PointAtTarget(m_player.position); m_weapon.StabAtTarget(0.2f + m_randomStabThreshold * m_randomOffset, 0.3f + m_randomStabThreshold * m_randomOffset); MoveToPlayer(); break; case State.ATTACKING: if (!m_onCooldown) { Attack(); } break; case State.IDLE: break; case State.DYING: GetComponent <DeathEvent>().TriggerEvent(); Destroy(gameObject); break; default: break; } }