|
|
|
@ -22,7 +22,6 @@ func init():
|
|
|
|
var level_instance_list: Array[LevelInstance] = level.get_level_instance_list()
|
|
|
|
var level_instance_list: Array[LevelInstance] = level.get_level_instance_list()
|
|
|
|
for level_instance in level_instance_list:
|
|
|
|
for level_instance in level_instance_list:
|
|
|
|
var level_id_list: Array[Vector3i] = get_level_id_list(level_instance.get_global_position(), level_instance.size)
|
|
|
|
var level_id_list: Array[Vector3i] = get_level_id_list(level_instance.get_global_position(), level_instance.size)
|
|
|
|
# print("xx", level_instance.name, ":", level_id_list)
|
|
|
|
|
|
|
|
for level_id in level_id_list:
|
|
|
|
for level_id in level_id_list:
|
|
|
|
if level_id in level_instance_dict:
|
|
|
|
if level_id in level_instance_dict:
|
|
|
|
print("关卡id重复", level_id)
|
|
|
|
print("关卡id重复", level_id)
|
|
|
|
@ -67,9 +66,9 @@ func set_player_position(pos: Vector3) -> void:
|
|
|
|
if cur_level_instance:
|
|
|
|
if cur_level_instance:
|
|
|
|
if new_level_instance == cur_level_instance:
|
|
|
|
if new_level_instance == cur_level_instance:
|
|
|
|
return
|
|
|
|
return
|
|
|
|
#todo 销毁原关卡实体 并存档
|
|
|
|
|
|
|
|
cur_level_instance.set_focus_from(true)
|
|
|
|
cur_level_instance.set_focus_from(true)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SignalManager.level_loading_start.emit()
|
|
|
|
#创建关卡内角色
|
|
|
|
#创建关卡内角色
|
|
|
|
for character_spot: LevelInstance.ChacacterSpot in new_level_instance.get_character_spots():
|
|
|
|
for character_spot: LevelInstance.ChacacterSpot in new_level_instance.get_character_spots():
|
|
|
|
if not character_spot.cfg:
|
|
|
|
if not character_spot.cfg:
|
|
|
|
@ -82,6 +81,7 @@ func set_player_position(pos: Vector3) -> void:
|
|
|
|
SignalManager.level_size_change.emit(cur_level_instance.level_size())
|
|
|
|
SignalManager.level_size_change.emit(cur_level_instance.level_size())
|
|
|
|
SignalManager.level_pos_change.emit(cur_level_instance.level_pos())
|
|
|
|
SignalManager.level_pos_change.emit(cur_level_instance.level_pos())
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SignalManager.level_loading_end.emit()
|
|
|
|
|
|
|
|
|
|
|
|
func get_level_id_list(pos: Vector3, size: Vector3i) -> Array[Vector3i]:
|
|
|
|
func get_level_id_list(pos: Vector3, size: Vector3i) -> Array[Vector3i]:
|
|
|
|
var size_basic: Vector3 = Setting.size_basic
|
|
|
|
var size_basic: Vector3 = Setting.size_basic
|
|
|
|
|