some shake
This commit is contained in:
50
addons/shaker/src/shaker_inspector.gd
Normal file
50
addons/shaker/src/shaker_inspector.gd
Normal file
@@ -0,0 +1,50 @@
|
||||
extends EditorInspectorPlugin
|
||||
|
||||
const GRAPH_SCRIPT = preload("res://addons/shaker/src/shaker_graph.gd")
|
||||
const SHAKER_PANEL = preload("res://addons/shaker/src/shaker_panel.gd")
|
||||
|
||||
func _can_handle(object: Object) -> bool:
|
||||
return (object is ShakerTypeBase || object is ShakerPresetBase || object is ShakerComponent3D || object is ShakerComponent2D )
|
||||
|
||||
func _parse_group(object: Object, group: String) -> void:
|
||||
if object is ShakerTypeBase:
|
||||
if group == "Live Shake Graph":
|
||||
add_graph(object)
|
||||
|
||||
func _parse_category(object: Object, category: String) -> void:
|
||||
pass
|
||||
|
||||
func _parse_begin(object: Object) -> void:
|
||||
if object is ShakerComponent3D || object is ShakerComponent2D:
|
||||
var _panel:MarginContainer = SHAKER_PANEL.new()
|
||||
_panel.Target = object;
|
||||
_panel.set_anchors_preset(Control.PRESET_FULL_RECT)
|
||||
add_custom_control(_panel)
|
||||
|
||||
func _parse_end(object: Object) -> void:
|
||||
pass
|
||||
|
||||
func add_graph(_object:Object) -> Panel:
|
||||
var property_control:Panel = Panel.new()
|
||||
property_control.set_script(GRAPH_SCRIPT)
|
||||
property_control.shake = _object;
|
||||
add_custom_control(property_control)
|
||||
property_control.custom_minimum_size.y = 128;
|
||||
property_control.set_anchors_preset(Control.PRESET_FULL_RECT)
|
||||
return property_control;
|
||||
|
||||
func _parse_property(object: Object, type: Variant.Type, name: String, hint_type: PropertyHint, hint_string: String, usage_flags: int, wide: bool) -> bool:
|
||||
if object is ShakerTypeBase:
|
||||
if name == "_temp_graph":
|
||||
return true;
|
||||
if object is ShakerPresetBase:
|
||||
if name == "bake_internal":
|
||||
object.Graph = add_graph(object)
|
||||
if object is ShakerComponent3D:
|
||||
if name == "is_playing":
|
||||
#var _panel:Panel = SHAKER_PANEL.new()
|
||||
#_panel.Target = object;
|
||||
#_panel.set_anchors_preset(Control.PRESET_FULL_RECT)
|
||||
#add_custom_control(_panel)
|
||||
return true;
|
||||
return false;
|
||||
Reference in New Issue
Block a user