private void ResetSrcMaterials(Material[] materials)
 {
     for (int i = 0; i < materials.Length; i++)
     {
         ActorHitEffectBase.SetHitValue(materials[i], 1f);
     }
 }
 private void SetHitValue(float value)
 {
     if (this.m_hitRenderer == null && this.m_hitRenderer.get_material())
     {
         return;
     }
     ActorHitEffectBase.SetHitValue(this.m_hitRenderer.get_material(), value);
 }
 public static void InitHitEffects(List <Renderer> shaderRenderers, List <ActorHitEffectBase> hitControls)
 {
     if (!SystemConfig.IsShaderEffectOn)
     {
         return;
     }
     if (shaderRenderers == null || shaderRenderers.get_Count() == 0)
     {
         return;
     }
     hitControls.Clear();
     for (int i = 0; i < shaderRenderers.get_Count(); i++)
     {
         if (!(shaderRenderers.get_Item(i) == null))
         {
             if (!LayerSystem.IsSpecialEffectLayers(shaderRenderers.get_Item(i).get_gameObject().get_layer()))
             {
                 for (int j = 0; j < shaderRenderers.get_Item(i).get_sharedMaterials().Length; j++)
                 {
                     Material material = shaderRenderers.get_Item(i).get_sharedMaterials()[j];
                     if (material != null && material.get_shader() != null)
                     {
                         ActorHitEffectBase actorHitEffectBase = null;
                         Shader             shader             = material.get_shader();
                         bool flag = false;
                         if (!flag)
                         {
                             int k = 0;
                             while (k < ShaderEffectUtils.HitShaders.Length)
                             {
                                 if (shader.get_name().Equals(ShaderEffectUtils.HitShaders[k]))
                                 {
                                     if (actorHitEffectBase != null && actorHitEffectBase is ActorHitEffect)
                                     {
                                         actorHitEffectBase.set_enabled(true);
                                         flag = true;
                                         break;
                                     }
                                     if (actorHitEffectBase != null)
                                     {
                                         actorHitEffectBase.set_enabled(false);
                                     }
                                     actorHitEffectBase = shaderRenderers.get_Item(i).get_gameObject().AddMissingComponent <ActorHitEffect>();
                                     flag = true;
                                     break;
                                 }
                                 else
                                 {
                                     k++;
                                 }
                             }
                         }
                         if (flag && actorHitEffectBase != null)
                         {
                             actorHitEffectBase.Init(shaderRenderers.get_Item(i));
                             hitControls.Add(actorHitEffectBase);
                             break;
                         }
                     }
                 }
             }
         }
     }
 }