技能主要更新,修复卡顿并加入动画,以及各种其他更新。
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user