public override void Setup()
        {
            base.Setup();

            _originalMaterials = IFX_MaterialUtil.GetOriginalMaterials(gameObject);
            IFX_MaterialUtil.ReplaceMaterial(gameObject, Material);
        }
        public override void Run()
        {
            base.Run();

            //Revert
            IFX_InvokeUtil.RunLater(this, delegate
            {
                IFX_MaterialUtil.ReplaceMaterial(_originalMaterials);
                _originalMaterials.Clear();
            }, LifeTime);
        }
Пример #3
0
        public override void Stop()
        {
            base.Stop();

            var timeDiff = Time.time - _addedTime;

            if (timeDiff < LifeTime)
            {
                //call again
                IFX_InvokeUtil.RunLater(this, Stop, LifeTime - timeDiff);
                return;
            }

            IFX_MaterialUtil.ReplaceMaterial(_rendToMaterialsMap);
            _rendToMaterialsMap.Clear();
            _isMaterialAdded = false;
        }