protected void RunActionControl(int nPlayIndex, int nTransIndex) { NgUtil.LogDevelop("RunActionControl() - nPlayIndex " + nPlayIndex); CancelInvoke(); m_bCalledDelayCreate = false; // 沥瘤等 矫拌老 版快 框流捞档废 秦滴磊... ResumeTimeScale(); // Play --------------------------------------- m_bStartAliveAnimation = false; switch (nPlayIndex) { /*AutoRet*/ case 0: break; case 1: break; /*OneShot*/ case 2: SetTimeScale(m_fPlayToolbarTimes[nPlayIndex]); break; /*Repeat*/ case m_nRepeatIndex: case m_nRepeatIndex + 1: case m_nRepeatIndex + 2: case m_nRepeatIndex + 3: case m_nRepeatIndex + 4: { // repeat急琶捞搁.. 捞悼包访 可记阑 馋促. if (nPlayIndex != m_nPlayIndex) { nTransIndex = 0; } break; } } // Trans --------------------------------------- if (0 < nTransIndex) { // init multishot // if (m_nTransIndex != nTransIndex && (m_nTransIndex != 0 && nTransIndex != 0)) // m_nMultiShotCount = 1; float fTransHalfDist = (Camera.main != null ? (Vector3.Magnitude(Camera.main.transform.position) * 0.8f) : 1) * m_fTransRate; GameObject instEffectObject = FxmTestMain.inst.GetInstanceEffectObject(); GameObject simRoot = NgObject.CreateGameObject(instEffectObject.transform.parent.gameObject, "simulate"); FxmTestSimulate simComponent = simRoot.AddComponent <FxmTestSimulate>(); instEffectObject.transform.parent = simRoot.transform; FxmTestMain.inst.ChangeRoot_InstanceEffectObject(simRoot); simComponent.Init(this, m_nMultiShotCount); switch (nTransIndex) { case 1: // Move { simComponent.SimulateMove(m_nTransAxis, fTransHalfDist, m_fDistPerTime, (m_nRotateIndex == 0)); break; } case 2: // scale { simComponent.SimulateScale(m_nTransAxis, fTransHalfDist * 0.3f, m_fStartPosition, m_fDistPerTime, (m_nRotateIndex == 0)); break; } case 3: // Arc { simComponent.SimulateArc(fTransHalfDist * 0.7f, m_fDistPerTime, (m_nRotateIndex == 0)); break; } case 4: // fall { simComponent.SimulateFall(fTransHalfDist * 0.7f, m_fDistPerTime, (m_nRotateIndex == 0)); break; } case 5: // raise { simComponent.SimulateRaise(fTransHalfDist * 0.7f, m_fDistPerTime, (m_nRotateIndex == 0)); break; } case 6: // circle { simComponent.SimulateCircle(fTransHalfDist * 0.5f, m_fDistPerTime, (m_nRotateIndex == 0)); break; } case 7: // tornado { simComponent.SimulateTornado(fTransHalfDist * 0.3f, fTransHalfDist * 0.7f, m_fDistPerTime, (m_nRotateIndex == 0)); break; } } } // 捞悼贸府吝捞搁... 磊悼馆汗登骨肺 扁粮repeat可记篮 馋促. if (0 < nTransIndex) { if (m_nRepeatIndex <= nPlayIndex) { nPlayIndex = 0; } } // 弥练 搬沥蔼 历厘 m_nPlayIndex = nPlayIndex; m_nTransIndex = nTransIndex; if (IsRepeat()) { m_fCreateTime = Time.time; } }
protected void RunActionControl(int nPlayIndex, int nTransIndex) { NgUtil.LogDevelop("RunActionControl() - nPlayIndex " + nPlayIndex); base.CancelInvoke(); this.m_bCalledDelayCreate = false; this.ResumeTimeScale(); this.m_bStartAliveAnimation = false; switch (nPlayIndex) { case 2: this.SetTimeScale(this.m_fPlayToolbarTimes[nPlayIndex]); break; case 3: case 4: case 5: case 6: case 7: if (nPlayIndex != this.m_nPlayIndex) { nTransIndex = 0; } break; } if (0 < nTransIndex) { float num = ((!(Camera.main != null)) ? 1f : (Vector3.Magnitude(Camera.main.transform.position) * 0.8f)) * this.m_fTransRate; GameObject instanceEffectObject = FxmTestMain.inst.GetInstanceEffectObject(); GameObject gameObject = NgObject.CreateGameObject(instanceEffectObject.transform.parent.gameObject, "simulate"); FxmTestSimulate fxmTestSimulate = gameObject.AddComponent <FxmTestSimulate>(); instanceEffectObject.transform.parent = gameObject.transform; FxmTestMain.inst.ChangeRoot_InstanceEffectObject(gameObject); fxmTestSimulate.Init(this, this.m_nMultiShotCount); switch (nTransIndex) { case 1: fxmTestSimulate.SimulateMove(this.m_nTransAxis, num, this.m_fDistPerTime, this.m_nRotateIndex == 0); break; case 2: fxmTestSimulate.SimulateScale(this.m_nTransAxis, num * 0.3f, this.m_fStartPosition, this.m_fDistPerTime, this.m_nRotateIndex == 0); break; case 3: fxmTestSimulate.SimulateArc(num * 0.7f, this.m_fDistPerTime, this.m_nRotateIndex == 0); break; case 4: fxmTestSimulate.SimulateFall(num * 0.7f, this.m_fDistPerTime, this.m_nRotateIndex == 0); break; case 5: fxmTestSimulate.SimulateRaise(num * 0.7f, this.m_fDistPerTime, this.m_nRotateIndex == 0); break; case 6: fxmTestSimulate.SimulateCircle(num * 0.5f, this.m_fDistPerTime, this.m_nRotateIndex == 0); break; case 7: fxmTestSimulate.SimulateTornado(num * 0.3f, num * 0.7f, this.m_fDistPerTime, this.m_nRotateIndex == 0); break; } } if (0 < nTransIndex && 3 <= nPlayIndex) { nPlayIndex = 0; } this.m_nPlayIndex = nPlayIndex; this.m_nTransIndex = nTransIndex; if (this.IsRepeat()) { this.m_fCreateTime = Time.time; } }