public bool OnSceneGUI(Transform transform) { if (!this.m_Group.enabled) { return(this.m_Editing); } if (Event.current.type == EventType.Layout) { if (this.m_LastPosition != this.m_Group.transform.position || this.m_LastRotation != this.m_Group.transform.rotation || this.m_LastScale != this.m_Group.transform.localScale) { this.MarkTetrahedraDirty(); } this.m_LastPosition = this.m_Group.transform.position; this.m_LastRotation = this.m_Group.transform.rotation; this.m_LastScale = this.m_Group.transform.localScale; } bool firstSelect = false; if (Event.current.type == EventType.MouseDown && Event.current.button == 0 && (this.SelectedCount == 0 && PointEditor.FindNearest(Event.current.mousePosition, transform, (IEditablePoint)this) != -1) && !this.m_Editing) { this.m_Editing = true; firstSelect = true; } bool flag = Event.current.type == EventType.MouseUp; if (this.m_Editing && PointEditor.SelectPoints((IEditablePoint)this, transform, ref this.m_Selection, firstSelect)) { Undo.RegisterCompleteObjectUndo(new UnityEngine.Object[2] { (UnityEngine.Object) this.m_Group, (UnityEngine.Object) this.m_SerializedSelectedProbes }, "Select Probes"); } if (this.m_Editing && flag && this.SelectedCount == 0) { this.m_Editing = false; this.MarkTetrahedraDirty(); } if ((Event.current.type == EventType.ValidateCommand || Event.current.type == EventType.ExecuteCommand) && Event.current.commandName == "Paste") { if (Event.current.type == EventType.ValidateCommand && LightProbeGroupEditor.CanPasteProbes()) { Event.current.Use(); } if (Event.current.type == EventType.ExecuteCommand && this.PasteProbes()) { Event.current.Use(); this.m_Editing = true; } } this.DrawTetrahedra(); PointEditor.Draw((IEditablePoint)this, transform, this.m_Selection, true); if (!this.m_Editing) { return(this.m_Editing); } this.HandleEditMenuHotKeyCommands(); if (this.m_Editing && PointEditor.MovePoints((IEditablePoint)this, transform, this.m_Selection)) { Undo.RegisterCompleteObjectUndo(new UnityEngine.Object[2] { (UnityEngine.Object) this.m_Group, (UnityEngine.Object) this.m_SerializedSelectedProbes }, "Move Probes"); if (LightmapVisualization.dynamicUpdateLightProbes) { this.MarkTetrahedraDirty(); } } if (this.m_Editing && flag && !LightmapVisualization.dynamicUpdateLightProbes) { this.MarkTetrahedraDirty(); } return(this.m_Editing); }