public override void EnableMovement_F() { base.EnableMovement_F(); setCircularVel_F(); setForwardVel_F(); void setCircularVel_F() { CheckAndKillMovementT_F(m_CircularMovementT); float dir = (Random.Range(0, 2) == 0) ? -1 : 1; m_Velocity.x = m_CircularSpeedRange.CalcRandomValueWithinRange_F() * dir; m_CircularMovementT = DOTween.To(() => 0, val => { }, 0, m_CircularTimeRange.CalcRandomValueWithinRange_F()). OnComplete(setCircularVel_F); } void setForwardVel_F() { CheckAndKillMovementT_F(m_ForwardMovementT); float dir = (Random.Range(0, 2) == 0) ? -1 : 1; m_Velocity.z = m_ForwardSpeedRange.CalcRandomValueWithinRange_F() * dir; m_CircularMovementT = DOTween.To(() => 0, val => { }, 0, m_ForwardTimeRange.CalcRandomValueWithinRange_F()). OnComplete(setCircularVel_F); } }
public override void EnableMovement_F() { base.EnableMovement_F(); m_CenterPoint = m_CenterPoint.With(y: transform.position.y); m_Radius = (transform.position - m_CenterPoint).magnitude; //SetKinematic_F(false); setVel_F(); void setVel_F() { CheckAndKillMovementT_F(); m_Velocity = CalcRandomDir_F() * m_SpeedRange.CalcRandomValueWithinRange_F(); m_MovementT = DOTween.To(() => 0.0f, val => { }, 0.0f, m_TimeRange.CalcRandomValueWithinRange_F()).OnComplete(setVel_F); } }