public static TacticsSceneCamera.RenderSet[] GetRenderSets(GameObject[] gobjs, string[] shaders) { List <TacticsSceneCamera.RenderSet> renderSetList = new List <TacticsSceneCamera.RenderSet>(); for (int index = 0; index < gobjs.Length; ++index) { TacticsSceneCamera.RenderSet renderSet = TacticsSceneCamera.GetRenderSet(gobjs[index], shaders); if (renderSet != null) { renderSetList.Add(renderSet); } } return(renderSetList.ToArray()); }
private void UpdateAllRangeCamera() { for (int index1 = 0; index1 < this.m_AllRangeObj.groups.Length; ++index1) { TacticsSceneCamera.AllRangeObj.GroupObj group = this.m_AllRangeObj.groups[index1]; for (int index2 = 0; index2 < group.renders.Count; ++index2) { TacticsSceneCamera.RenderSet render = group.renders[index2]; bool flag = (double)group.alpha > 0.0; for (int index3 = 0; index3 < render.meshRenderers.Count; ++index3) { ((Renderer)render.meshRenderers[index3]).set_enabled(flag); } for (int index3 = 0; index3 < render.skinRenderers.Count; ++index3) { ((Renderer)render.meshRenderers[index3]).set_enabled(flag); } } } }
public static TacticsSceneCamera.RenderSet GetRenderSet(GameObject gobj, string[] shaders) { TacticsSceneCamera.RenderSet renderSet = new TacticsSceneCamera.RenderSet(); MeshRenderer[] componentsInChildren1 = (MeshRenderer[])gobj.GetComponentsInChildren <MeshRenderer>(); for (int index1 = 0; index1 < componentsInChildren1.Length; ++index1) { if (!Application.get_isPlaying()) { Material[] sharedMaterials = ((Renderer)componentsInChildren1[index1]).get_sharedMaterials(); if (sharedMaterials != null && sharedMaterials.Length > 0) { for (int index2 = 0; index2 < sharedMaterials.Length; ++index2) { if (TacticsSceneCamera.CheckMaterialShader(sharedMaterials[index2], shaders)) { renderSet.meshRenderers.Add(componentsInChildren1[index1]); renderSet.materials.Add(sharedMaterials[index2]); } } } else { Material[] materials = ((Renderer)componentsInChildren1[index1]).get_materials(); for (int index2 = 0; index2 < materials.Length; ++index2) { if (TacticsSceneCamera.CheckMaterialShader(materials[index2], shaders)) { renderSet.meshRenderers.Add(componentsInChildren1[index1]); renderSet.materials.Add(materials[index2]); } } } } else { Material[] materials = ((Renderer)componentsInChildren1[index1]).get_materials(); for (int index2 = 0; index2 < materials.Length; ++index2) { if (TacticsSceneCamera.CheckMaterialShader(materials[index2], shaders)) { renderSet.meshRenderers.Add(componentsInChildren1[index1]); renderSet.materials.Add(materials[index2]); } } } } SkinnedMeshRenderer[] componentsInChildren2 = (SkinnedMeshRenderer[])gobj.GetComponentsInChildren <SkinnedMeshRenderer>(); for (int index1 = 0; index1 < componentsInChildren2.Length; ++index1) { Material[] materials = ((Renderer)componentsInChildren2[index1]).get_materials(); for (int index2 = 0; index2 < materials.Length; ++index2) { if (TacticsSceneCamera.CheckMaterialShader(materials[index2], shaders)) { renderSet.skinRenderers.Add(componentsInChildren2[index1]); renderSet.materials.Add(materials[index2]); } } } if (renderSet.materials.Count == 0) { return((TacticsSceneCamera.RenderSet)null); } return(renderSet); }