Пример #1
0
    void MoveToGuide()
    {
        var pTarget = GetGuideTarget();

        if (null == pTarget)
        {
            return;
        }

        var fAngle = m_pInfo.m_fGuideAngleSpeed;

        if (true == m_pInfo.m_bIsUseCuvGuideAngleSpeed)
        {
            fAngle = m_pInfo.m_pGuideCuvAngleSpeed.Evaluate(GetLeftTimer());
        }

        var fSpeed = GetMoveSpeed();

        {
            SetLocalPosition(
                SHPhysics.GuidedMissile(
                    GetLocalPosition(), ref m_vDirection, pTarget.transform.localPosition, fAngle, fSpeed));
        }
        SetSpeed(fSpeed);
    }
Пример #2
0
    void MoveToNormal()
    {
        var vSpeed = m_vDirection * GetMoveSpeed();

        {
            SetLocalPosition(
                SHPhysics.CalculationEuler(
                    m_pInfo.m_vForce, GetLocalPosition(), ref vSpeed, m_pInfo.m_fMass));
        }
        SetSpeed(vSpeed);
    }
Пример #3
0
    private void OnUpdateToDie()
    {
        var vSpeed = GetSpeed();

        {
            SetLocalPosition(
                SHPhysics.CalculationEuler(
                    SHPhysics.m_vGravity * 500.0f, GetLocalPosition(), ref vSpeed, 1.0f));
        }
        SetSpeed(vSpeed);

        SetLocalScale(GetLocalScale() * 0.99f);

        if (-1000.0f > GetLocalPosition().y)
        {
            SetActive(false);
        }
    }