From 30ba2ef747ced774bef177d5273cb5a3429cff49 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期二, 01 七月 2025 17:38:55 +0800
Subject: [PATCH] 130 子 【战斗】战斗系统 / 【战斗】战斗系统-客户端 部分战斗逻辑

---
 Main/System/Hero/HeroInfo.cs |   57 +++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 49 insertions(+), 8 deletions(-)

diff --git a/Main/System/Hero/HeroInfo.cs b/Main/System/Hero/HeroInfo.cs
index fae1795..9e36344 100644
--- a/Main/System/Hero/HeroInfo.cs
+++ b/Main/System/Hero/HeroInfo.cs
@@ -1,5 +1,6 @@
 using System.Collections.Generic;
 using UnityEngine;
+using LitJson;
 
 public partial class HeroInfo
 {
@@ -11,6 +12,13 @@
     {
         get
         {
+            #if UNITY_EDITOR
+            if (null == itemHero)
+            {
+                return 520001;
+            }
+            #endif
+
             return itemHero.config.ID;
         }
     }
@@ -44,9 +52,9 @@
         }
     }
 
-    public readonly ItemModel itemHero;
+    public ItemModel itemHero;
 
-    public readonly CB122_tagSCHeroInfo.tagSCHero scHeroInfo;
+    // public readonly CB122_tagSCHeroInfo.tagSCHero scHeroInfo;
 
     //  姝﹀皢閰嶇疆
     public HeroConfig heroConfig;
@@ -67,12 +75,44 @@
     public List<HeroTalentInfo> talentList = new List<HeroTalentInfo>();
 
 
-    public HeroInfo(CB122_tagSCHeroInfo.tagSCHero _scHeroInfo, ItemModel _itemHero)
+    public HeroInfo(/*CB122_tagSCHeroInfo.tagSCHero _scHeroInfo, */ItemModel _itemHero)
     {
-        scHeroInfo = _scHeroInfo;
-        itemHero = _itemHero;
+        // scHeroInfo = _scHeroInfo;
+        UpdateHero(_itemHero);
+        
 
-        InitConfigs();
+        
+    }
+
+    #if UNITY_EDITOR
+    public HeroInfo()
+    {
+        heroLevel = 1;
+        heroStar = 1;
+        breakLevel = 1;
+        awakeLevel = 1;
+        SkinIndex = 0;
+        heroConfig = HeroConfig.Get(heroId);
+        awakeConfig = HeroAwakeConfig.GetHeroAwakeConfig(heroId, awakeLevel);
+        breakConfig = HeroBreakConfig.GetHeroBreakConfig(heroId, breakLevel);
+        qualityAwakeConfig = HeroQualityAwakeConfig.GetQualityAwakeConfig(Quality, awakeLevel);
+        qualityConfig = HeroQualityConfig.Get(Quality);
+        qualityBreakConfig = HeroQualityBreakConfig.GetQualityBreakConfig(Quality, awakeLevel);
+        CalculateProperties();
+    }
+    #endif
+
+    // public HeroInfo Clone() => JsonMapper.ToObject<HeroInfo>(JsonMapper.ToJson(this));
+
+    //  鍥鹃壌淇℃伅
+    public void UpdateSCHero(CB122_tagSCHeroInfo.tagSCHero _scHeroInfo)
+    {
+
+    }
+
+    public void UpdateHero(ItemModel _itemHero)
+    {
+        itemHero = _itemHero;
         // HeroConfigUtility
 
         // 70 # 鑻遍泟绛夌骇
@@ -86,12 +126,15 @@
         // 78 # 鑻遍泟浣跨敤鐨勭毊鑲ょ储寮�
         SkinIndex = itemHero.GetUseData(78)[0];
 
+
         // 71 # 鑻遍泟澶╄祴ID鍒楄〃
         List<int> talentSkillList = itemHero.GetUseData(71);
         // 73 # 鑻遍泟澶╄祴ID绛夌骇鍒楄〃锛屽搴�71澶╄祴ID鐨勭瓑绾�
         List<int> talentLvList = itemHero.GetUseData(73);
         // 75 # 鑻遍泟澶╄祴娲楃偧閿佸畾绱㈠紩鍒楄〃锛屽搴�71澶╄祴ID绱㈠紩
         List<int> talentLockList = itemHero.GetUseData(75);
+
+        InitConfigs();
 
         if (talentLockList.Count != talentLvList.Count || talentLvList.Count != talentSkillList.Count)
         {
@@ -115,8 +158,6 @@
 // 77 # 鑻遍泟澶╄祴娲楃偧闅忔満ID鍒楄〃
 // 79 # 鑻遍泟瑙夐啋鏃堕殢鏈哄ぉ璧嬮�夐」ID鍒楄〃
 // 80 # 涓婚樀鍨嬩笂闃典綅缃�
-
-        
     }
 
     protected void InitConfigs()

--
Gitblit v1.8.0