public override void OnInspectorGUI(ParticleSystem s)
{
if (s_Texts == null)
{
s_Texts = new Texts();
}
string[] options = new string[] { "Planes", "World" };
CollisionTypes types = (CollisionTypes) ModuleUI.GUIPopup(string.Empty, this.m_Type, options);
if (types == CollisionTypes.Plane)
{
this.DoListOfPlanesGUI();
EditorGUI.BeginChangeCheck();
this.m_PlaneVisualizationType = (PlaneVizType) ModuleUI.GUIPopup(s_Texts.visualization, (int) this.m_PlaneVisualizationType, this.m_PlaneVizTypeNames);
if (EditorGUI.EndChangeCheck())
{
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");
if (EditorGUI.EndChangeCheck())
{
this.m_ScaleGrid = Mathf.Max(0f, this.m_ScaleGrid);
EditorPrefs.SetFloat("ScalePlaneColision", this.m_ScaleGrid);
this.SyncVisualization();
}
}
ModuleUI.GUIFloat(s_Texts.dampen, this.m_Dampen);
ModuleUI.GUIFloat(s_Texts.bounce, this.m_Bounce);
ModuleUI.GUIFloat(s_Texts.lifetimeLoss, this.m_LifetimeLossOnCollision);
ModuleUI.GUIFloat(s_Texts.minKillSpeed, this.m_MinKillSpeed);
if (types != CollisionTypes.World)
{
ModuleUI.GUIFloat(s_Texts.particleRadius, this.m_ParticleRadius);
}
if (types == CollisionTypes.World)
{
ModuleUI.GUILayerMask(s_Texts.collidesWith, this.m_CollidesWith);
ModuleUI.GUIPopup(s_Texts.quality, this.m_Quality, s_Texts.qualitySettings);
if (this.m_Quality.intValue > 0)
{
ModuleUI.GUIFloat(s_Texts.voxelSize, this.m_VoxelSize);
}
}
ModuleUI.GUIToggle(s_Texts.collisionMessages, this.m_CollisionMessages);
}