fix(parity): implement ground click ripple, target select glow, and 3D projectile obstacle collision with regression probes

This commit is contained in:
shen
2026-09-19 17:01:50 -07:00
parent 66d217b313
commit 5d43682498
6 changed files with 357 additions and 6 deletions
+8
View File
@@ -239,6 +239,9 @@ func setup(m2client: Node, assets_root: String,
# §8.8 game.py OnRender chr.Pick() -> ShowCharacterTextTail:悬停角色也强显名字(pick_show.gd)。
if pc.has_signal("hover_entity_changed") and net_world and net_world.has_method("set_hover_vid"):
pc.hover_entity_changed.connect(func(vid: int): net_world.set_hover_vid(int(vid)))
# 40250 EFFECT_PICK: 鼠标点地时生成绿色地面水波光圈 click.mse
if pc.has_signal("ground_clicked"):
pc.ground_clicked.connect(_on_ground_clicked)
if _assets != "":
net_play.set_asset_root(_assets) # §3.5:加载 playersettingmodule.py 连击段表
@@ -749,6 +752,11 @@ func _on_pickable_added(node: Node3D, _vid: int) -> void:
func _on_pickable_removed(vid: int) -> void:
_drop_stale_pickables(vid)
# 40250 EFFECT_PICK: 鼠标点地时生成绿色地面水波光圈 click.mse
func _on_ground_clicked(pos: Vector3) -> void:
if fx and is_instance_valid(_mount):
fx.spawn_at("d:/ymir work/effect/etc/click/click.mse", _mount, pos, true)
func _lifecycle_node() -> Node:
# AppFlow owns the single lifecycle observer across login/select/game. The
# game scene only borrows it for Android back and focus recovery.