From eac792dad536d79f233978d7e6da2e714d56e29a Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 30 一月 2026 19:21:43 +0800
Subject: [PATCH] 125 命格buff

---
 Main/System/Battle/BattleObject/MinggeBattleObject.cs |   31 +++++++++++++++++++++++++------
 1 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/Main/System/Battle/BattleObject/MinggeBattleObject.cs b/Main/System/Battle/BattleObject/MinggeBattleObject.cs
index 2737918..078f3bc 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;
@@ -189,9 +207,10 @@
 
     public override void HaveRest()
     {
-        // 鍛芥牸涓嶉渶瑕佷紤鎭姸鎬�
+        // 娓呯悊 buff
+        buffMgr?.RemoveAllBuff();
     }
-
+    
     public override void SetSpeedRatio(float ratio)
     {
         // 鍛芥牸涓嶉渶瑕侀�熷害鎺у埗

--
Gitblit v1.8.0