技能主要更新,修复卡顿并加入动画,以及各种其他更新。

This commit is contained in:
2026-02-07 21:05:17 +08:00
parent abeca51be5
commit 1ac3cd0104
1349 changed files with 1526749 additions and 24850 deletions
+7 -7
View File
@@ -2,8 +2,8 @@ using System;
using System.Collections.Generic;
using UnityEngine;
// EnemyCombatant 是单个场上敌人的运行时表现(所有敌人共用同一个 GameObject,按顺序登场)
// 实现 ICombatant:被 EffectSystem/SkillBuilder 调用
// EnemyCombatant ǵϵ˵ʱ֣е˹ͬһ GameObject˳dz
// ʵ ICombatant EffectSystem/SkillBuilder
public class EnemyCombatant : MonoBehaviour, ICombatant
{
public EnemyData_SO sourceData;
@@ -30,7 +30,7 @@ public class EnemyCombatant : MonoBehaviour, ICombatant
gameObject.name = "thisEnemy";
}
// 初始化/复活为指定的 EnemyData_SO
// ʼ/Ϊָ EnemyData_SO
public void InitializeFromSO(EnemyData_SO so)
{
sourceData = so;
@@ -67,7 +67,7 @@ public class EnemyCombatant : MonoBehaviour, ICombatant
TryTriggerPrimarySkill(SkillDefinition.SkillTrigger.OnEnemyRevive);
}
// 尝试触发 primary skill,当触发条件匹配时调用 SkillBuilder
// Դ primary skillƥʱ SkillBuilder
private void TryTriggerPrimarySkill(SkillDefinition.SkillTrigger when)
{
if (sourceData == null) return;
@@ -199,7 +199,7 @@ public class EnemyCombatant : MonoBehaviour, ICombatant
}
else
{
var sb = FindObjectOfType<SkillBuilder>();
var sb = UnityEngine.Object.FindAnyObjectByType<SkillBuilder>();
if (sb != null)
{
Debug.LogWarning("[EnemyCombatant] SkillBuilder.Instance was null on Die(); using FindObjectOfType fallback");
@@ -223,7 +223,7 @@ public class EnemyCombatant : MonoBehaviour, ICombatant
{
try
{
var all = GameObject.FindObjectsOfType<EnemyCombatant>(true);
var all = UnityEngine.Object.FindObjectsByType<EnemyCombatant>(FindObjectsInactive.Include, FindObjectsSortMode.None);
bool anyAlive = false;
foreach (var e in all)
{
@@ -244,7 +244,7 @@ public class EnemyCombatant : MonoBehaviour, ICombatant
}
else
{
var sb = FindObjectOfType<SkillBuilder>();
var sb = UnityEngine.Object.FindAnyObjectByType<SkillBuilder>();
if (sb != null)
{
sb.TriggerOnAllEnemiesDefeated();