godot-start/zfoo/util/NodeUtils.gd

37 lines
1.0 KiB
GDScript
Raw Normal View History

2021-10-03 14:43:19 +00:00
extends Object
2021-10-07 06:13:18 +00:00
const StringUtils = preload("res://zfoo/util/StringUtils.gd")
2021-10-03 14:43:19 +00:00
2021-10-05 16:32:06 +00:00
# 移除node节点
2021-10-03 14:43:19 +00:00
static func removeNode(node: Node) -> void:
if (node == null):
return
var parent = node.get_parent()
if (parent == null):
2021-10-05 16:32:06 +00:00
node.queue_free()
2021-10-03 14:43:19 +00:00
return
parent.remove_child(node)
node.queue_free()
2021-10-05 16:32:06 +00:00
# 实例化场景并将场景添加到node中
static func addScene(node: Node, scene: PackedScene) -> Node:
var sceneNode = scene.instance()
node.add_child(sceneNode)
return sceneNode
2021-10-07 06:13:18 +00:00
# 转换场景
static func changeScene(sceneTree: SceneTree, scenePath: String) -> void:
var error = sceneTree.change_scene(scenePath)
if error == OK:
pass
printerr(StringUtils.format("SceneTree[{}]加载场景[scenePath:{}]异常[{}]", [sceneTree, scenePath, error]))
static func changeSceneTo(sceneTree: SceneTree, scene: PackedScene) -> void:
var error = sceneTree.change_scene_to(scene)
if error == OK:
pass
printerr(StringUtils.format("SceneTree[{}]加载场景[scene:{}]异常[{}]", [sceneTree, scene, error]))