Beispiel #1
0
 void OnEnable()
 {
     if (_FxProxy != null)
     {
         _FxProxy.Active(EFxLODLevel.L3);
     }
 }
Beispiel #2
0
    public void DoRealPlay()
    {
        if (_RealFxGameObject == null)
        {
            return;
        }

        SetScale(RealScale);

        if (_FxProxy != null)
        {
            var lodLv = GFXConfig.Instance.GetFxLODLevel();
            _FxProxy.Active(lodLv);
        }

        if (_PlaySpeed > 0)
        {
            ChangePlaySpeed(_PlaySpeed);
        }

        // 是闪电链特效
        #region ArcReactor
        if (ArcReactor != null && ArcReactor.IsValid() && _FxProxy != null)
        {
            var arcComp = _FxProxy.GetArcReactor();
            if (null != arcComp)
            {
                arcComp.SetData(ArcReactor.StartTrans, ArcReactor.EndTrans);
                arcComp.SetActive(true);
            }
        }
        #endregion

        // 是预警特效
        #region EarlyWarning
        if (EntryPoint.Instance.DebugOptionShowProjector && EarlyWarning != null && EarlyWarning.IsValid() && _FxProxy != null)
        {
            var ew = _FxProxy.GetYujingProgressComp();
            if (null != ew)
            {
                ew.SetData(EarlyWarning.Scale, EarlyWarning.StartTime, EarlyWarning.Duration, EarlyWarning.Scale.x, EarlyWarning.Scale.z, EarlyWarning.DoNotUseProjector);
                ew.SetActive(true);
            }
        }
        #endregion

        // 特效Blur
        #region RadialBlurBoot
        if (RadialBlurBoot != null && RadialBlurBoot.IsValid())
        {
            EnableRadialBlur();
        }
        #endregion

        // 如果处于顿帧中
        if (_CorrectBluntSpeed > 0)
        {
            if (_FxProxy != null)
            {
                _FxProxy.Pause();
            }
        }
    }