34 lines
982 B
GDScript
34 lines
982 B
GDScript
class_name CameraRoom extends Node2D
|
|
|
|
@onready var phantom_camera2d: PhantomCamera2D = $PhantomCamera2D
|
|
@onready var default_start_point: Node2D = $PlayerStartPoint
|
|
|
|
@export var _room_id : int = -1
|
|
|
|
func _ready() -> void:
|
|
#room_entrance.body_entered.connect(_handle_body_enter_room)
|
|
RoomSystem.room_changed.connect(_handle_global_room_changed)
|
|
|
|
##绑定一个Room下面的room entrance到进入这个房间
|
|
for r in self.get_children():
|
|
if r is RoomEntrance:
|
|
r.body_entered.connect(_handle_body_enter_room)
|
|
r.init_room_entrance(self)
|
|
|
|
func _handle_body_enter_room(body: Node2D) -> void:
|
|
if RoomSystem.current_room_id == self._room_id:
|
|
return
|
|
if body != null:
|
|
RoomSystem.update_current_room_id(self._room_id)
|
|
return
|
|
|
|
func _handle_global_room_changed(room_id: int) -> void:
|
|
if room_id == self._room_id:
|
|
_update_room_to_self()
|
|
|
|
func reset_priority() -> void:
|
|
phantom_camera2d.priority = 0
|
|
|
|
func _update_room_to_self() -> void:
|
|
phantom_camera2d.priority = 99
|