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); }
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; }