From de2678f43d27c286db32a7960f37e8d3cf03224e Mon Sep 17 00:00:00 2001 From: Lucas Peter Date: Tue, 30 Jul 2024 12:21:15 +0200 Subject: [PATCH] global function update --- core/Cursor.gd | 11 +---------- core/global.gd | 24 +++++++++++++++++++++++- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/core/Cursor.gd b/core/Cursor.gd index 80a6824..ddf7add 100644 --- a/core/Cursor.gd +++ b/core/Cursor.gd @@ -33,15 +33,6 @@ func _process(_delta): grabbedSticker.position = grabbedStickerOffset+get_global_mouse_position() -func isSticker(selectedObject:Node): - var _isSticker:bool = false - var _tags = Global.getTags(selectedObject) - if (_tags.size() > 0): - if (_tags.find("sticker") != -1): - _isSticker = true - - return _isSticker - func pointcast(): resetCast() query.collide_with_areas = true @@ -67,7 +58,7 @@ func pointcast(): if (hoveredObject and hoveredObject.has_method("on_hover")): hoveredObject.on_hover() print("Current hovered object :", hoveredObject) - if (isSticker(hoveredObject)): + if (Global.isSticker(hoveredObject)): hoveredSticker = hoveredObject print("Current hovered sticker :", hoveredSticker) else: diff --git a/core/global.gd b/core/global.gd index 39115e9..97fcea5 100644 --- a/core/global.gd +++ b/core/global.gd @@ -10,7 +10,7 @@ func _ready(): func _process(_delta): pass -func getTags(selectedObject:Node): +func get_tags(selectedObject:Node): var _tags: Array if (selectedObject.has_meta("tags")): _tags = selectedObject.get_meta("tags") @@ -19,3 +19,25 @@ func getTags(selectedObject:Node): printerr("no tags inside %",selectedObject) return _tags +func add_tags(selectedObject:Node,tags:Array): + var _all_tags:Array + if (selectedObject.has_meta("tags")): + _all_tags = selectedObject.get_meta("tags") + _all_tags.append(tags) + selectedObject.set_meta("tags",_all_tags) + +func remove_tags(selectedObject:Node,tags:Array): + if (selectedObject.has_meta("tags")): + var _all_tags:Array + _all_tags = selectedObject.get_meta("tags") + for _tag in tags: + _all_tags.erase(_tag) + +func isSticker(selectedObject:Node): + var _isSticker:bool = false + var _tags = get_tags(selectedObject) + if (_tags.size() > 0): + if (_tags.find("sticker") != -1): + _isSticker = true + + return _isSticker