From 5a4e34c8a85737c0fa5b5775122da31155cbaef3 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 09 二月 2026 14:46:01 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts
---
Main/System/Battle/BattleObject/MinggeBattleObject.cs | 41 ++++++++++++++++++++++++++++++-----------
1 files changed, 30 insertions(+), 11 deletions(-)
diff --git a/Main/System/Battle/BattleObject/MinggeBattleObject.cs b/Main/System/Battle/BattleObject/MinggeBattleObject.cs
index 35d7aea..ce0dd1b 100644
--- a/Main/System/Battle/BattleObject/MinggeBattleObject.cs
+++ b/Main/System/Battle/BattleObject/MinggeBattleObject.cs
@@ -2,6 +2,7 @@
using System;
using UnityEngine;
using Spine.Unity;
+using System.Collections.Generic;
/// <summary>
/// 鍛芥牸鎴樻枟瀵硅薄 - 娌℃湁琛�閲忋�佹病鏈夊疄浣擄紝涓嶄細琚敾鍑诲拰閫変腑锛屽敮涓�浣滅敤鏄噴鏀炬妧鑳�
@@ -9,6 +10,12 @@
public class MinggeBattleObject : BattleObject
{
public TeamMingge teamMingge { get; private set; }
+
+ // Buff 绠$悊鍣紙鍛芥牸鐜板湪涔熼渶瑕� buff 绯荤粺锛�
+ public BattleObjectBuffMgr buffMgr;
+
+ // 棰勭暀鐨勫懡鏍� Buff 鏄剧ず鎺ュ彛锛屼緵澶栭儴鑷畾涔夋樉绀洪�昏緫
+ public Action<List<HB428_tagSCBuffRefresh>> OnMinggeBuffRefresh;
public MinggeBattleObject(BattleField _battleField) : base(_battleField)
{
@@ -20,7 +27,9 @@
Camp = _camp;
ObjID = teamMingge.ObjID;
- // 鍛芥牸涓嶉渶瑕� buff 绠$悊鍣紙鍛芥牸閲婃斁鎶�鑳戒絾鑷韩涓嶄細鏈� buff锛�
+ // 鍒濆鍖� buff 绠$悊鍣�
+ buffMgr = new BattleObjectBuffMgr();
+ buffMgr.Init(this);
layerMgr = new BattleObjectLayerMgr();
layerMgr.Init(this);
@@ -28,7 +37,8 @@
public override void Run()
{
- // 鍛芥牸杩愯閫昏緫锛堝鏋滈渶瑕侊級
+ // 鏇存柊 buff 绠$悊鍣�
+ buffMgr?.Run();
}
public override void Pause()
@@ -43,12 +53,20 @@
public override void Destroy()
{
- // 鍛芥牸娌℃湁闇�瑕佹竻鐞嗙殑璧勬簮
+ // 娓呯悊鏄剧ず鍥炶皟
+ OnMinggeBuffRefresh = null;
+
+ // 娓呯悊 buff 绠$悊鍣�
+ if (buffMgr != null)
+ {
+ buffMgr.Release();
+ buffMgr = null;
+ }
}
// ============ 瀹炵幇鎶借薄璁块棶鏂规硶 ============
- public override BattleObjectBuffMgr GetBuffMgr() => null; // 鍛芥牸涓嶆湁 buff 绯荤粺
+ public override BattleObjectBuffMgr GetBuffMgr() => buffMgr;
public override int GetPositionNum() => teamMingge.positionNum;
public override float GetModelScale() => teamMingge.modelScale;
@@ -88,11 +106,11 @@
// 鍛芥牸娌℃湁骞诲奖
}
- public override Spine.TrackEntry PlaySkillAnimation(SkillConfig skillConfig, SkillBase skillBase, bool isCounter, Action onComplete)
+ public override Spine.TrackEntry PlaySkillAnimation(SkillConfig skillConfig, SkillSkinConfig skillSkinConfig, SkillBase skillBase, bool isCounter, Action onComplete)
{
// 鍛芥牸娌℃湁鎶�鑳藉姩鐢伙紝绔嬪嵆瑙﹀彂鎵�鏈夊抚浜嬩欢
- int loopCount = skillConfig.LoopCount + 1; //榛樿浼氭湁涓�娆�
- int frameCount = skillConfig.ActiveFrames.Length;
+ int loopCount = skillSkinConfig.LoopCount + 1; //榛樿浼氭湁涓�娆�
+ int frameCount = skillSkinConfig.ActiveFrames.Length;
// 1. 鎶�鑳藉紑濮�
skillBase.OnSkillStart();
@@ -132,7 +150,7 @@
return false;
}
- public override bool CanCastSkillAnimation(SkillConfig skillConfig)
+ public override bool CanCastSkillAnimation(SkillSkinConfig skillSkinConfig)
{
// 鍛芥牸鎬绘槸鍙互閲婃斁鎶�鑳斤紙浠庡姩鐢昏搴︼級
return true;
@@ -158,7 +176,7 @@
return null;
}
- public override void OnDodgeBegin()
+ public override void OnDodgeBegin(DamageType damageType)
{
// 鍛芥牸涓嶉渶瑕侀棯閬�
}
@@ -189,9 +207,10 @@
public override void HaveRest()
{
- // 鍛芥牸涓嶉渶瑕佷紤鎭姸鎬�
+ // 娓呯悊 buff
+ buffMgr?.RemoveAllBuff();
}
-
+
public override void SetSpeedRatio(float ratio)
{
// 鍛芥牸涓嶉渶瑕侀�熷害鎺у埗
--
Gitblit v1.8.0