private static void CollapseToolbar(InternalEditorBridge.WrappedShortcutArguments args)
        {
            var sm = GetModuleFromContext(args);

            if (sm != null)
            {
                SkinningModuleSettings.compactToolBar = !SkinningModuleSettings.compactToolBar;
            }
        }
        private static void EditJointsKey(InternalEditorBridge.WrappedShortcutArguments args)
        {
            var sm = GetModuleFromContext(args);

            if (sm != null && !sm.spriteEditor.editingDisabled)
            {
                sm.SetSkeletonTool(Tools.EditJoints);
                sm.skinningCache.events.shortcut.Invoke("#w");
            }
        }
        private static void VisibilityPanelKey(InternalEditorBridge.WrappedShortcutArguments args)
        {
            var sm = GetModuleFromContext(args);

            if (sm != null && !sm.spriteEditor.editingDisabled)
            {
                sm.m_HorizontalToggleTools.ToggleVisibilityTool(sm.currentTool);
                sm.skinningCache.events.shortcut.Invoke("#p");
            }
        }
        private static void BoneInfluenceKey(InternalEditorBridge.WrappedShortcutArguments args)
        {
            var sm = GetModuleFromContext(args);

            if (sm != null && !sm.spriteEditor.editingDisabled && sm.skinningCache.mode == SkinningMode.Character)
            {
                sm.SetWeightTool(Tools.BoneInfluence);
                sm.skinningCache.events.shortcut.Invoke("#v");
            }
        }
        private static void WeightBrushKey(InternalEditorBridge.WrappedShortcutArguments args)
        {
            var sm = GetModuleFromContext(args);

            if (sm != null && !sm.spriteEditor.editingDisabled)
            {
                sm.SetWeightTool(Tools.WeightBrush);
                sm.skinningCache.events.shortcut.Invoke("#c");
            }
        }
        private static void SplitEdge(InternalEditorBridge.WrappedShortcutArguments args)
        {
            var sm = GetModuleFromContext(args);

            if (sm != null && !sm.spriteEditor.editingDisabled)
            {
                sm.SetMeshTool(Tools.SplitEdge);
                sm.skinningCache.events.shortcut.Invoke("#h");
            }
        }
        private static void MeshSelectionKey(InternalEditorBridge.WrappedShortcutArguments args)
        {
            var sm = GetModuleFromContext(args);

            if (sm != null && !sm.spriteEditor.editingDisabled)
            {
                sm.SetMeshTool(Tools.EditGeometry);
                sm.skinningCache.events.shortcut.Invoke("#s");
            }
        }
        private static SkinningModule GetModuleFromContext(InternalEditorBridge.WrappedShortcutArguments args)
        {
            var sc = args.context as InternalEditorBridge.ShortcutContext;

            if (sc == null)
            {
                return(null);
            }

            return(sc.context as SkinningModule);
        }
        private static void DisablePoseModeKey(InternalEditorBridge.WrappedShortcutArguments args)
        {
            var sm = GetModuleFromContext(args);

            if (sm != null && !sm.spriteEditor.editingDisabled && sm.skinningCache.GetEffectiveSkeleton(sm.skinningCache.selectedSprite).isPosePreview)
            {
                using (sm.skinningCache.UndoScope(TextContent.restorePose))
                {
                    sm.skinningCache.RestoreBindPose();
                    sm.skinningCache.events.shortcut.Invoke("#1");
                }
            }
        }
        private static void ToggleCharacterModeKey(InternalEditorBridge.WrappedShortcutArguments args)
        {
            var sm = GetModuleFromContext(args);

            if (sm != null && !sm.spriteEditor.editingDisabled && sm.skinningCache.hasCharacter)
            {
                var tool = sm.skinningCache.GetTool(Tools.SwitchMode);

                using (sm.skinningCache.UndoScope(TextContent.setMode))
                {
                    if (tool.isActive)
                    {
                        tool.Deactivate();
                    }
                    else
                    {
                        tool.Activate();
                    }
                }

                sm.skinningCache.events.shortcut.Invoke("#2");
            }
        }