Browse Source

add global handlers

MonkeyFirst 9 years ago
parent
commit
b0cade9697

+ 65 - 1
bin/Data/Scripts/Editor/EditorEventsHandlers.as

@@ -1,4 +1,7 @@
 // Editor main handlers (add your local handler in proper main handler to prevent losing events)
 // Editor main handlers (add your local handler in proper main handler to prevent losing events)
+const String EDITOR_EVENT_SCENE_LOADED("EditorEventSceneLoaded");
+const String EDITOR_EVENT_ORIGIN_START_HOVER("EditorEventOriginStartHover");
+const String EDITOR_EVENT_ORIGIN_END_HOVER("EditorEventOriginEndHover");
 
 
 void EditorSubscribeToEvents()
 void EditorSubscribeToEvents()
 {
 {
@@ -19,6 +22,19 @@ void EditorSubscribeToEvents()
     SubscribeToEvent("EndViewUpdate", "EditorMainHandleEndViewUpdate");
     SubscribeToEvent("EndViewUpdate", "EditorMainHandleEndViewUpdate");
     SubscribeToEvent("BeginViewRender", "EditorMainHandleBeginViewRender");
     SubscribeToEvent("BeginViewRender", "EditorMainHandleBeginViewRender");
     SubscribeToEvent("EndViewRender", "EditorMainHandleEndViewRender");
     SubscribeToEvent("EndViewRender", "EditorMainHandleEndViewRender");
+    
+    SubscribeToEvent(EDITOR_EVENT_SCENE_LOADED, "EditorMainHandleSceneLoaded");
+    
+    SubscribeToEvent("HoverBegin", "EditorMainHandleHoverBegin");
+    SubscribeToEvent("HoverEnd", "EditorMainHandleHoverEnd");
+    
+    SubscribeToEvent(EDITOR_EVENT_ORIGIN_START_HOVER, "EditorMainHandleOriginStartHover");
+    SubscribeToEvent(EDITOR_EVENT_ORIGIN_END_HOVER, "EditorMainHandleOriginEndHover");
+    
+    SubscribeToEvent("NodeAdded", "EditorMainHandleNodeAdded");
+    SubscribeToEvent("NodeRemoved", "EditorMainHandleNodeRemoved");
+    
+    SubscribeToEvent("NodeNameChanged", "EditorMainHandleNodeNameChanged");
 }
 }
 
 
 void EditorMainHandleKeyDown(StringHash eventType, VariantMap& eventData)
 void EditorMainHandleKeyDown(StringHash eventType, VariantMap& eventData)
@@ -46,6 +62,9 @@ void EditorMainHandleMouseMove(StringHash eventType, VariantMap& eventData)
 
 
     // EditorLayer.as handler
     // EditorLayer.as handler
     HandleHideLayerEditor(eventType, eventData);
     HandleHideLayerEditor(eventType, eventData);
+    
+    // PaintSelectionMouseMove
+    HandlePaintSelectionMouseMove(eventType, eventData);
 }
 }
 
 
 void EditorMainHandleMouseWheel(StringHash eventType, VariantMap& eventData)
 void EditorMainHandleMouseWheel(StringHash eventType, VariantMap& eventData)
@@ -54,7 +73,9 @@ void EditorMainHandleMouseWheel(StringHash eventType, VariantMap& eventData)
     HandleColorWheelMouseWheel(eventType, eventData);
     HandleColorWheelMouseWheel(eventType, eventData);
 
 
     // EditorLayer.as handler
     // EditorLayer.as handler
-    HandleMaskTypeScroll(eventType, eventData);    
+    HandleMaskTypeScroll(eventType, eventData);
+    // PaintSelection handler
+    HandlePaintSelectionWheel(eventType, eventData);
 }
 }
 
 
 void EditorMainHandleMouseButtonDown(StringHash eventType, VariantMap& eventData)
 void EditorMainHandleMouseButtonDown(StringHash eventType, VariantMap& eventData)
@@ -83,6 +104,7 @@ void EditorMainHandleUIMouseClick(StringHash eventType, VariantMap& eventData)
 {
 {
     // EditorView.as handler
     // EditorView.as handler
     ViewMouseClick();
     ViewMouseClick();
+    HandleOriginToggled(eventType, eventData);
 }
 }
 
 
 void EditorMainHandleUIMouseClickEnd(StringHash eventType, VariantMap& eventData)
 void EditorMainHandleUIMouseClickEnd(StringHash eventType, VariantMap& eventData)
