first commit
This commit is contained in:
36
addons/script_spliter/context/context_window.gd
Normal file
36
addons/script_spliter/context/context_window.gd
Normal file
@@ -0,0 +1,36 @@
|
||||
@tool
|
||||
extends EditorContextMenuPlugin
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
# Script Spliter
|
||||
# https://github.com/CodeNameTwister/Script-Spliter
|
||||
#
|
||||
# Script Spliter addon for godot 4
|
||||
# author: "Twister"
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
var CONTEXT : String = "CUSTOM"
|
||||
var ICON : Texture = null
|
||||
var SHORTCUT : Shortcut = null
|
||||
var CALLABLE : Callable
|
||||
var VALIDATOR : Callable
|
||||
|
||||
func _init(context : String, handle : Callable, validator : Callable, icon : Texture, input_key : Array[InputEvent] = []):
|
||||
CONTEXT = context
|
||||
CALLABLE = handle
|
||||
ICON = icon
|
||||
VALIDATOR = validator
|
||||
if input_key.size() > 0:
|
||||
SHORTCUT = Shortcut.new()
|
||||
SHORTCUT.events = input_key
|
||||
add_menu_shortcut(SHORTCUT, handle)
|
||||
|
||||
func _popup_menu(paths : PackedStringArray):
|
||||
if VALIDATOR.is_valid():
|
||||
if !VALIDATOR.call(paths):
|
||||
return
|
||||
if SHORTCUT:
|
||||
add_context_menu_item_from_shortcut(CONTEXT, SHORTCUT, ICON)
|
||||
else:
|
||||
if CALLABLE.is_valid():
|
||||
add_context_menu_item(CONTEXT, CALLABLE, ICON)
|
||||
else:
|
||||
push_error("Not valid callaback!")
|
||||
Reference in New Issue
Block a user