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);
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(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[]
{
"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);
ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.minKillSpeed, this.m_MinKillSpeed);
if (collisionTypes != CollisionModuleUI.CollisionTypes.World || collisionModes == CollisionModuleUI.CollisionModes.Mode2D)
{
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)
{
ModuleUI.GUIFloat(CollisionModuleUI.s_Texts.voxelSize, this.m_VoxelSize);
}
}
ModuleUI.GUIToggle(CollisionModuleUI.s_Texts.collisionMessages, this.m_CollisionMessages);
}