private DrawGrid ( Vector3 pos, Vector3 axis1, Vector3 axis2, Vector3 normal, Color color, int planeIndex ) : void | ||
pos | Vector3 | |
axis1 | Vector3 | |
axis2 | Vector3 | |
normal | Vector3 | |
color | Color | |
planeIndex | int | |
return | void |
private void CollisionPlanesSceneGUI() { if (this.m_ScenePlanes.Count != 0) { Event current = Event.current; Color color = Handles.color; Color color2 = new Color(1f, 1f, 1f, 0.5f); for (int i = 0; i < this.m_ScenePlanes.Count; i++) { if (!(this.m_ScenePlanes[i] == null)) { Transform transform = this.m_ScenePlanes[i]; Vector3 position = transform.position; Quaternion rotation = transform.rotation; Vector3 axis = rotation * Vector3.right; Vector3 normal = rotation * Vector3.up; Vector3 axis2 = rotation * Vector3.forward; bool flag = EditorApplication.isPlaying && transform.gameObject.isStatic; if (this.editingPlanes) { if (object.ReferenceEquals(CollisionModuleUI.s_SelectedTransform, transform)) { EditorGUI.BeginChangeCheck(); Vector3 position2 = transform.position; Quaternion rotation2 = transform.rotation; using (new EditorGUI.DisabledScope(flag)) { if (flag) { Handles.ShowStaticLabel(position); } if (EditMode.editMode == EditMode.SceneViewEditMode.ParticleSystemCollisionModulePlanesMove) { position2 = Handles.PositionHandle(position, rotation); } else if (EditMode.editMode == EditMode.SceneViewEditMode.ParticleSystemCollisionModulePlanesRotate) { rotation2 = Handles.RotationHandle(rotation, position); } } if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(transform, "Modified Collision Plane Transform"); transform.position = position2; transform.rotation = rotation2; ParticleSystemEditorUtils.PerformCompleteResimulation(); } } else { float num = HandleUtility.GetHandleSize(position) * 0.6f; EventType eventType = current.type; if (current.type == EventType.Ignore && current.rawType == EventType.MouseUp) { eventType = current.rawType; } Vector3 arg_1F3_0 = position; Quaternion arg_1F3_1 = Quaternion.identity; float arg_1F3_2 = num; Vector3 arg_1F3_3 = Vector3.zero; if (CollisionModuleUI.< > f__mg$cache0 == null) { CollisionModuleUI.< > f__mg$cache0 = new Handles.CapFunction(Handles.RectangleHandleCap); } Handles.FreeMoveHandle(arg_1F3_0, arg_1F3_1, arg_1F3_2, arg_1F3_3, CollisionModuleUI.< > f__mg$cache0); if (eventType == EventType.MouseDown && current.type == EventType.Used) { CollisionModuleUI.s_SelectedTransform = transform; GUIUtility.hotControl = 0; } } } Handles.color = color2; Color color3 = Handles.s_ColliderHandleColor * 0.9f; if (flag) { color3.a *= 0.2f; } if (CollisionModuleUI.m_PlaneVisualizationType == CollisionModuleUI.PlaneVizType.Grid) { CollisionModuleUI.DrawGrid(position, axis, axis2, normal, color3); } else { CollisionModuleUI.DrawSolidPlane(position, rotation, color3, Color.yellow); } } } Handles.color = color; } }