有没有办法从代码中 set/edit 统一快捷方式?
Is there a way to set/edit unity shortcuts from code?
我正在尝试为代码中的统一项设置快捷方式。
更具体地说,预制编辑器的 Stage/Go 返回。
我知道,手动编辑快捷方式是可能的(推荐,甚至),但是如果可以从代码中激活或停用快捷方式,那么对于我正在尝试做的事情将非常有帮助。
我试过使用 EditorApplication.ExecuteMenuItem("Stage/Go back");
,但它不适用于那个。
如果做不到,我会理解的,谢谢!
感谢用户 derHugo i found the API to shortcut management,在理解代码几分钟后,我终于能够做到这一点。我会把代码留在这里,以防有人需要知道我是怎么做到的。
/*You need to access ShortcutManager's instance and call to RebindShortcut
RebindShortcut works by passing the id(string) of the shortcut to modify and a KeyCombination
KeyCombination accepts the keyCode and modifier like Shift or Action(Ctrl)
*/
KeyCombination keyCombination = new KeyCombination(KeyCode.O, ShortcutModifiers.Shift); // I don't know how to add more than one modifiers
ShortcutManager.instance.RebindShortcut("Stage/Go Back", new ShortcutBinding(keyCombination));
我正在尝试为代码中的统一项设置快捷方式。 更具体地说,预制编辑器的 Stage/Go 返回。 我知道,手动编辑快捷方式是可能的(推荐,甚至),但是如果可以从代码中激活或停用快捷方式,那么对于我正在尝试做的事情将非常有帮助。
我试过使用 EditorApplication.ExecuteMenuItem("Stage/Go back");
,但它不适用于那个。
如果做不到,我会理解的,谢谢!
感谢用户 derHugo i found the API to shortcut management,在理解代码几分钟后,我终于能够做到这一点。我会把代码留在这里,以防有人需要知道我是怎么做到的。
/*You need to access ShortcutManager's instance and call to RebindShortcut
RebindShortcut works by passing the id(string) of the shortcut to modify and a KeyCombination
KeyCombination accepts the keyCode and modifier like Shift or Action(Ctrl)
*/
KeyCombination keyCombination = new KeyCombination(KeyCode.O, ShortcutModifiers.Shift); // I don't know how to add more than one modifiers
ShortcutManager.instance.RebindShortcut("Stage/Go Back", new ShortcutBinding(keyCombination));