@@ -111,4 +133,46 @@ void EditorMainHandleBeginViewRender(StringHash eventType, VariantMap& eventData
 void EditorMainHandleEndViewRender(StringHash eventType, VariantMap& eventData)
 void EditorMainHandleEndViewRender(StringHash eventType, VariantMap& eventData)
 {
 {
     HandleEndViewRender(eventType, eventData);
     HandleEndViewRender(eventType, eventData);
+}
+
+void EditorMainHandleSceneLoaded(StringHash eventType, VariantMap& eventData)
+{
+    HandleSceneLoadedForOrigins();
+}
+
+void EditorMainHandleHoverBegin(StringHash eventType, VariantMap& eventData)
+{
+    HandleOriginsHoverBegin(eventType, eventData);
+}
+
+void EditorMainHandleHoverEnd(StringHash eventType, VariantMap& eventData)
+{
+    HandleOriginsHoverEnd(eventType, eventData);
+}
+
+void EditorMainHandleNodeAdded(StringHash eventType, VariantMap& eventData)
+{
+    HandleNodeAdded(eventType, eventData);
+    rebuildSceneOrigins = true;
+}
+
+void EditorMainHandleNodeRemoved(StringHash eventType, VariantMap& eventData)
+{
+    HandleNodeRemoved(eventType, eventData);
+    rebuildSceneOrigins = true;
+}
+
+void EditorMainHandleNodeNameChanged(StringHash eventType, VariantMap& eventData)
+{
+    HandleNodeNameChanged(eventType, eventData);
+}
+
+void EditorMainHandleOriginStartHover(StringHash eventType, VariantMap& eventData)
+{
+
+}
+
+void EditorMainHandleOriginEndHover(StringHash eventType, VariantMap& eventData)
+{
+
 }
 }

+ 17 - 3
bin/Data/Scripts/Editor/EditorHierarchyWindow.as

@@ -85,11 +85,8 @@ void CreateHierarchyWindow()
     SubscribeToEvent(hierarchyList, "ItemClicked", "HandleHierarchyItemClick");
     SubscribeToEvent(hierarchyList, "ItemClicked", "HandleHierarchyItemClick");
     SubscribeToEvent("DragDropTest", "HandleDragDropTest");
     SubscribeToEvent("DragDropTest", "HandleDragDropTest");
     SubscribeToEvent("DragDropFinish", "HandleDragDropFinish");
     SubscribeToEvent("DragDropFinish", "HandleDragDropFinish");
-    SubscribeToEvent(editorScene, "NodeAdded", "HandleNodeAdded");
-    SubscribeToEvent(editorScene, "NodeRemoved", "HandleNodeRemoved");
     SubscribeToEvent(editorScene, "ComponentAdded", "HandleComponentAdded");
     SubscribeToEvent(editorScene, "ComponentAdded", "HandleComponentAdded");
     SubscribeToEvent(editorScene, "ComponentRemoved", "HandleComponentRemoved");
     SubscribeToEvent(editorScene, "ComponentRemoved", "HandleComponentRemoved");
-    SubscribeToEvent(editorScene, "NodeNameChanged", "HandleNodeNameChanged");
     SubscribeToEvent(editorScene, "NodeEnabledChanged", "HandleNodeEnabledChanged");
     SubscribeToEvent(editorScene, "NodeEnabledChanged", "HandleNodeEnabledChanged");
     SubscribeToEvent(editorScene, "ComponentEnabledChanged", "HandleComponentEnabledChanged");
     SubscribeToEvent(editorScene, "ComponentEnabledChanged", "HandleComponentEnabledChanged");
     SubscribeToEvent("TemporaryChanged", "HandleTemporaryChanged");
     SubscribeToEvent("TemporaryChanged", "HandleTemporaryChanged");
@@ -541,6 +538,23 @@ void SelectNode(Node@ node, bool multiselect)
         hierarchyList.ClearSelection();
         hierarchyList.ClearSelection();
 }
 }
 
 
+void DeselectNode(Node@ node)
+{
+    if (node is null)
+    {
+        hierarchyList.ClearSelection();
+        return;
+    }
+
+    uint index = GetListIndex(node);
+    uint numItems = hierarchyList.numItems;
+
+    if (index < numItems)
+    {
+        hierarchyList.ToggleSelection(index);
+    }
+}
+
 void SelectComponent(Component@ component, bool multiselect)
 void SelectComponent(Component@ component, bool multiselect)
 {
 {
     if (component is null && !multiselect)
     if (component is null && !multiselect)