public override void OnInspectorGUI(ParticleSystem s) { if (UVModuleUI.s_Texts == null) { UVModuleUI.s_Texts = new UVModuleUI.Texts(); } ModuleUI.GUIIntDraggableX2(UVModuleUI.s_Texts.tiles, UVModuleUI.s_Texts.tilesX, this.m_TilesX, UVModuleUI.s_Texts.tilesY, this.m_TilesY); int num = ModuleUI.GUIPopup(UVModuleUI.s_Texts.animation, this.m_AnimationType, UVModuleUI.s_Texts.types); if (num == 1) { ModuleUI.GUIToggle(UVModuleUI.s_Texts.randomRow, this.m_RandomRow); if (!this.m_RandomRow.boolValue) { ModuleUI.GUIInt(UVModuleUI.s_Texts.row, this.m_RowIndex); } } if (num == 1) { this.m_FrameOverTime.m_RemapValue = (float)this.m_TilesX.intValue; this.m_StartFrame.m_RemapValue = (float)this.m_TilesX.intValue; } if (num == 0) { this.m_FrameOverTime.m_RemapValue = (float)(this.m_TilesX.intValue * this.m_TilesY.intValue); this.m_StartFrame.m_RemapValue = (float)(this.m_TilesX.intValue * this.m_TilesY.intValue - 1); } ModuleUI.GUIMinMaxCurve(UVModuleUI.s_Texts.frameOverTime, this.m_FrameOverTime); ModuleUI.GUIMinMaxCurve(UVModuleUI.s_Texts.startFrame, this.m_StartFrame); ModuleUI.GUIFloat(UVModuleUI.s_Texts.cycles, this.m_Cycles); this.m_UVChannelMask.intValue = (int)((UVChannelFlags)ModuleUI.GUIEnumMask(UVModuleUI.s_Texts.uvChannelMask, (UVChannelFlags)this.m_UVChannelMask.intValue)); }
public override void OnInspectorGUI(InitialModuleUI initial) { if (CustomDataModuleUI.s_Texts == null) { CustomDataModuleUI.s_Texts = new CustomDataModuleUI.Texts(); } for (int i = 0; i < 2; i++) { GUILayout.BeginVertical("Custom" + (i + 1), GUI.skin.window, new GUILayoutOption[0]); CustomDataModuleUI.Mode mode = (CustomDataModuleUI.Mode)ModuleUI.GUIPopup(CustomDataModuleUI.s_Texts.mode, this.m_Modes[i], CustomDataModuleUI.s_Texts.modes, new GUILayoutOption[0]); if (mode == CustomDataModuleUI.Mode.Vector) { int num = Mathf.Min(ModuleUI.GUIInt(CustomDataModuleUI.s_Texts.vectorComponentCount, this.m_VectorComponentCount[i], new GUILayoutOption[0]), 4); for (int j = 0; j < num; j++) { ModuleUI.GUIMinMaxCurve(CustomDataModuleUI.s_Texts.components[j], this.m_Vectors[i, j], new GUILayoutOption[0]); } } else if (mode == CustomDataModuleUI.Mode.Color) { base.GUIMinMaxGradient(CustomDataModuleUI.s_Texts.color, this.m_Colors[i], true, new GUILayoutOption[0]); } GUILayout.EndVertical(); } }
public override void OnInspectorGUI(ParticleSystem s) { if (LightsModuleUI.s_Texts == null) { LightsModuleUI.s_Texts = new LightsModuleUI.Texts(); } ModuleUI.GUIObject(LightsModuleUI.s_Texts.light, this.m_Light, new GUILayoutOption[0]); ModuleUI.GUIFloat(LightsModuleUI.s_Texts.ratio, this.m_Ratio, new GUILayoutOption[0]); ModuleUI.GUIToggle(LightsModuleUI.s_Texts.randomDistribution, this.m_RandomDistribution, new GUILayoutOption[0]); ModuleUI.GUIToggle(LightsModuleUI.s_Texts.color, this.m_UseParticleColor, new GUILayoutOption[0]); ModuleUI.GUIToggle(LightsModuleUI.s_Texts.range, this.m_SizeAffectsRange, new GUILayoutOption[0]); ModuleUI.GUIToggle(LightsModuleUI.s_Texts.intensity, this.m_AlphaAffectsIntensity, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(LightsModuleUI.s_Texts.rangeCurve, this.m_Range, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(LightsModuleUI.s_Texts.intensityCurve, this.m_Intensity, new GUILayoutOption[0]); ModuleUI.GUIInt(LightsModuleUI.s_Texts.maxLights, this.m_MaxLights, new GUILayoutOption[0]); if (this.m_Light.objectReferenceValue) { Light light = (Light)this.m_Light.objectReferenceValue; if (light.type != LightType.Point && light.type != LightType.Spot) { GUIContent gUIContent = EditorGUIUtility.TextContent("Only point and spot lights are supported on particles."); EditorGUILayout.HelpBox(gUIContent.text, MessageType.Warning, true); } } }
public override void OnInspectorGUI(ParticleSystem s) { if (UVModuleUI.s_Texts == null) { UVModuleUI.s_Texts = new UVModuleUI.Texts(); } ModuleUI.GUIIntDraggableX2(UVModuleUI.s_Texts.tiles, UVModuleUI.s_Texts.tilesX, this.m_TilesX, UVModuleUI.s_Texts.tilesY, this.m_TilesY); int num1 = ModuleUI.GUIPopup(UVModuleUI.s_Texts.animation, this.m_AnimationType, UVModuleUI.s_Texts.types); if (num1 == 1) { ModuleUI.GUIToggle(UVModuleUI.s_Texts.randomRow, this.m_RandomRow); if (!this.m_RandomRow.boolValue) { ModuleUI.GUIInt(UVModuleUI.s_Texts.row, this.m_RowIndex); } } if (num1 == 1) { this.m_FrameOverTime.m_RemapValue = (float)this.m_TilesX.intValue; } if (num1 == 0) { this.m_FrameOverTime.m_RemapValue = (float)(this.m_TilesX.intValue * this.m_TilesY.intValue); } ModuleUI.GUIMinMaxCurve(UVModuleUI.s_Texts.frameOverTime, this.m_FrameOverTime); double num2 = (double)ModuleUI.GUIFloat(UVModuleUI.s_Texts.cycles, this.m_Cycles); }
public override void OnInspectorGUI(InitialModuleUI initial) { int num = ModuleUI.GUIPopup(UVModuleUI.s_Texts.mode, this.m_Mode, UVModuleUI.s_Texts.modes, new GUILayoutOption[0]); if (!this.m_Mode.hasMultipleDifferentValues) { if (num == 0) { ModuleUI.GUIIntDraggableX2(UVModuleUI.s_Texts.tiles, UVModuleUI.s_Texts.tilesX, this.m_TilesX, UVModuleUI.s_Texts.tilesY, this.m_TilesY, new GUILayoutOption[0]); int num2 = ModuleUI.GUIPopup(UVModuleUI.s_Texts.animation, this.m_AnimationType, UVModuleUI.s_Texts.types, new GUILayoutOption[0]); if (num2 == 1) { ModuleUI.GUIToggle(UVModuleUI.s_Texts.randomRow, this.m_RandomRow, new GUILayoutOption[0]); if (!this.m_RandomRow.boolValue) { ModuleUI.GUIInt(UVModuleUI.s_Texts.row, this.m_RowIndex, new GUILayoutOption[0]); } this.m_FrameOverTime.m_RemapValue = (float)this.m_TilesX.intValue; this.m_StartFrame.m_RemapValue = (float)this.m_TilesX.intValue; } else { this.m_FrameOverTime.m_RemapValue = (float)(this.m_TilesX.intValue * this.m_TilesY.intValue); this.m_StartFrame.m_RemapValue = (float)(this.m_TilesX.intValue * this.m_TilesY.intValue); } } else { this.DoListOfSpritesGUI(); this.ValidateSpriteList(); this.m_FrameOverTime.m_RemapValue = (float)this.m_Sprites.arraySize; this.m_StartFrame.m_RemapValue = (float)this.m_Sprites.arraySize; } ModuleUI.GUIMinMaxCurve(UVModuleUI.s_Texts.frameOverTime, this.m_FrameOverTime, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(UVModuleUI.s_Texts.startFrame, this.m_StartFrame, new GUILayoutOption[0]); } ModuleUI.GUIFloat(UVModuleUI.s_Texts.cycles, this.m_Cycles, new GUILayoutOption[0]); bool disabled = false; ParticleSystem[] particleSystems = this.m_ParticleSystemUI.m_ParticleSystems; for (int i = 0; i < particleSystems.Length; i++) { ParticleSystem particleSystem = particleSystems[i]; ParticleSystemRenderer component = particleSystem.GetComponent <ParticleSystemRenderer>(); if (component != null && component.renderMode == ParticleSystemRenderMode.Mesh) { disabled = true; break; } } using (new EditorGUI.DisabledScope(disabled)) { ModuleUI.GUIFloat(UVModuleUI.s_Texts.flipU, this.m_FlipU, new GUILayoutOption[0]); ModuleUI.GUIFloat(UVModuleUI.s_Texts.flipV, this.m_FlipV, new GUILayoutOption[0]); } ModuleUI.GUIEnumMaskUVChannelFlags(UVModuleUI.s_Texts.uvChannelMask, this.m_UVChannelMask, new GUILayoutOption[0]); }
public override void OnInspectorGUI(ParticleSystem s) { if (RendererModuleUI.s_Texts == null) { RendererModuleUI.s_Texts = new RendererModuleUI.Texts(); } RendererModuleUI.RenderMode intValue = (RendererModuleUI.RenderMode) this.m_RenderMode.intValue; RendererModuleUI.RenderMode renderMode = (RendererModuleUI.RenderMode)ModuleUI.GUIPopup(RendererModuleUI.s_Texts.renderMode, this.m_RenderMode, RendererModuleUI.s_Texts.particleTypes); if (renderMode == RendererModuleUI.RenderMode.Mesh) { EditorGUI.indentLevel++; this.DoListOfMeshesGUI(); EditorGUI.indentLevel--; if (intValue != RendererModuleUI.RenderMode.Mesh && this.m_Meshes[0].objectReferenceInstanceIDValue == 0) { this.m_Meshes[0].objectReferenceValue = Resources.GetBuiltinResource(typeof(Mesh), "Cube.fbx"); } } else if (renderMode == RendererModuleUI.RenderMode.Stretch3D) { EditorGUI.indentLevel++; ModuleUI.GUIFloat(RendererModuleUI.s_Texts.cameraSpeedScale, this.m_CameraVelocityScale); ModuleUI.GUIFloat(RendererModuleUI.s_Texts.speedScale, this.m_VelocityScale); ModuleUI.GUIFloat(RendererModuleUI.s_Texts.lengthScale, this.m_LengthScale); EditorGUI.indentLevel--; } if (renderMode != RendererModuleUI.RenderMode.Mesh) { ModuleUI.GUIFloat(RendererModuleUI.s_Texts.normalDirection, this.m_NormalDirection); } if (this.m_Material != null) { ModuleUI.GUIObject(RendererModuleUI.s_Texts.material, this.m_Material); } ModuleUI.GUIPopup(RendererModuleUI.s_Texts.sortMode, this.m_SortMode, RendererModuleUI.s_Texts.sortTypes); ModuleUI.GUIFloat(RendererModuleUI.s_Texts.sortingFudge, this.m_SortingFudge); ModuleUI.GUIPopup(RendererModuleUI.s_Texts.castShadows, this.m_CastShadows, this.m_CastShadows.enumDisplayNames); using (new EditorGUI.DisabledScope(SceneView.IsUsingDeferredRenderingPath())) { ModuleUI.GUIToggle(RendererModuleUI.s_Texts.receiveShadows, this.m_ReceiveShadows); } if (renderMode != RendererModuleUI.RenderMode.Mesh) { ModuleUI.GUIFloat(RendererModuleUI.s_Texts.minParticleSize, this.m_MinParticleSize); ModuleUI.GUIFloat(RendererModuleUI.s_Texts.maxParticleSize, this.m_MaxParticleSize); } EditorGUILayout.Space(); EditorGUILayout.SortingLayerField(RendererModuleUI.s_Texts.sortingLayer, this.m_SortingLayerID, ParticleSystemStyles.Get().popup, ParticleSystemStyles.Get().label); ModuleUI.GUIInt(RendererModuleUI.s_Texts.sortingOrder, this.m_SortingOrder); if (renderMode == RendererModuleUI.RenderMode.Billboard) { ModuleUI.GUIPopup(RendererModuleUI.s_Texts.space, this.m_RenderAlignment, RendererModuleUI.s_Texts.spaces); } ModuleUI.GUIVector3Field(RendererModuleUI.s_Texts.pivot, this.m_Pivot); this.m_Probes.OnGUI(null, s.GetComponent <Renderer>(), true); }
public override void OnInspectorGUI(ParticleSystem s) { if (s_Texts == null) { s_Texts = new Texts(); } RenderMode intValue = (RenderMode)this.m_RenderMode.intValue; RenderMode mode2 = (RenderMode)ModuleUI.GUIPopup(s_Texts.renderMode, this.m_RenderMode, s_Texts.particleTypes); switch (mode2) { case RenderMode.Mesh: EditorGUI.indentLevel++; this.DoListOfMeshesGUI(); EditorGUI.indentLevel--; if ((intValue != RenderMode.Mesh) && (this.m_Meshes[0].objectReferenceInstanceIDValue == 0)) { this.m_Meshes[0].objectReferenceValue = Resources.GetBuiltinResource(typeof(Mesh), "Cube.fbx"); } break; case RenderMode.Stretch3D: EditorGUI.indentLevel++; ModuleUI.GUIFloat(s_Texts.cameraSpeedScale, this.m_CameraVelocityScale); ModuleUI.GUIFloat(s_Texts.speedScale, this.m_VelocityScale); ModuleUI.GUIFloat(s_Texts.lengthScale, this.m_LengthScale); EditorGUI.indentLevel--; break; } if (mode2 != RenderMode.Mesh) { ModuleUI.GUIFloat(s_Texts.normalDirection, this.m_NormalDirection); } if (this.m_Material != null) { ModuleUI.GUIObject(s_Texts.material, this.m_Material); } ModuleUI.GUIPopup(s_Texts.sortMode, this.m_SortMode, s_Texts.sortTypes); ModuleUI.GUIFloat(s_Texts.sortingFudge, this.m_SortingFudge); ModuleUI.GUIPopup(s_Texts.castShadows, this.m_CastShadows, this.m_CastShadows.enumDisplayNames); EditorGUI.BeginDisabledGroup(SceneView.IsUsingDeferredRenderingPath()); ModuleUI.GUIToggle(s_Texts.receiveShadows, this.m_ReceiveShadows); EditorGUI.EndDisabledGroup(); ModuleUI.GUIFloat(s_Texts.minParticleSize, this.m_MinParticleSize); ModuleUI.GUIFloat(s_Texts.maxParticleSize, this.m_MaxParticleSize); EditorGUILayout.Space(); EditorGUILayout.SortingLayerField(s_Texts.sortingLayer, this.m_SortingLayerID, ParticleSystemStyles.Get().popup, ParticleSystemStyles.Get().label); ModuleUI.GUIInt(s_Texts.sortingOrder, this.m_SortingOrder); if (mode2 == RenderMode.Billboard) { ModuleUI.GUIPopup(s_Texts.space, this.m_RenderAlignment, s_Texts.spaces); } EditorGUILayout.PropertyField(this.m_Pivot, s_Texts.pivot, new GUILayoutOption[0]); this.m_Probes.OnGUI(null, s.GetComponent <Renderer>(), true); }
public override void OnInspectorGUI(InitialModuleUI initial) { ParticleSystemTrailMode particleSystemTrailMode = (ParticleSystemTrailMode)ModuleUI.GUIPopup(TrailModuleUI.s_Texts.mode, this.m_Mode, TrailModuleUI.s_Texts.trailModeOptions, new GUILayoutOption[0]); if (!this.m_Mode.hasMultipleDifferentValues) { if (particleSystemTrailMode == ParticleSystemTrailMode.PerParticle) { ModuleUI.GUIFloat(TrailModuleUI.s_Texts.ratio, this.m_Ratio, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(TrailModuleUI.s_Texts.lifetime, this.m_Lifetime, new GUILayoutOption[0]); ModuleUI.GUIFloat(TrailModuleUI.s_Texts.minVertexDistance, this.m_MinVertexDistance, new GUILayoutOption[0]); ModuleUI.GUIToggle(TrailModuleUI.s_Texts.worldSpace, this.m_WorldSpace, new GUILayoutOption[0]); ModuleUI.GUIToggle(TrailModuleUI.s_Texts.dieWithParticles, this.m_DieWithParticles, new GUILayoutOption[0]); } else { ModuleUI.GUIInt(TrailModuleUI.s_Texts.ribbonCount, this.m_RibbonCount, new GUILayoutOption[0]); ModuleUI.GUIToggle(TrailModuleUI.s_Texts.splitSubEmitterRibbons, this.m_SplitSubEmitterRibbons, new GUILayoutOption[0]); } } ModuleUI.GUIPopup(TrailModuleUI.s_Texts.textureMode, this.m_TextureMode, TrailModuleUI.s_Texts.textureModeOptions, new GUILayoutOption[0]); ModuleUI.GUIToggle(TrailModuleUI.s_Texts.sizeAffectsWidth, this.m_SizeAffectsWidth, new GUILayoutOption[0]); if (!this.m_Mode.hasMultipleDifferentValues) { if (particleSystemTrailMode == ParticleSystemTrailMode.PerParticle) { ModuleUI.GUIToggle(TrailModuleUI.s_Texts.sizeAffectsLifetime, this.m_SizeAffectsLifetime, new GUILayoutOption[0]); } } ModuleUI.GUIToggle(TrailModuleUI.s_Texts.inheritParticleColor, this.m_InheritParticleColor, new GUILayoutOption[0]); base.GUIMinMaxGradient(TrailModuleUI.s_Texts.colorOverLifetime, this.m_ColorOverLifetime, false, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(TrailModuleUI.s_Texts.widthOverTrail, this.m_WidthOverTrail, new GUILayoutOption[0]); base.GUIMinMaxGradient(TrailModuleUI.s_Texts.colorOverTrail, this.m_ColorOverTrail, false, new GUILayoutOption[0]); ModuleUI.GUIToggle(TrailModuleUI.s_Texts.generateLightingData, this.m_GenerateLightingData, new GUILayoutOption[0]); ParticleSystem[] particleSystems = this.m_ParticleSystemUI.m_ParticleSystems; for (int i = 0; i < particleSystems.Length; i++) { ParticleSystem particleSystem = particleSystems[i]; if (particleSystem.trails.enabled) { ParticleSystemRenderer component = particleSystem.GetComponent <ParticleSystemRenderer>(); if (component != null && component.trailMaterial == null) { EditorGUILayout.HelpBox("Assign a Trail Material in the Renderer Module", MessageType.Warning, true); break; } } } }
internal static void DrawRendererPriority(SerializedProperty rendererPrority, bool useMiniStyle = false) { if (!SupportedRenderingFeatures.active.rendererPriority) { return; } if (!useMiniStyle) { EditorGUILayout.PropertyField(rendererPrority, Styles.rendererPriority); } else { ModuleUI.GUIInt(Styles.rendererPriority, rendererPrority); } }
private void OnTextureInspectorGUI() { EditorGUILayout.Space(); ModuleUI.GUIObject(ShapeModuleUI.s_Texts.texture, this.m_Texture, new GUILayoutOption[0]); ModuleUI.GUIPopup(ShapeModuleUI.s_Texts.textureClipChannel, this.m_TextureClipChannel, ShapeModuleUI.s_Texts.textureClipChannels, new GUILayoutOption[0]); ModuleUI.GUIFloat(ShapeModuleUI.s_Texts.textureClipThreshold, this.m_TextureClipThreshold, new GUILayoutOption[0]); ModuleUI.GUIToggle(ShapeModuleUI.s_Texts.textureColorAffectsParticles, this.m_TextureColorAffectsParticles, new GUILayoutOption[0]); ModuleUI.GUIToggle(ShapeModuleUI.s_Texts.textureAlphaAffectsParticles, this.m_TextureAlphaAffectsParticles, new GUILayoutOption[0]); ModuleUI.GUIToggle(ShapeModuleUI.s_Texts.textureBilinearFiltering, this.m_TextureBilinearFiltering, new GUILayoutOption[0]); if (!this.m_Type.hasMultipleDifferentValues) { if (this.m_Type.intValue == 6 || this.m_Type.intValue == 13 || this.m_Type.intValue == 14) { ModuleUI.GUIInt(ShapeModuleUI.s_Texts.textureUVChannel, this.m_TextureUVChannel, new GUILayoutOption[0]); } } }
public override void OnInspectorGUI(ParticleSystem s) { if (s_Texts == null) { s_Texts = new Texts(); } ModuleUI.GUIIntDraggableX2(s_Texts.tiles, s_Texts.tilesX, this.m_TilesX, s_Texts.tilesY, this.m_TilesY, new GUILayoutOption[0]); int num = ModuleUI.GUIPopup(s_Texts.animation, this.m_AnimationType, s_Texts.types, new GUILayoutOption[0]); if (num == 1) { ModuleUI.GUIToggle(s_Texts.randomRow, this.m_RandomRow, new GUILayoutOption[0]); if (!this.m_RandomRow.boolValue) { ModuleUI.GUIInt(s_Texts.row, this.m_RowIndex, new GUILayoutOption[0]); } } switch (num) { case 1: this.m_FrameOverTime.m_RemapValue = this.m_TilesX.intValue; this.m_StartFrame.m_RemapValue = this.m_TilesX.intValue; break; case 0: this.m_FrameOverTime.m_RemapValue = this.m_TilesX.intValue * this.m_TilesY.intValue; this.m_StartFrame.m_RemapValue = this.m_TilesX.intValue * this.m_TilesY.intValue; break; } ModuleUI.GUIMinMaxCurve(s_Texts.frameOverTime, this.m_FrameOverTime, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(s_Texts.startFrame, this.m_StartFrame, new GUILayoutOption[0]); ModuleUI.GUIFloat(s_Texts.cycles, this.m_Cycles, new GUILayoutOption[0]); ParticleSystemRenderer component = base.m_ParticleSystemUI.m_ParticleSystem.GetComponent <ParticleSystemRenderer>(); using (new EditorGUI.DisabledScope((component != null) && (component.renderMode == ParticleSystemRenderMode.Mesh))) { ModuleUI.GUIFloat(s_Texts.flipU, this.m_FlipU, new GUILayoutOption[0]); ModuleUI.GUIFloat(s_Texts.flipV, this.m_FlipV, new GUILayoutOption[0]); } this.m_UVChannelMask.intValue = (int)((UVChannelFlags)ModuleUI.GUIEnumMask(s_Texts.uvChannelMask, (UVChannelFlags)this.m_UVChannelMask.intValue, new GUILayoutOption[0])); }
public override void OnInspectorGUI(ParticleSystem s) { if (s_Texts == null) { s_Texts = new Texts(); } ModuleUI.GUIFloat(s_Texts.duration, this.m_LengthInSec, "f2"); this.m_LengthInSec.floatValue = Mathf.Min(100000f, Mathf.Max(0f, this.m_LengthInSec.floatValue)); bool boolValue = this.m_Looping.boolValue; ModuleUI.GUIToggle(s_Texts.looping, this.m_Looping); if ((this.m_Looping.boolValue && !boolValue) && (s.time >= this.m_LengthInSec.floatValue)) { s.time = 0f; } EditorGUI.BeginDisabledGroup(!this.m_Looping.boolValue); ModuleUI.GUIToggle(s_Texts.prewarm, this.m_Prewarm); EditorGUI.EndDisabledGroup(); EditorGUI.BeginDisabledGroup(this.m_Prewarm.boolValue && this.m_Looping.boolValue); ModuleUI.GUIFloat(s_Texts.startDelay, this.m_StartDelay); EditorGUI.EndDisabledGroup(); ModuleUI.GUIMinMaxCurve(s_Texts.lifetime, this.m_LifeTime); ModuleUI.GUIMinMaxCurve(s_Texts.speed, this.m_Speed); ModuleUI.GUIMinMaxCurve(s_Texts.size, this.m_Size); ModuleUI.GUIMinMaxCurve(s_Texts.rotation, this.m_Rotation); base.GUIMinMaxGradient(s_Texts.color, this.m_Color); ModuleUI.GUIFloat(s_Texts.gravity, this.m_GravityModifier); ModuleUI.GUIFloat(s_Texts.inheritvelocity, this.m_InheritVelocity); ModuleUI.GUIBoolAsPopup(s_Texts.simulationSpace, this.m_SimulationSpace, s_Texts.simulationSpaces); bool flag2 = this.m_PlayOnAwake.boolValue; bool newPlayOnAwake = ModuleUI.GUIToggle(s_Texts.autoplay, this.m_PlayOnAwake); if (flag2 != newPlayOnAwake) { base.m_ParticleSystemUI.m_ParticleEffectUI.PlayOnAwakeChanged(newPlayOnAwake); } ModuleUI.GUIInt(s_Texts.maxParticles, this.m_MaxNumParticles); }
public override void OnInspectorGUI(InitialModuleUI initial) { EditorGUI.BeginChangeCheck(); CollisionModuleUI.CollisionTypes collisionTypes = (CollisionModuleUI.CollisionTypes)ModuleUI.GUIPopup(CollisionModuleUI.s_Texts.collisionType, this.m_Type, CollisionModuleUI.s_Texts.collisionTypes, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { this.SyncVisualization(); } if (collisionTypes == CollisionModuleUI.CollisionTypes.Plane) { this.DoListOfPlanesGUI(); EditorGUI.BeginChangeCheck(); CollisionModuleUI.m_PlaneVisualizationType = (CollisionModuleUI.PlaneVizType)ModuleUI.GUIPopup(CollisionModuleUI.s_Texts.visualization, (int)CollisionModuleUI.m_PlaneVisualizationType, CollisionModuleUI.s_Texts.planeVizTypes, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { EditorPrefs.SetInt("PlaneColisionVizType", (int)CollisionModuleUI.m_PlaneVisualizationType); } EditorGUI.BeginChangeCheck(); CollisionModuleUI.m_ScaleGrid = ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.scalePlane, CollisionModuleUI.m_ScaleGrid, "f2", new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { CollisionModuleUI.m_ScaleGrid = Mathf.Max(0f, CollisionModuleUI.m_ScaleGrid); EditorPrefs.SetFloat("ScalePlaneColision", CollisionModuleUI.m_ScaleGrid); } ModuleUI.GUIButtonGroup(CollisionModuleUI.s_Texts.sceneViewEditModes, CollisionModuleUI.s_Texts.toolContents, new Func <Bounds>(this.GetBounds), this.m_ParticleSystemUI.m_ParticleEffectUI.m_Owner.customEditor); } else { ModuleUI.GUIPopup(CollisionModuleUI.s_Texts.collisionMode, this.m_CollisionMode, CollisionModuleUI.s_Texts.collisionModes, new GUILayoutOption[0]); } ModuleUI.GUIMinMaxCurve(CollisionModuleUI.s_Texts.dampen, this.m_Dampen, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(CollisionModuleUI.s_Texts.bounce, this.m_Bounce, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(CollisionModuleUI.s_Texts.lifetimeLoss, this.m_LifetimeLossOnCollision, new GUILayoutOption[0]); ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.minKillSpeed, this.m_MinKillSpeed, new GUILayoutOption[0]); ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.maxKillSpeed, this.m_MaxKillSpeed, new GUILayoutOption[0]); ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.radiusScale, this.m_RadiusScale, new GUILayoutOption[0]); if (collisionTypes == CollisionModuleUI.CollisionTypes.World) { ModuleUI.GUIPopup(CollisionModuleUI.s_Texts.quality, this.m_Quality, CollisionModuleUI.s_Texts.qualitySettings, new GUILayoutOption[0]); EditorGUI.indentLevel++; ModuleUI.GUILayerMask(CollisionModuleUI.s_Texts.collidesWith, this.m_CollidesWith, new GUILayoutOption[0]); ModuleUI.GUIInt(CollisionModuleUI.s_Texts.maxCollisionShapes, this.m_MaxCollisionShapes, new GUILayoutOption[0]); if (this.m_Quality.intValue == 0) { ModuleUI.GUIToggle(CollisionModuleUI.s_Texts.collidesWithDynamic, this.m_CollidesWithDynamic, new GUILayoutOption[0]); } else { ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.voxelSize, this.m_VoxelSize, new GUILayoutOption[0]); } EditorGUI.indentLevel--; ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.colliderForce, this.m_ColliderForce, new GUILayoutOption[0]); EditorGUI.indentLevel++; ModuleUI.GUIToggle(CollisionModuleUI.s_Texts.multiplyColliderForceByCollisionAngle, this.m_MultiplyColliderForceByCollisionAngle, new GUILayoutOption[0]); ModuleUI.GUIToggle(CollisionModuleUI.s_Texts.multiplyColliderForceByParticleSpeed, this.m_MultiplyColliderForceByParticleSpeed, new GUILayoutOption[0]); ModuleUI.GUIToggle(CollisionModuleUI.s_Texts.multiplyColliderForceByParticleSize, this.m_MultiplyColliderForceByParticleSize, new GUILayoutOption[0]); EditorGUI.indentLevel--; } ModuleUI.GUIToggle(CollisionModuleUI.s_Texts.collisionMessages, this.m_CollisionMessages, new GUILayoutOption[0]); EditorGUI.BeginChangeCheck(); CollisionModuleUI.s_VisualizeBounds = ModuleUI.GUIToggle(CollisionModuleUI.s_Texts.visualizeBounds, CollisionModuleUI.s_VisualizeBounds, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { EditorPrefs.SetBool("VisualizeBounds", CollisionModuleUI.s_VisualizeBounds); } }
public override void OnInspectorGUI(ParticleSystem s) { if (InitialModuleUI.s_Texts == null) { InitialModuleUI.s_Texts = new InitialModuleUI.Texts(); } ModuleUI.GUIFloat(InitialModuleUI.s_Texts.duration, this.m_LengthInSec, "f2"); this.m_LengthInSec.floatValue = Mathf.Min(100000f, Mathf.Max(0f, this.m_LengthInSec.floatValue)); bool boolValue = this.m_Looping.boolValue; ModuleUI.GUIToggle(InitialModuleUI.s_Texts.looping, this.m_Looping); if (this.m_Looping.boolValue && !boolValue && s.time >= this.m_LengthInSec.floatValue) { s.time = 0f; } using (new EditorGUI.DisabledScope(!this.m_Looping.boolValue)) { ModuleUI.GUIToggle(InitialModuleUI.s_Texts.prewarm, this.m_Prewarm); } using (new EditorGUI.DisabledScope(this.m_Prewarm.boolValue && this.m_Looping.boolValue)) { ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.startDelay, this.m_StartDelay); } ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.lifetime, this.m_LifeTime); ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.speed, this.m_Speed); EditorGUI.BeginChangeCheck(); bool flag = ModuleUI.GUIToggle(InitialModuleUI.s_Texts.size3D, this.m_Size3D); if (EditorGUI.EndChangeCheck()) { if (flag) { this.m_SizeX.RemoveCurveFromEditor(); } else { this.m_SizeX.RemoveCurveFromEditor(); this.m_SizeY.RemoveCurveFromEditor(); this.m_SizeZ.RemoveCurveFromEditor(); } } if (flag) { this.m_SizeX.m_DisplayName = InitialModuleUI.s_Texts.x; base.GUITripleMinMaxCurve(GUIContent.none, InitialModuleUI.s_Texts.x, this.m_SizeX, InitialModuleUI.s_Texts.y, this.m_SizeY, InitialModuleUI.s_Texts.z, this.m_SizeZ, null); } else { this.m_SizeX.m_DisplayName = InitialModuleUI.s_Texts.size; ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.size, this.m_SizeX); } EditorGUI.BeginChangeCheck(); bool flag2 = ModuleUI.GUIToggle(InitialModuleUI.s_Texts.rotation3D, this.m_Rotation3D); if (EditorGUI.EndChangeCheck()) { if (flag2) { this.m_RotationZ.RemoveCurveFromEditor(); } else { this.m_RotationX.RemoveCurveFromEditor(); this.m_RotationY.RemoveCurveFromEditor(); this.m_RotationZ.RemoveCurveFromEditor(); } } if (flag2) { this.m_RotationZ.m_DisplayName = InitialModuleUI.s_Texts.z; base.GUITripleMinMaxCurve(GUIContent.none, InitialModuleUI.s_Texts.x, this.m_RotationX, InitialModuleUI.s_Texts.y, this.m_RotationY, InitialModuleUI.s_Texts.z, this.m_RotationZ, null); } else { this.m_RotationZ.m_DisplayName = InitialModuleUI.s_Texts.rotation; ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.rotation, this.m_RotationZ); } ModuleUI.GUIFloat(InitialModuleUI.s_Texts.randomizeRotationDirection, this.m_RandomizeRotationDirection); base.GUIMinMaxGradient(InitialModuleUI.s_Texts.color, this.m_Color); ModuleUI.GUIFloat(InitialModuleUI.s_Texts.gravity, this.m_GravityModifier); ModuleUI.GUIBoolAsPopup(InitialModuleUI.s_Texts.simulationSpace, this.m_SimulationSpace, InitialModuleUI.s_Texts.simulationSpaces); ModuleUI.GUIPopup(InitialModuleUI.s_Texts.scalingMode, this.m_ScalingMode, new string[] { "Hierarchy", "Local", "Shape" }); bool boolValue2 = this.m_PlayOnAwake.boolValue; bool flag3 = ModuleUI.GUIToggle(InitialModuleUI.s_Texts.autoplay, this.m_PlayOnAwake); if (boolValue2 != flag3) { this.m_ParticleSystemUI.m_ParticleEffectUI.PlayOnAwakeChanged(flag3); } ModuleUI.GUIInt(InitialModuleUI.s_Texts.maxParticles, this.m_MaxNumParticles); if (!ModuleUI.GUIToggle(InitialModuleUI.s_Texts.autoRandomSeed, this.m_AutoRandomSeed)) { bool flag4 = this.m_ParticleSystemUI.m_ParticleEffectUI.m_Owner is ParticleSystemInspector; if (flag4) { GUILayout.BeginHorizontal(new GUILayoutOption[0]); ModuleUI.GUIInt(InitialModuleUI.s_Texts.randomSeed, this.m_RandomSeed); if (GUILayout.Button("Reseed", EditorStyles.miniButton, new GUILayoutOption[] { GUILayout.Width(60f) })) { this.m_RandomSeed.intValue = this.m_ParticleSystemUI.m_ParticleSystem.GenerateRandomSeed(); } GUILayout.EndHorizontal(); } else { ModuleUI.GUIInt(InitialModuleUI.s_Texts.randomSeed, this.m_RandomSeed); if (GUILayout.Button("Reseed", EditorStyles.miniButton, new GUILayoutOption[0])) { this.m_RandomSeed.intValue = this.m_ParticleSystemUI.m_ParticleSystem.GenerateRandomSeed(); } } } }
public static void GUIInt(GUIContent guiContent, SerializedProperty intProp) { intProp.intValue = ModuleUI.GUIInt(guiContent, intProp.intValue); }
public override void OnInspectorGUI(ParticleSystem s) { if (s_Texts == null) { s_Texts = new Texts(); } ModuleUI.GUIFloat(s_Texts.duration, this.m_LengthInSec, "f2", new GUILayoutOption[0]); this.m_LengthInSec.floatValue = Mathf.Min(100000f, Mathf.Max(0f, this.m_LengthInSec.floatValue)); bool boolValue = this.m_Looping.boolValue; ModuleUI.GUIToggle(s_Texts.looping, this.m_Looping, new GUILayoutOption[0]); if ((this.m_Looping.boolValue && !boolValue) && (s.time >= this.m_LengthInSec.floatValue)) { s.time = 0f; } using (new EditorGUI.DisabledScope(!this.m_Looping.boolValue)) { ModuleUI.GUIToggle(s_Texts.prewarm, this.m_Prewarm, new GUILayoutOption[0]); } using (new EditorGUI.DisabledScope(this.m_Prewarm.boolValue && this.m_Looping.boolValue)) { ModuleUI.GUIMinMaxCurve(s_Texts.startDelay, this.m_StartDelay, new GUILayoutOption[0]); } ModuleUI.GUIMinMaxCurve(s_Texts.lifetime, this.m_LifeTime, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(s_Texts.speed, this.m_Speed, new GUILayoutOption[0]); EditorGUI.BeginChangeCheck(); bool flag2 = ModuleUI.GUIToggle(s_Texts.size3D, this.m_Size3D, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { if (flag2) { this.m_SizeX.RemoveCurveFromEditor(); } else { this.m_SizeX.RemoveCurveFromEditor(); this.m_SizeY.RemoveCurveFromEditor(); this.m_SizeZ.RemoveCurveFromEditor(); } } MinMaxCurveState state = this.m_SizeX.state; this.m_SizeY.state = state; this.m_SizeZ.state = state; if (flag2) { this.m_SizeX.m_DisplayName = s_Texts.x; base.GUITripleMinMaxCurve(GUIContent.none, s_Texts.x, this.m_SizeX, s_Texts.y, this.m_SizeY, s_Texts.z, this.m_SizeZ, null, new GUILayoutOption[0]); } else { this.m_SizeX.m_DisplayName = s_Texts.size; ModuleUI.GUIMinMaxCurve(s_Texts.size, this.m_SizeX, new GUILayoutOption[0]); } EditorGUI.BeginChangeCheck(); bool flag3 = ModuleUI.GUIToggle(s_Texts.rotation3D, this.m_Rotation3D, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { if (flag3) { this.m_RotationZ.RemoveCurveFromEditor(); } else { this.m_RotationX.RemoveCurveFromEditor(); this.m_RotationY.RemoveCurveFromEditor(); this.m_RotationZ.RemoveCurveFromEditor(); } } state = this.m_RotationZ.state; this.m_RotationY.state = state; this.m_RotationX.state = state; if (flag3) { this.m_RotationZ.m_DisplayName = s_Texts.z; base.GUITripleMinMaxCurve(GUIContent.none, s_Texts.x, this.m_RotationX, s_Texts.y, this.m_RotationY, s_Texts.z, this.m_RotationZ, null, new GUILayoutOption[0]); } else { this.m_RotationZ.m_DisplayName = s_Texts.rotation; ModuleUI.GUIMinMaxCurve(s_Texts.rotation, this.m_RotationZ, new GUILayoutOption[0]); } ModuleUI.GUIFloat(s_Texts.randomizeRotationDirection, this.m_RandomizeRotationDirection, new GUILayoutOption[0]); base.GUIMinMaxGradient(s_Texts.color, this.m_Color, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(s_Texts.gravity, this.m_GravityModifier, new GUILayoutOption[0]); string[] options = new string[] { "Local", "World", "Custom" }; if ((ModuleUI.GUIPopup(s_Texts.simulationSpace, this.m_SimulationSpace, options, new GUILayoutOption[0]) == 2) && (this.m_CustomSimulationSpace != null)) { ModuleUI.GUIObject(s_Texts.customSimulationSpace, this.m_CustomSimulationSpace, new GUILayoutOption[0]); } ModuleUI.GUIFloat(s_Texts.simulationSpeed, this.m_SimulationSpeed, new GUILayoutOption[0]); if ((base.m_ParticleSystemUI.m_ParticleSystem.shape.shapeType != ParticleSystemShapeType.SkinnedMeshRenderer) && (base.m_ParticleSystemUI.m_ParticleSystem.shape.shapeType != ParticleSystemShapeType.MeshRenderer)) { string[] textArray2 = new string[] { "Hierarchy", "Local", "Shape" }; ModuleUI.GUIPopup(s_Texts.scalingMode, this.m_ScalingMode, textArray2, new GUILayoutOption[0]); } bool flag4 = this.m_PlayOnAwake.boolValue; bool newPlayOnAwake = ModuleUI.GUIToggle(s_Texts.autoplay, this.m_PlayOnAwake, new GUILayoutOption[0]); if (flag4 != newPlayOnAwake) { base.m_ParticleSystemUI.m_ParticleEffectUI.PlayOnAwakeChanged(newPlayOnAwake); } ModuleUI.GUIInt(s_Texts.maxParticles, this.m_MaxNumParticles, new GUILayoutOption[0]); if (!ModuleUI.GUIToggle(s_Texts.autoRandomSeed, this.m_AutoRandomSeed, new GUILayoutOption[0])) { if (base.m_ParticleSystemUI.m_ParticleEffectUI.m_Owner is ParticleSystemInspector) { GUILayout.BeginHorizontal(new GUILayoutOption[0]); ModuleUI.GUIInt(s_Texts.randomSeed, this.m_RandomSeed, new GUILayoutOption[0]); GUILayoutOption[] optionArray1 = new GUILayoutOption[] { GUILayout.Width(60f) }; if (GUILayout.Button("Reseed", EditorStyles.miniButton, optionArray1)) { this.m_RandomSeed.intValue = base.m_ParticleSystemUI.m_ParticleSystem.GenerateRandomSeed(); } GUILayout.EndHorizontal(); } else { ModuleUI.GUIInt(s_Texts.randomSeed, this.m_RandomSeed, new GUILayoutOption[0]); if (GUILayout.Button("Reseed", EditorStyles.miniButton, new GUILayoutOption[0])) { this.m_RandomSeed.intValue = base.m_ParticleSystemUI.m_ParticleSystem.GenerateRandomSeed(); } } } }
public override void OnInspectorGUI(ParticleSystem s) { if (InitialModuleUI.s_Texts == null) { InitialModuleUI.s_Texts = new InitialModuleUI.Texts(); } double num1 = (double)ModuleUI.GUIFloat(InitialModuleUI.s_Texts.duration, this.m_LengthInSec, "f2"); this.m_LengthInSec.floatValue = Mathf.Min(100000f, Mathf.Max(0.0f, this.m_LengthInSec.floatValue)); bool boolValue1 = this.m_Looping.boolValue; ModuleUI.GUIToggle(InitialModuleUI.s_Texts.looping, this.m_Looping); if (this.m_Looping.boolValue && !boolValue1 && (double)s.time >= (double)this.m_LengthInSec.floatValue) { s.time = 0.0f; } EditorGUI.BeginDisabledGroup(!this.m_Looping.boolValue); ModuleUI.GUIToggle(InitialModuleUI.s_Texts.prewarm, this.m_Prewarm); EditorGUI.EndDisabledGroup(); EditorGUI.BeginDisabledGroup(this.m_Prewarm.boolValue && this.m_Looping.boolValue); ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.startDelay, this.m_StartDelay); EditorGUI.EndDisabledGroup(); ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.lifetime, this.m_LifeTime); ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.speed, this.m_Speed); ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.size, this.m_Size); EditorGUI.BeginChangeCheck(); bool flag = ModuleUI.GUIToggle(InitialModuleUI.s_Texts.rotation3D, this.m_Rotation3D); if (EditorGUI.EndChangeCheck()) { if (flag) { this.m_RotationZ.RemoveCurveFromEditor(); } else { this.m_RotationX.RemoveCurveFromEditor(); this.m_RotationY.RemoveCurveFromEditor(); this.m_RotationZ.RemoveCurveFromEditor(); } } if (flag) { this.m_RotationZ.m_DisplayName = InitialModuleUI.s_Texts.z; this.GUITripleMinMaxCurve(GUIContent.none, InitialModuleUI.s_Texts.x, this.m_RotationX, InitialModuleUI.s_Texts.y, this.m_RotationY, InitialModuleUI.s_Texts.z, this.m_RotationZ, (SerializedProperty)null); } else { this.m_RotationZ.m_DisplayName = InitialModuleUI.s_Texts.rotation; ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.rotation, this.m_RotationZ); } double num2 = (double)ModuleUI.GUIFloat(InitialModuleUI.s_Texts.randomizeRotationDirection, this.m_RandomizeRotationDirection); this.GUIMinMaxGradient(InitialModuleUI.s_Texts.color, this.m_Color); double num3 = (double)ModuleUI.GUIFloat(InitialModuleUI.s_Texts.gravity, this.m_GravityModifier); ModuleUI.GUIBoolAsPopup(InitialModuleUI.s_Texts.simulationSpace, this.m_SimulationSpace, InitialModuleUI.s_Texts.simulationSpaces); ModuleUI.GUIPopup(InitialModuleUI.s_Texts.scalingMode, this.m_ScalingMode, new string[3] { "Hierarchy", "Local", "Shape" }); bool boolValue2 = this.m_PlayOnAwake.boolValue; bool newPlayOnAwake = ModuleUI.GUIToggle(InitialModuleUI.s_Texts.autoplay, this.m_PlayOnAwake); if (boolValue2 != newPlayOnAwake) { this.m_ParticleSystemUI.m_ParticleEffectUI.PlayOnAwakeChanged(newPlayOnAwake); } ModuleUI.GUIInt(InitialModuleUI.s_Texts.maxParticles, this.m_MaxNumParticles); }
public override void OnInspectorGUI(ParticleSystem s) { if (s_Texts == null) { s_Texts = new Texts(); } ModuleUI.GUIFloat(s_Texts.duration, this.m_LengthInSec, "f2"); this.m_LengthInSec.floatValue = Mathf.Min(100000f, Mathf.Max(0f, this.m_LengthInSec.floatValue)); bool boolValue = this.m_Looping.boolValue; ModuleUI.GUIToggle(s_Texts.looping, this.m_Looping); if ((this.m_Looping.boolValue && !boolValue) && (s.time >= this.m_LengthInSec.floatValue)) { s.time = 0f; } EditorGUI.BeginDisabledGroup(!this.m_Looping.boolValue); ModuleUI.GUIToggle(s_Texts.prewarm, this.m_Prewarm); EditorGUI.EndDisabledGroup(); EditorGUI.BeginDisabledGroup(this.m_Prewarm.boolValue && this.m_Looping.boolValue); ModuleUI.GUIMinMaxCurve(s_Texts.startDelay, this.m_StartDelay); EditorGUI.EndDisabledGroup(); ModuleUI.GUIMinMaxCurve(s_Texts.lifetime, this.m_LifeTime); ModuleUI.GUIMinMaxCurve(s_Texts.speed, this.m_Speed); ModuleUI.GUIMinMaxCurve(s_Texts.size, this.m_Size); EditorGUI.BeginChangeCheck(); bool flag2 = ModuleUI.GUIToggle(s_Texts.rotation3D, this.m_Rotation3D); if (EditorGUI.EndChangeCheck()) { if (flag2) { this.m_RotationZ.RemoveCurveFromEditor(); } else { this.m_RotationX.RemoveCurveFromEditor(); this.m_RotationY.RemoveCurveFromEditor(); this.m_RotationZ.RemoveCurveFromEditor(); } } if (flag2) { this.m_RotationZ.m_DisplayName = s_Texts.z; base.GUITripleMinMaxCurve(GUIContent.none, s_Texts.x, this.m_RotationX, s_Texts.y, this.m_RotationY, s_Texts.z, this.m_RotationZ, null); } else { this.m_RotationZ.m_DisplayName = s_Texts.rotation; ModuleUI.GUIMinMaxCurve(s_Texts.rotation, this.m_RotationZ); } ModuleUI.GUIFloat(s_Texts.randomizeRotationDirection, this.m_RandomizeRotationDirection); base.GUIMinMaxGradient(s_Texts.color, this.m_Color); ModuleUI.GUIFloat(s_Texts.gravity, this.m_GravityModifier); ModuleUI.GUIBoolAsPopup(s_Texts.simulationSpace, this.m_SimulationSpace, s_Texts.simulationSpaces); string[] options = new string[] { "Hierarchy", "Local", "Shape" }; ModuleUI.GUIPopup(s_Texts.scalingMode, this.m_ScalingMode, options); bool flag3 = this.m_PlayOnAwake.boolValue; bool newPlayOnAwake = ModuleUI.GUIToggle(s_Texts.autoplay, this.m_PlayOnAwake); if (flag3 != newPlayOnAwake) { base.m_ParticleSystemUI.m_ParticleEffectUI.PlayOnAwakeChanged(newPlayOnAwake); } ModuleUI.GUIInt(s_Texts.maxParticles, this.m_MaxNumParticles); }
public static int GUIInt(GUIContent guiContent, SerializedProperty intProp, params GUILayoutOption[] layoutOptions) { intProp.intValue = ModuleUI.GUIInt(guiContent, intProp.intValue, layoutOptions); return(intProp.intValue); }
public override void OnInspectorGUI(ParticleSystem s) { if (s_Texts == null) { s_Texts = new Texts(); } if (s_PreviewTextureDirty) { base.m_ParticleSystemUI.m_ParticleSystem.GenerateNoisePreviewTexture(s_PreviewTexture); s_PreviewTextureDirty = false; } bool flag = base.m_ParticleSystemUI.m_ParticleEffectUI.m_Owner is ParticleSystemInspector; if (flag) { GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.BeginVertical(new GUILayoutOption[0]); } EditorGUI.BeginChangeCheck(); bool flag2 = ModuleUI.GUIToggle(s_Texts.separateAxes, this.m_SeparateAxes, new GUILayoutOption[0]); bool flag3 = EditorGUI.EndChangeCheck(); EditorGUI.BeginChangeCheck(); if (flag3) { if (flag2) { this.m_StrengthX.RemoveCurveFromEditor(); this.m_RemapX.RemoveCurveFromEditor(); } else { this.m_StrengthX.RemoveCurveFromEditor(); this.m_StrengthY.RemoveCurveFromEditor(); this.m_StrengthZ.RemoveCurveFromEditor(); this.m_RemapX.RemoveCurveFromEditor(); this.m_RemapY.RemoveCurveFromEditor(); this.m_RemapZ.RemoveCurveFromEditor(); } } MinMaxCurveState state = this.m_StrengthX.state; this.m_StrengthY.state = state; this.m_StrengthZ.state = state; state = this.m_RemapX.state; this.m_RemapY.state = state; this.m_RemapZ.state = state; if (flag2) { this.m_StrengthX.m_DisplayName = s_Texts.x; base.GUITripleMinMaxCurve(GUIContent.none, s_Texts.x, this.m_StrengthX, s_Texts.y, this.m_StrengthY, s_Texts.z, this.m_StrengthZ, null, new GUILayoutOption[0]); } else { this.m_StrengthX.m_DisplayName = s_Texts.strength; ModuleUI.GUIMinMaxCurve(s_Texts.strength, this.m_StrengthX, new GUILayoutOption[0]); } ModuleUI.GUIFloat(s_Texts.frequency, this.m_Frequency, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(s_Texts.scrollSpeed, this.m_ScrollSpeed, new GUILayoutOption[0]); ModuleUI.GUIToggle(s_Texts.damping, this.m_Damping, new GUILayoutOption[0]); int num = ModuleUI.GUIInt(s_Texts.octaves, this.m_Octaves, new GUILayoutOption[0]); using (new EditorGUI.DisabledScope(num == 1)) { ModuleUI.GUIFloat(s_Texts.octaveMultiplier, this.m_OctaveMultiplier, new GUILayoutOption[0]); ModuleUI.GUIFloat(s_Texts.octaveScale, this.m_OctaveScale, new GUILayoutOption[0]); } ModuleUI.GUIPopup(s_Texts.quality, this.m_Quality, s_Texts.qualityDropdown, new GUILayoutOption[0]); bool flag4 = ModuleUI.GUIToggle(s_Texts.remap, this.m_RemapEnabled, new GUILayoutOption[0]); using (new EditorGUI.DisabledScope(!flag4)) { if (flag2) { this.m_RemapX.m_DisplayName = s_Texts.x; base.GUITripleMinMaxCurve(GUIContent.none, s_Texts.x, this.m_RemapX, s_Texts.y, this.m_RemapY, s_Texts.z, this.m_RemapZ, null, new GUILayoutOption[0]); } else { this.m_RemapX.m_DisplayName = s_Texts.remap; ModuleUI.GUIMinMaxCurve(s_Texts.remapCurve, this.m_RemapX, new GUILayoutOption[0]); } } if (flag) { GUILayout.EndVertical(); } if ((EditorGUI.EndChangeCheck() || (this.m_ScrollSpeed.scalar.floatValue > 0f)) || (flag4 || flag3)) { s_PreviewTextureDirty = true; base.m_ParticleSystemUI.m_ParticleEffectUI.m_Owner.Repaint(); } GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(false) }; GUILayout.Label(s_Texts.previewTexture, this.previewTextureStyle, options); if (flag) { GUILayout.EndHorizontal(); } }
public override void OnInspectorGUI(InitialModuleUI initial) { if (NoiseModuleUI.s_PreviewTextureDirty) { if (this.m_ParticleSystemUI.multiEdit) { Color32[] array = new Color32[NoiseModuleUI.s_PreviewTexture.width * NoiseModuleUI.s_PreviewTexture.height]; for (int i = 0; i < array.Length; i++) { array[i] = new Color32(120, 120, 120, 255); } NoiseModuleUI.s_PreviewTexture.SetPixels32(array); NoiseModuleUI.s_PreviewTexture.Apply(false); } else { this.m_ParticleSystemUI.m_ParticleSystems[0].GenerateNoisePreviewTexture(NoiseModuleUI.s_PreviewTexture); } NoiseModuleUI.s_PreviewTextureDirty = false; } if (!base.isWindowView) { GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.BeginVertical(new GUILayoutOption[0]); } EditorGUI.BeginChangeCheck(); bool flag = ModuleUI.GUIToggle(NoiseModuleUI.s_Texts.separateAxes, this.m_SeparateAxes, new GUILayoutOption[0]); bool flag2 = EditorGUI.EndChangeCheck(); EditorGUI.BeginChangeCheck(); if (flag2 && !flag) { this.m_StrengthY.RemoveCurveFromEditor(); this.m_StrengthZ.RemoveCurveFromEditor(); this.m_RemapY.RemoveCurveFromEditor(); this.m_RemapZ.RemoveCurveFromEditor(); } if (!this.m_StrengthX.stateHasMultipleDifferentValues) { this.m_StrengthZ.SetMinMaxState(this.m_StrengthX.state, flag); this.m_StrengthY.SetMinMaxState(this.m_StrengthX.state, flag); } if (!this.m_RemapX.stateHasMultipleDifferentValues) { this.m_RemapZ.SetMinMaxState(this.m_RemapX.state, flag); this.m_RemapY.SetMinMaxState(this.m_RemapX.state, flag); } if (flag) { this.m_StrengthX.m_DisplayName = NoiseModuleUI.s_Texts.x; base.GUITripleMinMaxCurve(GUIContent.none, NoiseModuleUI.s_Texts.x, this.m_StrengthX, NoiseModuleUI.s_Texts.y, this.m_StrengthY, NoiseModuleUI.s_Texts.z, this.m_StrengthZ, null, new GUILayoutOption[0]); } else { this.m_StrengthX.m_DisplayName = NoiseModuleUI.s_Texts.strength; ModuleUI.GUIMinMaxCurve(NoiseModuleUI.s_Texts.strength, this.m_StrengthX, new GUILayoutOption[0]); } ModuleUI.GUIFloat(NoiseModuleUI.s_Texts.frequency, this.m_Frequency, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(NoiseModuleUI.s_Texts.scrollSpeed, this.m_ScrollSpeed, new GUILayoutOption[0]); ModuleUI.GUIToggle(NoiseModuleUI.s_Texts.damping, this.m_Damping, new GUILayoutOption[0]); int num = ModuleUI.GUIInt(NoiseModuleUI.s_Texts.octaves, this.m_Octaves, new GUILayoutOption[0]); using (new EditorGUI.DisabledScope(num == 1)) { ModuleUI.GUIFloat(NoiseModuleUI.s_Texts.octaveMultiplier, this.m_OctaveMultiplier, new GUILayoutOption[0]); ModuleUI.GUIFloat(NoiseModuleUI.s_Texts.octaveScale, this.m_OctaveScale, new GUILayoutOption[0]); } ModuleUI.GUIPopup(NoiseModuleUI.s_Texts.quality, this.m_Quality, NoiseModuleUI.s_Texts.qualityDropdown, new GUILayoutOption[0]); EditorGUI.BeginChangeCheck(); bool flag3 = ModuleUI.GUIToggle(NoiseModuleUI.s_Texts.remap, this.m_RemapEnabled, new GUILayoutOption[0]); bool flag4 = EditorGUI.EndChangeCheck(); if (flag4 && !flag3) { this.m_RemapX.RemoveCurveFromEditor(); this.m_RemapY.RemoveCurveFromEditor(); this.m_RemapZ.RemoveCurveFromEditor(); } using (new EditorGUI.DisabledScope(!flag3)) { if (flag) { this.m_RemapX.m_DisplayName = NoiseModuleUI.s_Texts.x; base.GUITripleMinMaxCurve(GUIContent.none, NoiseModuleUI.s_Texts.x, this.m_RemapX, NoiseModuleUI.s_Texts.y, this.m_RemapY, NoiseModuleUI.s_Texts.z, this.m_RemapZ, null, new GUILayoutOption[0]); } else { this.m_RemapX.m_DisplayName = NoiseModuleUI.s_Texts.remap; ModuleUI.GUIMinMaxCurve(NoiseModuleUI.s_Texts.remapCurve, this.m_RemapX, new GUILayoutOption[0]); } } ModuleUI.GUIMinMaxCurve(NoiseModuleUI.s_Texts.positionAmount, this.m_PositionAmount, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(NoiseModuleUI.s_Texts.rotationAmount, this.m_RotationAmount, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(NoiseModuleUI.s_Texts.sizeAmount, this.m_SizeAmount, new GUILayoutOption[0]); if (!base.isWindowView) { GUILayout.EndVertical(); } if (EditorGUI.EndChangeCheck() || this.m_ScrollSpeed.scalar.floatValue != 0f || flag3 || flag2) { NoiseModuleUI.s_PreviewTextureDirty = true; this.m_ParticleSystemUI.m_ParticleEffectUI.m_Owner.Repaint(); } if (this.m_ParticleSystemUI.multiEdit) { GUILayout.Label(NoiseModuleUI.s_Texts.previewTextureMultiEdit, this.previewTextureStyle, new GUILayoutOption[] { GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(false) }); } else { GUILayout.Label(NoiseModuleUI.s_Texts.previewTexture, this.previewTextureStyle, new GUILayoutOption[] { GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(false) }); } if (!base.isWindowView) { GUILayout.EndHorizontal(); } }
public override void OnInspectorGUI(InitialModuleUI initial) { if (RendererModuleUI.s_Texts == null) { RendererModuleUI.s_Texts = new RendererModuleUI.Texts(); } EditorGUI.BeginChangeCheck(); RendererModuleUI.RenderMode renderMode = (RendererModuleUI.RenderMode)ModuleUI.GUIPopup(RendererModuleUI.s_Texts.renderMode, this.m_RenderMode, RendererModuleUI.s_Texts.particleTypes, new GUILayoutOption[0]); bool flag = EditorGUI.EndChangeCheck(); if (!this.m_RenderMode.hasMultipleDifferentValues) { if (renderMode == RendererModuleUI.RenderMode.Mesh) { EditorGUI.indentLevel++; this.DoListOfMeshesGUI(); EditorGUI.indentLevel--; if (flag && this.m_Meshes[0].objectReferenceInstanceIDValue == 0 && !this.m_Meshes[0].hasMultipleDifferentValues) { this.m_Meshes[0].objectReferenceValue = Resources.GetBuiltinResource(typeof(Mesh), "Cube.fbx"); } } else if (renderMode == RendererModuleUI.RenderMode.Stretch3D) { EditorGUI.indentLevel++; ModuleUI.GUIFloat(RendererModuleUI.s_Texts.cameraSpeedScale, this.m_CameraVelocityScale, new GUILayoutOption[0]); ModuleUI.GUIFloat(RendererModuleUI.s_Texts.speedScale, this.m_VelocityScale, new GUILayoutOption[0]); ModuleUI.GUIFloat(RendererModuleUI.s_Texts.lengthScale, this.m_LengthScale, new GUILayoutOption[0]); EditorGUI.indentLevel--; } if (renderMode != RendererModuleUI.RenderMode.None) { if (renderMode != RendererModuleUI.RenderMode.Mesh) { ModuleUI.GUIFloat(RendererModuleUI.s_Texts.normalDirection, this.m_NormalDirection, new GUILayoutOption[0]); } if (this.m_Material != null) { ModuleUI.GUIObject(RendererModuleUI.s_Texts.material, this.m_Material, new GUILayoutOption[0]); } } } bool flag2 = this.m_ParticleSystemUI.m_ParticleSystems.FirstOrDefault((ParticleSystem o) => o.trails.enabled) != null; if (flag2 && this.m_TrailMaterial != null) { ModuleUI.GUIObject(RendererModuleUI.s_Texts.trailMaterial, this.m_TrailMaterial, new GUILayoutOption[0]); } if (!this.m_RenderMode.hasMultipleDifferentValues) { if (renderMode != RendererModuleUI.RenderMode.None) { ModuleUI.GUIPopup(RendererModuleUI.s_Texts.sortMode, this.m_SortMode, RendererModuleUI.s_Texts.sortTypes, new GUILayoutOption[0]); ModuleUI.GUIFloat(RendererModuleUI.s_Texts.sortingFudge, this.m_SortingFudge, new GUILayoutOption[0]); if (renderMode != RendererModuleUI.RenderMode.Mesh) { ModuleUI.GUIFloat(RendererModuleUI.s_Texts.minParticleSize, this.m_MinParticleSize, new GUILayoutOption[0]); ModuleUI.GUIFloat(RendererModuleUI.s_Texts.maxParticleSize, this.m_MaxParticleSize, new GUILayoutOption[0]); } if (renderMode == RendererModuleUI.RenderMode.Billboard) { bool flag3 = this.m_ParticleSystemUI.m_ParticleSystems.FirstOrDefault((ParticleSystem o) => o.shape.alignToDirection) != null; if (flag3) { using (new EditorGUI.DisabledScope(true)) { ModuleUI.GUIPopup(RendererModuleUI.s_Texts.space, 0, new string[] { RendererModuleUI.s_Texts.spaces[2] }, new GUILayoutOption[0]); } GUIContent gUIContent = EditorGUIUtility.TextContent("Using Align to Direction in the Shape Module forces the system to be rendered using Local Billboard Alignment."); EditorGUILayout.HelpBox(gUIContent.text, MessageType.Info, true); } else { ModuleUI.GUIPopup(RendererModuleUI.s_Texts.space, this.m_RenderAlignment, RendererModuleUI.s_Texts.spaces, new GUILayoutOption[0]); } } ModuleUI.GUIVector3Field(RendererModuleUI.s_Texts.pivot, this.m_Pivot, new GUILayoutOption[0]); EditorGUI.BeginChangeCheck(); RendererModuleUI.s_VisualizePivot = ModuleUI.GUIToggle(RendererModuleUI.s_Texts.visualizePivot, RendererModuleUI.s_VisualizePivot, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { EditorPrefs.SetBool("VisualizePivot", RendererModuleUI.s_VisualizePivot); } if (ModuleUI.GUIToggle(RendererModuleUI.s_Texts.useCustomVertexStreams, this.m_UseCustomVertexStreams, new GUILayoutOption[0])) { this.DoVertexStreamsGUI(renderMode); } EditorGUILayout.Space(); ModuleUI.GUIPopup(RendererModuleUI.s_Texts.castShadows, this.m_CastShadows, this.m_CastShadows.enumDisplayNames, new GUILayoutOption[0]); using (new EditorGUI.DisabledScope(SceneView.IsUsingDeferredRenderingPath())) { ModuleUI.GUIToggle(RendererModuleUI.s_Texts.receiveShadows, this.m_ReceiveShadows, new GUILayoutOption[0]); } ModuleUI.GUIPopup(RendererModuleUI.s_Texts.motionVectors, this.m_MotionVectors, RendererModuleUI.s_Texts.motionVectorOptions, new GUILayoutOption[0]); EditorGUILayout.SortingLayerField(RendererModuleUI.s_Texts.sortingLayer, this.m_SortingLayerID, ParticleSystemStyles.Get().popup, ParticleSystemStyles.Get().label); ModuleUI.GUIInt(RendererModuleUI.s_Texts.sortingOrder, this.m_SortingOrder, new GUILayoutOption[0]); } } List <ParticleSystemRenderer> list = new List <ParticleSystemRenderer>(); ParticleSystem[] particleSystems = this.m_ParticleSystemUI.m_ParticleSystems; for (int i = 0; i < particleSystems.Length; i++) { ParticleSystem particleSystem = particleSystems[i]; list.Add(particleSystem.GetComponent <ParticleSystemRenderer>()); } this.m_Probes.OnGUI(list.ToArray(), list.FirstOrDefault <ParticleSystemRenderer>(), true); }
public override void OnInspectorGUI(ParticleSystem s) { if (CollisionModuleUI.s_Texts == null) { CollisionModuleUI.s_Texts = new CollisionModuleUI.Texts(); } string[] options = new string[2] { "Planes", "World" }; CollisionModuleUI.CollisionTypes collisionTypes = (CollisionModuleUI.CollisionTypes)ModuleUI.GUIPopup(string.Empty, this.m_Type, options); CollisionModuleUI.CollisionModes collisionModes = CollisionModuleUI.CollisionModes.Mode3D; if (collisionTypes == CollisionModuleUI.CollisionTypes.Plane) { this.DoListOfPlanesGUI(); EditorGUI.BeginChangeCheck(); this.m_PlaneVisualizationType = (CollisionModuleUI.PlaneVizType)ModuleUI.GUIPopup(CollisionModuleUI.s_Texts.visualization, (int)this.m_PlaneVisualizationType, this.m_PlaneVizTypeNames); if (EditorGUI.EndChangeCheck()) { EditorPrefs.SetInt("PlaneColisionVizType", (int)this.m_PlaneVisualizationType); if (this.m_PlaneVisualizationType == CollisionModuleUI.PlaneVizType.Solid) { this.SyncVisualization(); } else { ParticleEffectUtils.ClearPlanes(); } } EditorGUI.BeginChangeCheck(); this.m_ScaleGrid = ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.scalePlane, this.m_ScaleGrid, "f2"); if (EditorGUI.EndChangeCheck()) { this.m_ScaleGrid = Mathf.Max(0.0f, this.m_ScaleGrid); EditorPrefs.SetFloat("ScalePlaneColision", this.m_ScaleGrid); this.SyncVisualization(); } } else { collisionModes = (CollisionModuleUI.CollisionModes)ModuleUI.GUIPopup(CollisionModuleUI.s_Texts.collisionMode, this.m_CollisionMode, new string[2] { "3D", "2D" }); } EditorGUI.BeginChangeCheck(); this.m_VisualizeBounds = ModuleUI.GUIToggle(CollisionModuleUI.s_Texts.visualizeBounds, this.m_VisualizeBounds); if (EditorGUI.EndChangeCheck()) { EditorPrefs.SetBool("VisualizeBounds", this.m_VisualizeBounds); } CollisionModuleUI.s_LastInteractedEditor = this; ModuleUI.GUIMinMaxCurve(CollisionModuleUI.s_Texts.dampen, this.m_Dampen); ModuleUI.GUIMinMaxCurve(CollisionModuleUI.s_Texts.bounce, this.m_Bounce); ModuleUI.GUIMinMaxCurve(CollisionModuleUI.s_Texts.lifetimeLoss, this.m_LifetimeLossOnCollision); double num1 = (double)ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.minKillSpeed, this.m_MinKillSpeed); if (collisionTypes != CollisionModuleUI.CollisionTypes.World || collisionModes == CollisionModuleUI.CollisionModes.Mode2D) { double num2 = (double)ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.radiusScale, this.m_RadiusScale); } if (collisionTypes == CollisionModuleUI.CollisionTypes.World) { ModuleUI.GUILayerMask(CollisionModuleUI.s_Texts.collidesWith, this.m_CollidesWith); ModuleUI.GUIToggle(CollisionModuleUI.s_Texts.collidesWithDynamic, this.m_CollidesWithDynamic); if (collisionModes == CollisionModuleUI.CollisionModes.Mode3D) { ModuleUI.GUIToggle(CollisionModuleUI.s_Texts.interiorCollisions, this.m_InteriorCollisions); } ModuleUI.GUIInt(CollisionModuleUI.s_Texts.maxCollisionShapes, this.m_MaxCollisionShapes); ModuleUI.GUIPopup(CollisionModuleUI.s_Texts.quality, this.m_Quality, CollisionModuleUI.s_Texts.qualitySettings); if (this.m_Quality.intValue > 0) { double num3 = (double)ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.voxelSize, this.m_VoxelSize); } } ModuleUI.GUIToggle(CollisionModuleUI.s_Texts.collisionMessages, this.m_CollisionMessages); }
public override void OnInspectorGUI(InitialModuleUI initial) { if (InitialModuleUI.s_Texts == null) { InitialModuleUI.s_Texts = new InitialModuleUI.Texts(); } ModuleUI.GUIFloat(InitialModuleUI.s_Texts.duration, this.m_LengthInSec, "f2", new GUILayoutOption[0]); EditorGUI.BeginChangeCheck(); bool flag = ModuleUI.GUIToggle(InitialModuleUI.s_Texts.looping, this.m_Looping, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck() && flag) { ParticleSystem[] particleSystems = this.m_ParticleSystemUI.m_ParticleSystems; for (int i = 0; i < particleSystems.Length; i++) { ParticleSystem particleSystem = particleSystems[i]; if (particleSystem.time >= particleSystem.main.duration) { particleSystem.time = 0f; } } } using (new EditorGUI.DisabledScope(!this.m_Looping.boolValue)) { ModuleUI.GUIToggle(InitialModuleUI.s_Texts.prewarm, this.m_Prewarm, new GUILayoutOption[0]); } using (new EditorGUI.DisabledScope(this.m_Prewarm.boolValue && this.m_Looping.boolValue)) { ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.startDelay, this.m_StartDelay, new GUILayoutOption[0]); } ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.lifetime, this.m_LifeTime, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.speed, this.m_Speed, new GUILayoutOption[0]); EditorGUI.BeginChangeCheck(); bool flag2 = ModuleUI.GUIToggle(InitialModuleUI.s_Texts.size3D, this.m_Size3D, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { if (flag2) { this.m_SizeX.RemoveCurveFromEditor(); } else { this.m_SizeX.RemoveCurveFromEditor(); this.m_SizeY.RemoveCurveFromEditor(); this.m_SizeZ.RemoveCurveFromEditor(); } } if (!this.m_SizeX.stateHasMultipleDifferentValues) { this.m_SizeZ.SetMinMaxState(this.m_SizeX.state, flag2); this.m_SizeY.SetMinMaxState(this.m_SizeX.state, flag2); } if (flag2) { this.m_SizeX.m_DisplayName = InitialModuleUI.s_Texts.x; base.GUITripleMinMaxCurve(GUIContent.none, InitialModuleUI.s_Texts.x, this.m_SizeX, InitialModuleUI.s_Texts.y, this.m_SizeY, InitialModuleUI.s_Texts.z, this.m_SizeZ, null, new GUILayoutOption[0]); } else { this.m_SizeX.m_DisplayName = InitialModuleUI.s_Texts.size; ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.size, this.m_SizeX, new GUILayoutOption[0]); } EditorGUI.BeginChangeCheck(); bool flag3 = ModuleUI.GUIToggle(InitialModuleUI.s_Texts.rotation3D, this.m_Rotation3D, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { if (flag3) { this.m_RotationZ.RemoveCurveFromEditor(); } else { this.m_RotationX.RemoveCurveFromEditor(); this.m_RotationY.RemoveCurveFromEditor(); this.m_RotationZ.RemoveCurveFromEditor(); } } if (!this.m_RotationZ.stateHasMultipleDifferentValues) { this.m_RotationX.SetMinMaxState(this.m_RotationZ.state, flag3); this.m_RotationY.SetMinMaxState(this.m_RotationZ.state, flag3); } if (flag3) { this.m_RotationZ.m_DisplayName = InitialModuleUI.s_Texts.z; base.GUITripleMinMaxCurve(GUIContent.none, InitialModuleUI.s_Texts.x, this.m_RotationX, InitialModuleUI.s_Texts.y, this.m_RotationY, InitialModuleUI.s_Texts.z, this.m_RotationZ, null, new GUILayoutOption[0]); } else { this.m_RotationZ.m_DisplayName = InitialModuleUI.s_Texts.rotation; ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.rotation, this.m_RotationZ, new GUILayoutOption[0]); } ModuleUI.GUIFloat(InitialModuleUI.s_Texts.randomizeRotationDirection, this.m_RandomizeRotationDirection, new GUILayoutOption[0]); base.GUIMinMaxGradient(InitialModuleUI.s_Texts.color, this.m_Color, false, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(InitialModuleUI.s_Texts.gravity, this.m_GravityModifier, new GUILayoutOption[0]); int num = ModuleUI.GUIPopup(InitialModuleUI.s_Texts.simulationSpace, this.m_SimulationSpace, new string[] { "Local", "World", "Custom" }, new GUILayoutOption[0]); if (num == 2 && this.m_CustomSimulationSpace != null) { ModuleUI.GUIObject(InitialModuleUI.s_Texts.customSimulationSpace, this.m_CustomSimulationSpace, new GUILayoutOption[0]); } ModuleUI.GUIFloat(InitialModuleUI.s_Texts.simulationSpeed, this.m_SimulationSpeed, new GUILayoutOption[0]); bool flag4 = this.m_ParticleSystemUI.m_ParticleSystems.FirstOrDefault((ParticleSystem o) => o.shape.shapeType != ParticleSystemShapeType.SkinnedMeshRenderer && o.shape.shapeType != ParticleSystemShapeType.MeshRenderer) != null; if (flag4) { ModuleUI.GUIPopup(InitialModuleUI.s_Texts.scalingMode, this.m_ScalingMode, new string[] { "Hierarchy", "Local", "Shape" }, new GUILayoutOption[0]); } bool boolValue = this.m_PlayOnAwake.boolValue; bool flag5 = ModuleUI.GUIToggle(InitialModuleUI.s_Texts.autoplay, this.m_PlayOnAwake, new GUILayoutOption[0]); if (boolValue != flag5) { this.m_ParticleSystemUI.m_ParticleEffectUI.PlayOnAwakeChanged(flag5); } ModuleUI.GUIInt(InitialModuleUI.s_Texts.maxParticles, this.m_MaxNumParticles, new GUILayoutOption[0]); if (!ModuleUI.GUIToggle(InitialModuleUI.s_Texts.autoRandomSeed, this.m_AutoRandomSeed, new GUILayoutOption[0])) { bool flag6 = this.m_ParticleSystemUI.m_ParticleEffectUI.m_Owner is ParticleSystemInspector; if (flag6) { GUILayout.BeginHorizontal(new GUILayoutOption[0]); ModuleUI.GUIInt(InitialModuleUI.s_Texts.randomSeed, this.m_RandomSeed, new GUILayoutOption[0]); if (!this.m_ParticleSystemUI.multiEdit && GUILayout.Button("Reseed", EditorStyles.miniButton, new GUILayoutOption[] { GUILayout.Width(60f) })) { this.m_RandomSeed.intValue = this.m_ParticleSystemUI.m_ParticleSystems[0].GenerateRandomSeed(); } GUILayout.EndHorizontal(); } else { ModuleUI.GUIInt(InitialModuleUI.s_Texts.randomSeed, this.m_RandomSeed, new GUILayoutOption[0]); if (!this.m_ParticleSystemUI.multiEdit && GUILayout.Button("Reseed", EditorStyles.miniButton, new GUILayoutOption[0])) { this.m_RandomSeed.intValue = this.m_ParticleSystemUI.m_ParticleSystems[0].GenerateRandomSeed(); } } } }
public override void OnInspectorGUI(ParticleSystem s) { if (s_Texts == null) { s_Texts = new Texts(); } string[] options = new string[] { "Planes", "World" }; EditorGUI.BeginChangeCheck(); CollisionTypes types = (CollisionTypes)ModuleUI.GUIPopup("", this.m_Type, options, new GUILayoutOption[0]); bool flag = EditorGUI.EndChangeCheck(); CollisionModes modes = CollisionModes.Mode3D; if (types == CollisionTypes.Plane) { this.DoListOfPlanesGUI(); EditorGUI.BeginChangeCheck(); this.m_PlaneVisualizationType = (PlaneVizType)ModuleUI.GUIPopup(s_Texts.visualization, (int)this.m_PlaneVisualizationType, this.m_PlaneVizTypeNames, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck() || flag) { EditorPrefs.SetInt("PlaneColisionVizType", (int)this.m_PlaneVisualizationType); if (this.m_PlaneVisualizationType == PlaneVizType.Solid) { this.SyncVisualization(); } else { ParticleEffectUtils.ClearPlanes(); } } EditorGUI.BeginChangeCheck(); this.m_ScaleGrid = ModuleUI.GUIFloat(s_Texts.scalePlane, this.m_ScaleGrid, "f2", new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { this.m_ScaleGrid = Mathf.Max(0f, this.m_ScaleGrid); EditorPrefs.SetFloat("ScalePlaneColision", this.m_ScaleGrid); this.SyncVisualization(); } } else { ParticleEffectUtils.ClearPlanes(); string[] textArray2 = new string[] { "3D", "2D" }; modes = (CollisionModes)ModuleUI.GUIPopup(s_Texts.collisionMode, this.m_CollisionMode, textArray2, new GUILayoutOption[0]); } EditorGUI.BeginChangeCheck(); s_VisualizeBounds = ModuleUI.GUIToggle(s_Texts.visualizeBounds, s_VisualizeBounds, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { EditorPrefs.SetBool("VisualizeBounds", s_VisualizeBounds); } ModuleUI.GUIMinMaxCurve(s_Texts.dampen, this.m_Dampen, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(s_Texts.bounce, this.m_Bounce, new GUILayoutOption[0]); ModuleUI.GUIMinMaxCurve(s_Texts.lifetimeLoss, this.m_LifetimeLossOnCollision, new GUILayoutOption[0]); ModuleUI.GUIFloat(s_Texts.minKillSpeed, this.m_MinKillSpeed, new GUILayoutOption[0]); ModuleUI.GUIFloat(s_Texts.maxKillSpeed, this.m_MaxKillSpeed, new GUILayoutOption[0]); ModuleUI.GUIFloat(s_Texts.radiusScale, this.m_RadiusScale, new GUILayoutOption[0]); if (types == CollisionTypes.World) { ModuleUI.GUILayerMask(s_Texts.collidesWith, this.m_CollidesWith, new GUILayoutOption[0]); if (modes == CollisionModes.Mode3D) { ModuleUI.GUIToggle(s_Texts.interiorCollisions, this.m_InteriorCollisions, new GUILayoutOption[0]); } ModuleUI.GUIInt(s_Texts.maxCollisionShapes, this.m_MaxCollisionShapes, new GUILayoutOption[0]); ModuleUI.GUIPopup(s_Texts.quality, this.m_Quality, s_Texts.qualitySettings, new GUILayoutOption[0]); if (this.m_Quality.intValue == 0) { ModuleUI.GUIToggle(s_Texts.collidesWithDynamic, this.m_CollidesWithDynamic, new GUILayoutOption[0]); } else { ModuleUI.GUIFloat(s_Texts.voxelSize, this.m_VoxelSize, new GUILayoutOption[0]); } } ModuleUI.GUIToggle(s_Texts.collisionMessages, this.m_CollisionMessages, new GUILayoutOption[0]); }