protected override void UF_OnPlay(GameObject tar, Vector3 tarPos, Vector3 vecforward) { if (speed <= 0.01f) { Debugger.UF_Error("Speed is too samll,play failed!"); this.UF_Stop(); return; } if (m_Target == null) { this.UF_Stop(); return; } m_TimeTick = 0; m_SourcePos = this.position; //计算出总时间 float distance = Vector3.Distance(m_SourcePos, tar.transform.position); m_Duration = distance / speed; //设置角度指向 this.euler = new Vector3(0, MathX.UF_EulerAngle(vecforward).y, 0); //偏移幅度 m_trackOffset.x = offset.x * (Random.Range(1, 100) - 50.0f) / 50.0f; m_trackOffset.y = offset.y * (Random.Range(1, 50)) / 50.0f; m_Target = tar; m_CurTargetPos = m_Target.transform.position; EffectControl.UF_ResetTailRender(this.gameObject); }
public void UF_OnSyncUpdate() { if (!isPlaying || isPause) { return; } //if (useFixedEuler) // this.transform.eulerAngles = Vector3.zero; UF_UpdateFollow(); EffectControl.UF_Run(m_Effects, GTime.DeltaTime, GTime.UnscaleDeltaTime); if (life <= 0) { return; } if (m_LifeTickBuf < life) { m_LifeTickBuf += GTime.DeltaTime; } else { m_LifeTickBuf = life; isPlaying = false; if (autoRelease) { this.Release(); } } }
protected override void UF_OnPlay(GameObject tar, Vector3 tarPos, Vector3 vecforward) { if (speed <= 0.01f) { Debugger.UF_Error("Speed is too samll,play failed!"); m_IsPlaying = false; return; } vecforward.y = 0; m_Forward = vecforward.normalized; float len = Vector3.Distance(tarPos, this.position); tarPos = len * m_Forward + this.position; m_TarPosition = tarPos + tarOffset * m_Forward; if (inGround) m_TarPosition.y = 0; m_SorPosition = this.position; m_Distance = Vector3.Distance(tarPos, this.position); m_Duration = m_Distance / speed; m_DurationTick = 0; lastPosition = this.position; //设置角度指向 this.euler = new Vector3(0, MathX.UF_EulerAngle(this.position, tarPos).y, 0); EffectControl.UF_ResetTailRender(this.gameObject); }
public void UF_OnSyncUpdate() { if (m_IsPlay) { EffectControl.UF_Run(m_Effects, GTime.RunDeltaTime, GTime.RunDeltaTime); } }
public void UF_OnReset() { m_FollowTarget = null; isPlaying = false; this.size = 1.0f; sortingOrder = 0; EffectControl.UF_Reset(m_Effects); }
public void UF_Play() { isPlaying = true; m_LifeTickBuf = 0; this.gameObject.SetActive(true); UF_SetParticlesState(1); EffectControl.UF_Play(m_Effects); EffectControl.UF_ResetTailRender(this.gameObject); }
protected override void UF_OnPlay(GameObject tar, Vector3 tarPos, Vector3 vecforward) { if (speed <= 0.01f) { Debugger.UF_Error("Speed is too samll,play failed!"); m_IsPlaying = false; return; } tarPos.y = this.position.y; useReboundTimes = 0; lastPosition = this.position; //设置角度指向 this.euler = new Vector3(0, MathX.UF_EulerAngle(vecforward).y, 0); EffectControl.UF_ResetTailRender(this.gameObject); }
public EffectBase UF_FindEffect(string effectName) { return(EffectControl.UF_FindEffect(m_Effects, effectName)); }
public void UF_OnAwake() { EffectControl.UF_Init(m_Effects); }
public void UF_Continue() { isPause = false; UF_SetParticlesState(4); EffectControl.UF_Continue(m_Effects); }
public void UF_Pause() { isPause = true; UF_SetParticlesState(3); EffectControl.UF_Pause(m_Effects); }
public void UF_Stop() { isPlaying = false; UF_SetParticlesState(2); EffectControl.UF_Stop(m_Effects); }
public void UF_Stop() { m_IsPlay = false; EffectControl.UF_Stop(m_Effects); }
public void UF_Play() { m_IsPlay = true; EffectControl.UF_Play(m_Effects); }