Exemplo n.º 1
0
    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);
        }
    }
Exemplo n.º 2
0
    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);
        }
    }