public void OnSceneGUI()
        {
            if (this.m_Modules == null || this.m_ParticleSystem == null)
            {
                return;
            }
            if (this.m_ParticleSystem.particleCount > 0)
            {
                ParticleSystemRenderer particleSystemRenderer = this.GetParticleSystemRenderer();
                EditorUtility.SetSelectedWireframeHidden(particleSystemRenderer, !ParticleEffectUI.m_ShowWireframe);
                if (ParticleEffectUI.m_ShowWireframe)
                {
                    ModuleUI particleSystemRendererModuleUI        = this.GetParticleSystemRendererModuleUI();
                    ParticleSystemRenderer particleSystemRenderer2 = this.GetParticleSystemRenderer();
                    if (particleSystemRendererModuleUI != null && particleSystemRendererModuleUI.enabled && particleSystemRenderer2.editorEnabled)
                    {
                        Vector3   extents   = particleSystemRenderer.bounds.extents;
                        Transform transform = Camera.current.transform;
                        Vector2   size      = new Vector2(0f, 0f);
                        Vector3[] array     = new Vector3[]
                        {
                            new Vector3(-1f, -1f, -1f),
                            new Vector3(-1f, -1f, 1f),
                            new Vector3(-1f, 1f, -1f),
                            new Vector3(-1f, 1f, 1f),
                            new Vector3(1f, -1f, -1f),
                            new Vector3(1f, -1f, 1f),
                            new Vector3(1f, 1f, -1f),
                            new Vector3(1f, 1f, 1f)
                        };
                        for (int i = 0; i < 8; i++)
                        {
                            size.x = Mathf.Max(size.x, Vector3.Dot(Vector3.Scale(array[i], extents), transform.right));
                            size.y = Mathf.Max(size.y, Vector3.Dot(Vector3.Scale(array[i], extents), transform.up));
                        }
                        Handles.RectangleCap(0, particleSystemRenderer.bounds.center, Camera.current.transform.rotation, size);
                    }
                }
            }
            this.UpdateProperties();
            InitialModuleUI initial = (InitialModuleUI)this.m_Modules[0];

            ModuleUI[] modules = this.m_Modules;
            for (int j = 0; j < modules.Length; j++)
            {
                ModuleUI moduleUI = modules[j];
                if (moduleUI != null && moduleUI.visibleUI && moduleUI.enabled)
                {
                    if (moduleUI.foldout)
                    {
                        moduleUI.OnSceneGUI(this.m_ParticleSystem, initial);
                    }
                }
            }
            this.ApplyProperties();
        }
        public void OnSceneGUI()
        {
            if (this.m_Modules == null || (Object)this.m_ParticleSystem == (Object)null)
            {
                return;
            }
            if (this.m_ParticleSystem.particleCount > 0)
            {
                ParticleSystemRenderer particleSystemRenderer1 = this.GetParticleSystemRenderer();
                EditorUtility.SetSelectedWireframeHidden((Renderer)particleSystemRenderer1, !ParticleEffectUI.m_ShowWireframe);
                if (ParticleEffectUI.m_ShowWireframe)
                {
                    ModuleUI rendererModuleUi = this.GetParticleSystemRendererModuleUI();
                    ParticleSystemRenderer particleSystemRenderer2 = this.GetParticleSystemRenderer();
                    if (rendererModuleUi != null && rendererModuleUi.enabled && particleSystemRenderer2.editorEnabled)
                    {
                        Vector3   extents      = particleSystemRenderer1.bounds.extents;
                        Transform transform    = Camera.current.transform;
                        Vector2   size         = new Vector2(0.0f, 0.0f);
                        Vector3[] vector3Array = new Vector3[8] {
                            new Vector3(-1f, -1f, -1f), new Vector3(-1f, -1f, 1f), new Vector3(-1f, 1f, -1f), new Vector3(-1f, 1f, 1f), new Vector3(1f, -1f, -1f), new Vector3(1f, -1f, 1f), new Vector3(1f, 1f, -1f), new Vector3(1f, 1f, 1f)
                        };
                        for (int index = 0; index < 8; ++index)
                        {
                            size.x = Mathf.Max(size.x, Vector3.Dot(Vector3.Scale(vector3Array[index], extents), transform.right));
                            size.y = Mathf.Max(size.y, Vector3.Dot(Vector3.Scale(vector3Array[index], extents), transform.up));
                        }
                        Handles.RectangleCap(0, particleSystemRenderer1.bounds.center, Camera.current.transform.rotation, size);
                    }
                }
            }
            this.UpdateProperties();
            InitialModuleUI module1 = (InitialModuleUI)this.m_Modules[0];

            foreach (ModuleUI module2 in this.m_Modules)
            {
                if (module2 != null && module2.visibleUI && (module2.enabled && module2.foldout))
                {
                    module2.OnSceneGUI(this.m_ParticleSystem, module1);
                }
            }
            this.ApplyProperties();
        }
示例#3
0
 public void OnSceneGUI()
 {
     if ((this.m_Modules != null) && (this.m_ParticleSystem != null))
     {
         if (this.m_ParticleSystem.particleCount > 0)
         {
             ParticleSystemRenderer particleSystemRenderer = this.GetParticleSystemRenderer();
             EditorUtility.SetSelectedWireframeHidden(particleSystemRenderer, !ParticleEffectUI.m_ShowWireframe);
             if (ParticleEffectUI.m_ShowWireframe)
             {
                 ModuleUI particleSystemRendererModuleUI = this.GetParticleSystemRendererModuleUI();
                 ParticleSystemRenderer renderer2        = this.GetParticleSystemRenderer();
                 if (((particleSystemRendererModuleUI != null) && particleSystemRendererModuleUI.enabled) && renderer2.editorEnabled)
                 {
                     Vector3   extents     = particleSystemRenderer.bounds.extents;
                     Transform transform   = Camera.current.transform;
                     Vector2   size        = new Vector2(0f, 0f);
                     Vector3[] vectorArray = new Vector3[] { new Vector3(-1f, -1f, -1f), new Vector3(-1f, -1f, 1f), new Vector3(-1f, 1f, -1f), new Vector3(-1f, 1f, 1f), new Vector3(1f, -1f, -1f), new Vector3(1f, -1f, 1f), new Vector3(1f, 1f, -1f), new Vector3(1f, 1f, 1f) };
                     for (int i = 0; i < 8; i++)
                     {
                         size.x = Mathf.Max(size.x, Vector3.Dot(Vector3.Scale(vectorArray[i], extents), transform.right));
                         size.y = Mathf.Max(size.y, Vector3.Dot(Vector3.Scale(vectorArray[i], extents), transform.up));
                     }
                     Handles.RectangleCap(0, particleSystemRenderer.bounds.center, Camera.current.transform.rotation, size);
                 }
             }
         }
         this.UpdateProperties();
         InitialModuleUI initial = (InitialModuleUI)this.m_Modules[0];
         foreach (ModuleUI eui3 in this.m_Modules)
         {
             if ((((eui3 != null) && eui3.visibleUI) && eui3.enabled) && eui3.foldout)
             {
                 eui3.OnSceneGUI(this.m_ParticleSystem, initial);
             }
         }
         this.ApplyProperties();
     }
 }