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