public override void OnSceneGUI(ParticleSystem s, InitialModuleUI initial)
{
Event current = Event.current;
EventType rawType = current.type;
if ((current.type == EventType.Ignore) && (current.rawType == EventType.MouseUp))
{
rawType = current.rawType;
}
Color color = Handles.color;
Color color2 = new Color(1f, 1f, 1f, 0.5f);
Handles.color = color2;
if (this.m_Type.intValue == 0)
{
for (int i = 0; i < this.m_ShownPlanes.Length; i++)
{
UnityEngine.Object objectReferenceValue = this.m_ShownPlanes[i].objectReferenceValue;
if (objectReferenceValue != null)
{
Transform objB = objectReferenceValue as Transform;
if (objB != null)
{
Vector3 position = objB.position;
Quaternion rotation = objB.rotation;
Vector3 vector2 = (Vector3) (rotation * Vector3.right);
Vector3 normal = (Vector3) (rotation * Vector3.up);
Vector3 vector4 = (Vector3) (rotation * Vector3.forward);
if (object.ReferenceEquals(m_SelectedTransform, objB))
{
Tools.s_Hidden = true;
EditorGUI.BeginChangeCheck();
if (Tools.current == Tool.Move)
{
objB.position = Handles.PositionHandle(position, rotation);
}
else if (Tools.current == Tool.Rotate)
{
objB.rotation = Handles.RotationHandle(rotation, position);
}
if (EditorGUI.EndChangeCheck())
{
if (this.m_PlaneVisualizationType == PlaneVizType.Solid)
{
GameObject plane = ParticleEffectUtils.GetPlane(i);
plane.transform.position = position;
plane.transform.rotation = rotation;
plane.transform.localScale = new Vector3(this.m_ScaleGrid, this.m_ScaleGrid, this.m_ScaleGrid);
}
ParticleSystemEditorUtils.PerformCompleteResimulation();
}
}
else
{
int keyboardControl = GUIUtility.keyboardControl;
float size = HandleUtility.GetHandleSize(position) * 0.06f;
Handles.FreeMoveHandle(position, Quaternion.identity, size, Vector3.zero, new Handles.DrawCapFunction(Handles.RectangleCap));
if (((rawType == EventType.MouseDown) && (current.type == EventType.Used)) && (keyboardControl != GUIUtility.keyboardControl))
{
m_SelectedTransform = objB;
rawType = EventType.Used;
}
}
if (this.m_PlaneVisualizationType == PlaneVizType.Grid)
{
Color color3 = (Color) (Handles.s_ColliderHandleColor * 0.9f);
if (!base.enabled)
{
color3 = new Color(0.7f, 0.7f, 0.7f, 0.7f);
}
this.DrawGrid(position, vector2, vector4, normal, color3, i);
}
else
{
this.DrawSolidPlane(position, rotation, i);
}
}
else
{
Debug.LogError("Not a transform: " + objectReferenceValue.GetType());
}
}
}
}
Handles.color = color;
}