public WorldSnapshotImpl(ISnapshotPanel snapshotPanel, IEditorPlugin editorPlugin, HotkeyManager hotkeyManager) { this.snapshotPanel = snapshotPanel; this.editorPlugin = editorPlugin; this.hotkeyManager = hotkeyManager; GameCallbacks.AddInstallCallback(OnInstallCallback); GameCallbacks.AddSetupSceneCall(OnSetupSceneCallback); GameCallbacks.AddCleanupSceneCall(OnCleanupCallback); ObjectCallbacks.AddOnTargetCallback(OnTarget); ImGuiCallbacks.AddOnEnabledCallback(OnGizmoEnabled); ImGuiCallbacks.AddOnDisabledCallback(OnGizmoDisabled); ImGuiCallbacks.AddOnPositionChangedCallback(OnPositionChanged); ImGuiCallbacks.AddOnRotationChangedCallback(OnRotationChanged); hotkeyManager.Add(new Hotkey("ToggleSnapshotNodeEditingMode", "Toggle Snapshot Node Editing Mode", "Oemtilde", ToggleNodeEditing, true)); hotkeyManager.Add(new Hotkey("SaveSnapshot", "Save Snapshot", "Control + S", Save, true)); hotkeyManager.Add(new Hotkey("CopySnapshotNode", "Copy Snapshot Node", "Control + C", CopyNode, true, true, true)); hotkeyManager.Add(new Hotkey("PasteSnapshotNode", "Paste Snapshot Node", "Control + V", PasteNode, true, true, true)); hotkeyManager.Add(new Hotkey("DuplicateSnapshotNode", "Duplicate Snapshot Node", "Control + D", DuplicateNode, true, true, true)); hotkeyManager.Add(new Hotkey("DeleteSnapshotNode", "Delete Snapshot Node", "Delete", RemoveNode, true, true, true)); hotkeyManager.Add(new Hotkey("SetGizmoTranslateOperationMode", "Set Gizmo Operation Mode to Translate", "Control + Q", SetOperationModeToTranslateHotkey, true, false, true)); hotkeyManager.Add(new Hotkey("SetGizmoRotationOperationMode", "Set Gizmo Operation Mode to Rotation", "Control + E", SetOperationModeToRotationHotkey, true, false, true)); hotkeyManager.Add(new Hotkey("ToggleGizmoSnap", "Toggle Gizmo Snap", "Control + B", ToggleGizmoSnapHotkey, true, false, true)); }
public ExampleEditorSubPanel(IEditorPlugin editorPlugin) : base(editorPlugin.Information.Name) { InitializeComponent(); this.editorPlugin = editorPlugin; ObjectCallbacks.AddOnTargetCallback(OnTarget); ImGuiCallbacks.AddOnPositionChangedCallback(OnPositionChanged); ImGuiCallbacks.AddOnRotationChangedCallback(OnRotationChanged); Task updateNodePositionLabel = UpdateNodePositionLabel(); }