FIx bug animation not stop. add more QOL for test animation scene. add AnimationSceneSkillTest.md to show how to use

This commit is contained in:
Tran Hai Nam
2026-05-20 15:16:24 +07:00
parent 7301f9897c
commit d2aa2c8001
45 changed files with 118360 additions and 23 deletions
@@ -63,6 +63,9 @@ namespace BrewMonster
[SerializeField] private bool isEvilSkillPath;
[SerializeField] private int skillCatalogLevel = 1;
[SerializeField]
private LogPanelAnimeScene logPanelAnimeScene;
/// <summary>
/// World position of the draggable target marker, read by CECSkillGfxMan.get_pos_by_id.
@@ -455,18 +458,21 @@ namespace BrewMonster
{
if (player == null || skill == null)
return;
logPanelAnimeScene.Reset();
int skillId = skill.GetSkillID();
logPanelAnimeScene.AddCopyTextButton("ID", skillId.ToString());
logPanelAnimeScene.LogSkillCastGfx(player, skillId);
logPanelAnimeScene.LogPlayAttackEffectGfx(player, skillId, 0);
// Self-cast skills target the host; all others target the draggable marker.
// 自身施法技能以主角为目标;其余技能以可拖动标记为目标。
int targetId = ResolveLocalCastTargetId(skill);
BMLogger.Log($"[SkillTriggerPanel] LocalCastSkill: skillID={skillId}, targetId={targetId}, hostCid={player.GetCharacterID()}");
// 1. Trigger cast animation (PlaySkillCastAction resolves action name internally)
// 触发施法动画(PlaySkillCastAction 内部解析动作名)
bool animOk = player.PlaySkillCastAction(skillId);
if (!animOk)
Debug.LogWarning($"[SkillTriggerPanel] PlaySkillCastAction returned false for skill {skillId} — animation may not play.");
@@ -521,7 +527,7 @@ namespace BrewMonster
ElementSkill.GetType((uint)skillId) == 2)
{
pAttack = CECAttacksMan.Instance.AddSkillAttack(
hostPlayer.GetPlayerInfo().cid, hostPlayer.GetPlayerInfo().cid, targetMarker.GetNPCID(), hostPlayer.GetWeaponID(), skillId, 0, 0x0200, 0);
hostPlayer.GetPlayerInfo().cid, hostPlayer.GetPlayerInfo().cid, hostPlayer.GetPlayerInfo().cid, hostPlayer.GetWeaponID(), skillId, 0, 0x0200, 0);
}
else
{