public static void OnRecycleTickObj(GameObject obj, float[] objSize, Vector3[] objScale)
 {
     if (objSize != null && objSize.Length > 0)
     {
         ParticleSystem[] componentsInChildren = obj.GetComponentsInChildren <ParticleSystem>(true);
         int num = 0;
         while (num < objSize.Length && num < componentsInChildren.Length)
         {
             componentsInChildren[num].startSize = objSize[num];
             num++;
         }
     }
     if (objScale != null && objScale.Length > 0)
     {
         MeshRenderer[] componentsInChildren2 = obj.GetComponentsInChildren <MeshRenderer>(true);
         int            num2 = 0;
         while (num2 < objScale.Length && num2 < componentsInChildren2.Length)
         {
             componentsInChildren2[num2].transform.localScale = objScale[num2];
             num2++;
         }
     }
     ParticleHelper.DecParticleActiveNumber();
     if (FogOfWar.enable)
     {
         Singleton <GameFowManager> .instance.m_collector.RemoveVirtualParentParticle(obj);
     }
 }
 public static void OnRecycleTickObj(GameObject obj)
 {
     ParticleHelper.DecParticleActiveNumber();
     if (FogOfWar.enable)
     {
         Singleton <GameFowManager> .get_instance().m_collector.RemoveVirtualParentParticle(obj);
     }
 }
        public override void Leave(Action _action, Track _track)
        {
            if (this.particleObject != null)
            {
                if (this.iDelayDisappearTime > 0)
                {
                    ParticleSystemPoolComponent cachedComponent = Singleton <CGameObjectPool> .GetInstance().GetCachedComponent <ParticleSystemPoolComponent>(this.particleObject, false);

                    if (null != cachedComponent)
                    {
                        ParticleSystemPoolComponent.ParticleSystemCache[] cache = cachedComponent.cache;
                        if (cache != null)
                        {
                            for (int i = 0; i < cache.Length; i++)
                            {
                                cache[i].par.enableEmission = false;
                            }
                        }
                        MonoSingleton <SceneMgr> .GetInstance().AddToRoot(this.particleObject, SceneObjType.ActionRes);

                        Singleton <CGameObjectPool> .GetInstance().RecycleGameObjectDelay(this.particleObject, this.iDelayDisappearTime, new CGameObjectPool.OnDelayRecycleDelegate(TriggerParticle.OnDelayRecycleParticleCallback), this.particleSystemSize, null);
                    }
                }
                else
                {
                    if (FogOfWar.enable)
                    {
                        Singleton <GameFowManager> .instance.m_collector.RemoveVirtualParentParticle(this.particleObject);
                    }
                    if (this.particleSystemSize != null && this.particleSystem != null)
                    {
                        int num = 0;
                        while (num < this.particleSystemSize.Length && num < this.particleSystem.Length)
                        {
                            this.particleSystem[num].startSize = this.particleSystemSize[num];
                            num++;
                        }
                    }
                    if (this.particleMeshRenderScale != null && this.particleMeshRender != null)
                    {
                        int num2 = 0;
                        while (num2 < this.particleMeshRenderScale.Length && num2 < this.particleMeshRender.Length)
                        {
                            this.particleMeshRender[num2].transform.localScale = this.particleMeshRenderScale[num2];
                            num2++;
                        }
                    }
                    this.particleTransform.position = new Vector3(10000f, 10000f, 10000f);
                    Singleton <CGameObjectPool> .GetInstance().RecycleGameObject(this.particleObject);
                }
                ParticleHelper.DecParticleActiveNumber();
                if (this.applyActionSpeedToParticle)
                {
                    _action.RemoveTempObject(Action.PlaySpeedAffectedType.ePSAT_Fx, this.particleObject);
                }
            }
        }
示例#4
0
        public override void Leave(Action _action, Track _track)
        {
            if (this.particleObject != null)
            {
                this.particleObject.transform.position = new Vector3(10000f, 10000f, 10000f);
                Singleton <CGameObjectPool> .GetInstance().RecycleGameObject(this.particleObject);

                ParticleHelper.DecParticleActiveNumber();
                if (this.applyActionSpeedToParticle)
                {
                    _action.RemoveTempObject(Action.PlaySpeedAffectedType.ePSAT_Fx, this.particleObject);
                }
            }
        }
示例#5
0
        public override void Leave(AGE.Action _action, Track _track)
        {
            if (this.particleObject != null)
            {
                if (this.iDelayDisappearTime > 0)
                {
                    MonoSingleton <SceneMgr> .GetInstance().AddToRoot(this.particleObject, SceneObjType.ActionRes);

                    Singleton <CGameObjectPool> .GetInstance().RecycleGameObjectDelay(this.particleObject, this.iDelayDisappearTime, new CGameObjectPool.OnDelayRecycleDelegate(TriggerParticle.OnDelayRecycleParticleCallback));
                }
                else
                {
                    this.particleObject.transform.position = new Vector3(10000f, 10000f, 10000f);
                    Singleton <CGameObjectPool> .GetInstance().RecycleGameObject(this.particleObject);
                }
                ParticleHelper.DecParticleActiveNumber();
                if (this.applyActionSpeedToParticle)
                {
                    _action.RemoveTempObject(AGE.Action.PlaySpeedAffectedType.ePSAT_Fx, this.particleObject);
                }
            }
        }
示例#6
0
 public static void OnRecycleTickObj(GameObject obj)
 {
     ParticleHelper.DecParticleActiveNumber();
 }