36 lines
803 B
GDScript
36 lines
803 B
GDScript
extends Node
|
|
|
|
var current_room_id: int = 0
|
|
|
|
var defalut_room_id: int = 10001
|
|
signal room_changed(room_id: int)
|
|
|
|
func _ready() -> void:
|
|
init_room()
|
|
|
|
##更新房间id
|
|
func update_current_room_id(room_id: int) -> bool:
|
|
if room_id == current_room_id:
|
|
return false
|
|
|
|
reset_all_room_camera_property()
|
|
current_room_id = room_id
|
|
room_changed.emit(room_id)
|
|
return true
|
|
|
|
##重置所有房间的room property
|
|
func reset_all_room_camera_property() -> void:
|
|
get_tree().call_group(&"ROOM",&"reset_priority")
|
|
|
|
##初始化相机房间
|
|
func init_room() -> void:
|
|
for r in get_tree().get_nodes_in_group(&"ROOM"):
|
|
if r._room_id == defalut_room_id:
|
|
if r.is_node_ready():
|
|
update_current_room_id(defalut_room_id)
|
|
break
|
|
else:
|
|
await r.ready
|
|
update_current_room_id(defalut_room_id)
|
|
break
|