关卡加载过程 fix

master
chendian 1 year ago
parent 921f944d2f
commit b771cb38e3

@ -119,7 +119,7 @@ tracks/7/keys = {
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/enabled = false
tracks/8/path = NodePath("Status:is_speed_y_freeze")
tracks/8/interp = 1
tracks/8/loop_wrap = true

@ -31,10 +31,10 @@ radius = 1.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_3u7mw"]
render_priority = 0
shader = ExtResource("3_ed424")
shader_parameter/tex = ExtResource("4_fcd8a")
shader_parameter/flash_white = null
shader_parameter/deformation_dir = Vector2(0, 0)
shader_parameter/deformation_rate = 0.0
shader_parameter/tex = ExtResource("4_fcd8a")
[sub_resource type="Animation" id="Animation_dbjx6"]
length = 0.001
@ -65,7 +65,7 @@ tracks/1/keys = {
[sub_resource type="AnimationLibrary" id="AnimationLibrary_avnjy"]
_data = {
&"RESET": SubResource("Animation_dbjx6")
"RESET": SubResource("Animation_dbjx6")
}
[sub_resource type="Curve" id="Curve_e7j3f"]
@ -120,8 +120,8 @@ script = ExtResource("4_66r53")
[node name="Skill" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
libraries = {
&"": SubResource("AnimationLibrary_avnjy"),
&"animation_library": ExtResource("6_pakq5")
"": SubResource("AnimationLibrary_avnjy"),
"animation_library": ExtResource("6_pakq5")
}
script = ExtResource("6_h4xqy")

File diff suppressed because one or more lines are too long

@ -7,6 +7,4 @@ var level_mgr: LevelManager
var ui_mgr: UIManager
#全局状态
var is_level_loading: bool
var is_level_loading_contorl: bool
var currlevel_name: String
var is_control_pause: bool

@ -50,8 +50,10 @@ func set_body_scale(cfg: CharacterCfg) -> void:
collision.position = Vector3(0, half_height, 0)
var shape: Shape3D = collision.shape
if shape is CapsuleShape3D:
shape.radius = width
shape.height = height
var new_shape: CapsuleShape3D = CapsuleShape3D.new()
new_shape.radius = width
new_shape.height = height
collision.shape = new_shape
else:
collision.scale = body_scale
pushbox.position = Vector3(0, half_height, 0)

@ -10,7 +10,7 @@ var velocity_cache: Vector3
func _process(delta) -> void:
if Global.is_level_loading_contorl: return
if Global.is_level_loading: return
if status.is_pause: return
if status.is_be_throw: return
var is_hit_floor: bool = update_on_floor(delta)

@ -16,9 +16,7 @@ func on_level_loading_start():
var player: Character = get_player()
if player:
player.add_buff("freeze", -1)
for enemy in get_enemy_list(player_id):
SignalManager.character_die.emit(enemy.id())
destroy_character(enemy.id())
clear()
func on_level_loading_end():
@ -67,6 +65,20 @@ func destroy_character(id: int) -> void:
return
func clear() -> void:
var destroy_list: Array[int] = []
var player: Character = get_player()
for id in character_map:
if id == player.id():
continue
if id == player.get_status("sub_character_id"):
continue
destroy_list.append(id)
for id in destroy_list:
SignalManager.character_die.emit(id)
destroy_character(id)
func get_character(id: int) -> Character:
if id in character_map:
return character_map[id] as Character

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

Loading…
Cancel
Save