public virtual void updateStage() { #region update navmesh agent // Move agent to coverPoint. if (!m_navMeshAgent.pathPending) { Vector3 velocity = m_navMeshAgent.desiredVelocity; if (!m_enableRun) { velocity = velocity.normalized; } else { velocity = velocity * 1.5f; } velocity = new Vector3(velocity.x, 0, velocity.z); m_selfAgent.moveCharacter(velocity); } #endregion #region Step update Logic if (m_timeFromLastStep > m_stepIntervalInSeconds) { m_timeFromLastStep = 0; stepUpdate(); } else { m_timeFromLastStep += Time.deltaTime; } #endregion }