public override void OnInspectorGUI(ParticleSystem s) { if (CollisionModuleUI.s_Texts == null) { CollisionModuleUI.s_Texts = new CollisionModuleUI.Texts(); } string[] options = new string[] { "Planes", "World" }; CollisionModuleUI.CollisionTypes collisionTypes = (CollisionModuleUI.CollisionTypes)ModuleUI.GUIPopup(string.Empty, this.m_Type, options); 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(0f, this.m_ScaleGrid); EditorPrefs.SetFloat("ScalePlaneColision", this.m_ScaleGrid); this.SyncVisualization(); } } ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.dampen, this.m_Dampen); ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.bounce, this.m_Bounce); ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.lifetimeLoss, this.m_LifetimeLossOnCollision); ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.minKillSpeed, this.m_MinKillSpeed); if (collisionTypes != CollisionModuleUI.CollisionTypes.World) { ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.particleRadius, this.m_ParticleRadius); } if (collisionTypes == CollisionModuleUI.CollisionTypes.World) { ModuleUI.GUILayerMask(CollisionModuleUI.s_Texts.collidesWith, this.m_CollidesWith); ModuleUI.GUIPopup(CollisionModuleUI.s_Texts.quality, this.m_Quality, CollisionModuleUI.s_Texts.qualitySettings); if (this.m_Quality.intValue > 0) { ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.voxelSize, this.m_VoxelSize); } } ModuleUI.GUIToggle(CollisionModuleUI.s_Texts.collisionMessages, this.m_CollisionMessages); }
protected override void Init() { if (this.m_Type == null) { if (CollisionModuleUI.s_Texts == null) { CollisionModuleUI.s_Texts = new CollisionModuleUI.Texts(); } this.m_Type = base.GetProperty("type"); List <SerializedProperty> list = new List <SerializedProperty>(); for (int i = 0; i < this.m_Planes.Length; i++) { this.m_Planes[i] = base.GetProperty("plane" + i); if (i == 0 || this.m_Planes[i].objectReferenceValue != null) { list.Add(this.m_Planes[i]); } } this.m_ShownPlanes = list.ToArray(); this.m_Dampen = new SerializedMinMaxCurve(this, CollisionModuleUI.s_Texts.dampen, "m_Dampen"); this.m_Dampen.m_AllowCurves = false; this.m_Bounce = new SerializedMinMaxCurve(this, CollisionModuleUI.s_Texts.bounce, "m_Bounce"); this.m_Bounce.m_AllowCurves = false; this.m_LifetimeLossOnCollision = new SerializedMinMaxCurve(this, CollisionModuleUI.s_Texts.lifetimeLoss, "m_EnergyLossOnCollision"); this.m_LifetimeLossOnCollision.m_AllowCurves = false; this.m_MinKillSpeed = base.GetProperty("minKillSpeed"); this.m_MaxKillSpeed = base.GetProperty("maxKillSpeed"); this.m_RadiusScale = base.GetProperty("radiusScale"); CollisionModuleUI.m_PlaneVisualizationType = (CollisionModuleUI.PlaneVizType)EditorPrefs.GetInt("PlaneColisionVizType", 1); CollisionModuleUI.m_ScaleGrid = EditorPrefs.GetFloat("ScalePlaneColision", 1f); CollisionModuleUI.s_VisualizeBounds = EditorPrefs.GetBool("VisualizeBounds", false); this.m_CollidesWith = base.GetProperty("collidesWith"); this.m_CollidesWithDynamic = base.GetProperty("collidesWithDynamic"); this.m_MaxCollisionShapes = base.GetProperty("maxCollisionShapes"); this.m_Quality = base.GetProperty("quality"); this.m_VoxelSize = base.GetProperty("voxelSize"); this.m_CollisionMessages = base.GetProperty("collisionMessages"); this.m_CollisionMode = base.GetProperty("collisionMode"); this.m_ColliderForce = base.GetProperty("colliderForce"); this.m_MultiplyColliderForceByCollisionAngle = base.GetProperty("multiplyColliderForceByCollisionAngle"); this.m_MultiplyColliderForceByParticleSpeed = base.GetProperty("multiplyColliderForceByParticleSpeed"); this.m_MultiplyColliderForceByParticleSize = base.GetProperty("multiplyColliderForceByParticleSize"); this.SyncVisualization(); } }
protected override void Init() { if (this.m_Type != null) { return; } if (CollisionModuleUI.s_Texts == null) { CollisionModuleUI.s_Texts = new CollisionModuleUI.Texts(); } this.m_Type = this.GetProperty("type"); List <SerializedProperty> serializedPropertyList = new List <SerializedProperty>(); for (int index = 0; index < this.m_Planes.Length; ++index) { this.m_Planes[index] = this.GetProperty("plane" + (object)index); if (index == 0 || this.m_Planes[index].objectReferenceValue != (Object)null) { serializedPropertyList.Add(this.m_Planes[index]); } } this.m_ShownPlanes = serializedPropertyList.ToArray(); this.m_Dampen = new SerializedMinMaxCurve((ModuleUI)this, CollisionModuleUI.s_Texts.dampen, "m_Dampen"); this.m_Dampen.m_AllowCurves = false; this.m_Bounce = new SerializedMinMaxCurve((ModuleUI)this, CollisionModuleUI.s_Texts.bounce, "m_Bounce"); this.m_Bounce.m_AllowCurves = false; this.m_LifetimeLossOnCollision = new SerializedMinMaxCurve((ModuleUI)this, CollisionModuleUI.s_Texts.lifetimeLoss, "m_EnergyLossOnCollision"); this.m_LifetimeLossOnCollision.m_AllowCurves = false; this.m_MinKillSpeed = this.GetProperty("minKillSpeed"); this.m_RadiusScale = this.GetProperty("radiusScale"); this.m_PlaneVisualizationType = (CollisionModuleUI.PlaneVizType)EditorPrefs.GetInt("PlaneColisionVizType", 1); this.m_ScaleGrid = EditorPrefs.GetFloat("ScalePlaneColision", 1f); this.m_VisualizeBounds = EditorPrefs.GetBool("VisualizeBounds", false); this.m_CollidesWith = this.GetProperty("collidesWith"); this.m_CollidesWithDynamic = this.GetProperty("collidesWithDynamic"); this.m_InteriorCollisions = this.GetProperty("interiorCollisions"); this.m_MaxCollisionShapes = this.GetProperty("maxCollisionShapes"); this.m_Quality = this.GetProperty("quality"); this.m_VoxelSize = this.GetProperty("voxelSize"); this.m_CollisionMessages = this.GetProperty("collisionMessages"); this.m_CollisionMode = this.GetProperty("collisionMode"); this.SyncVisualization(); }
protected override void Init() { if (this.m_Type != null) return; if (CollisionModuleUI.s_Texts == null) CollisionModuleUI.s_Texts = new CollisionModuleUI.Texts(); this.m_Type = this.GetProperty("type"); List<SerializedProperty> serializedPropertyList = new List<SerializedProperty>(); for (int index = 0; index < this.m_Planes.Length; ++index) { this.m_Planes[index] = this.GetProperty("plane" + (object) index); if (index == 0 || this.m_Planes[index].objectReferenceValue != (Object) null) serializedPropertyList.Add(this.m_Planes[index]); } this.m_ShownPlanes = serializedPropertyList.ToArray(); this.m_Dampen = new SerializedMinMaxCurve((ModuleUI) this, CollisionModuleUI.s_Texts.dampen, "m_Dampen"); this.m_Dampen.m_AllowCurves = false; this.m_Bounce = new SerializedMinMaxCurve((ModuleUI) this, CollisionModuleUI.s_Texts.bounce, "m_Bounce"); this.m_Bounce.m_AllowCurves = false; this.m_LifetimeLossOnCollision = new SerializedMinMaxCurve((ModuleUI) this, CollisionModuleUI.s_Texts.lifetimeLoss, "m_EnergyLossOnCollision"); this.m_LifetimeLossOnCollision.m_AllowCurves = false; this.m_MinKillSpeed = this.GetProperty("minKillSpeed"); this.m_RadiusScale = this.GetProperty("radiusScale"); this.m_PlaneVisualizationType = (CollisionModuleUI.PlaneVizType) EditorPrefs.GetInt("PlaneColisionVizType", 1); this.m_ScaleGrid = EditorPrefs.GetFloat("ScalePlaneColision", 1f); this.m_VisualizeBounds = EditorPrefs.GetBool("VisualizeBounds", false); this.m_CollidesWith = this.GetProperty("collidesWith"); this.m_CollidesWithDynamic = this.GetProperty("collidesWithDynamic"); this.m_InteriorCollisions = this.GetProperty("interiorCollisions"); this.m_MaxCollisionShapes = this.GetProperty("maxCollisionShapes"); this.m_Quality = this.GetProperty("quality"); this.m_VoxelSize = this.GetProperty("voxelSize"); this.m_CollisionMessages = this.GetProperty("collisionMessages"); this.m_CollisionMode = this.GetProperty("collisionMode"); this.SyncVisualization(); }
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(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); }