From a092d2f76692c87f5396a4f14ae6ab3c17325413 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 08 八月 2025 09:56:55 +0800
Subject: [PATCH] 125 【战斗】战斗系统 部分战斗代码

---
 Main/System/Battle/BattleField/BattleField.cs          |    4 ++++
 Main/System/Battle/BattleField/BattleRootNode.cs       |    2 +-
 Main/System/Battle/BattleObject/BattleObjectFactory.cs |   16 +++++++++++-----
 Main/System/Main/HomeWin.cs                            |    6 ++++--
 Main/System/Main/MainWin.cs                            |   19 +++++++++++++++++--
 Main/ResModule/ResManager.cs                           |    3 ++-
 Main/System/KnapSack/Logic/ItemLogicUtility.cs         |    7 +++++--
 7 files changed, 44 insertions(+), 13 deletions(-)

diff --git a/Main/ResModule/ResManager.cs b/Main/ResModule/ResManager.cs
index c80dd4f..e05b672 100644
--- a/Main/ResModule/ResManager.cs
+++ b/Main/ResModule/ResManager.cs
@@ -66,7 +66,8 @@
         {typeof(GameObject), "prefab"},
         {typeof(Sprite), "png"},
         {typeof(Texture2D), "jpg"},
-        {typeof(Shader), "shader"},
+        {typeof(Texture), "jpg"},
+        { typeof(Shader), "shader"},
         {typeof(TextAsset), "txt"},
         {typeof(AudioClip), "wav"},
         {typeof(Font), "ttf"},
diff --git a/Main/System/Battle/BattleField/BattleField.cs b/Main/System/Battle/BattleField/BattleField.cs
index b812c99..1335468 100644
--- a/Main/System/Battle/BattleField/BattleField.cs
+++ b/Main/System/Battle/BattleField/BattleField.cs
@@ -111,6 +111,8 @@
         {
             battleObjMgr.Init(this, redTeamList[redTeamIndex], blueTeamList[blueTeamIndex]);
         }
+
+        battleRootNode.SetBackground(ResManager.Instance.LoadAsset<Texture>("Texture/FullScreenBg", "battlebg1"));
     }
 
     //  鍦≧un涔嬪墠瑕佽缃畬姣� 瑕佸垱寤篈gent
@@ -169,6 +171,8 @@
                 operationAgent = new HandModeOperationAgent(this);
                 break;
         }
+
+        Debug.LogError("battleMode is " + battleMode.ToString());
     }
 
     public virtual void PlayRecord(RecordAction recordAction)
diff --git a/Main/System/Battle/BattleField/BattleRootNode.cs b/Main/System/Battle/BattleField/BattleRootNode.cs
index fd7a5ec..12f880b 100644
--- a/Main/System/Battle/BattleField/BattleRootNode.cs
+++ b/Main/System/Battle/BattleField/BattleRootNode.cs
@@ -46,7 +46,7 @@
 		if (imgBackground != null)
 		{
 			imgBackground.texture = texture;
-			imgBackground.SetNativeSize();
+			// imgBackground.SetNativeSize();
 		}
 	}
 }
\ No newline at end of file
diff --git a/Main/System/Battle/BattleObject/BattleObjectFactory.cs b/Main/System/Battle/BattleObject/BattleObjectFactory.cs
index 65a1275..60eb472 100644
--- a/Main/System/Battle/BattleObject/BattleObjectFactory.cs
+++ b/Main/System/Battle/BattleObject/BattleObjectFactory.cs
@@ -9,18 +9,24 @@
     //  鏈剰鏄鍦ㄨ繖閲屽仛姹犵殑鍐呭鐨� 浣嗘槸鎯充簡涓�涓� 鍒╃敤鏁堢巼鏈夌偣宸� 鏈�澶氬仛涓�涓嬬孩鑹叉柟鐨勭紦瀛� 钃濊壊鏂圭殑鍗虫椂鐢� 鍗虫椂鍒犻櫎 鎴栬�呯紦瀛樹笂涓�娆℃垬鏂楃殑灏辫
     // private static int AutoIncrementID = 100000;
 
+    private static float modelScaleRate => float.Parse(FuncConfigConfig.Get("BattleModelScale").Numerical1);
+
     public static BattleObject CreateBattleObject(BattleField _battleField, List<GameObject> posNodeList, TeamHero teamHero, BattleCamp _Camp)
     {
         HeroSkinConfig skinCfg = teamHero.skinConfig;
         GameObject battleGO = ResManager.Instance.LoadAsset<GameObject>("Hero/SpineRes", "Hero_001"/*skinCfg.SpineRes*/);
-        SkeletonGraphic skeletonGraphic = battleGO.GetComponentInChildren<SkeletonGraphic>();
-        skeletonGraphic.skeletonDataAsset = ResManager.Instance.LoadAsset<SkeletonDataAsset>("Hero/SpineRes/", skinCfg.SpineRes);
-        skeletonGraphic.Initialize(true);
+
         GameObject goParent = posNodeList[teamHero.positionNum];
         BattleObject battleObject = new BattleObject(_battleField);
         battleObject.ObjID = teamHero.ObjID;
-        battleGO.name = battleObject.ObjID.ToString();
-        battleObject.Init(GameObject.Instantiate(battleGO, goParent.transform), teamHero, _Camp);
+
+        GameObject realGO = GameObject.Instantiate(battleGO, goParent.transform);
+        SkeletonGraphic skeletonGraphic = realGO.GetComponentInChildren<SkeletonGraphic>();
+        skeletonGraphic.skeletonDataAsset = ResManager.Instance.LoadAsset<SkeletonDataAsset>("Hero/SpineRes/", skinCfg.SpineRes);
+        skeletonGraphic.Initialize(true);
+        realGO.name = battleObject.ObjID.ToString();
+        realGO.transform.localScale = new Vector3((_Camp == BattleCamp.Red ? 1 : -1f) * modelScaleRate, modelScaleRate, modelScaleRate);
+        battleObject.Init(realGO, teamHero, _Camp);
         return battleObject;
     }
 
diff --git a/Main/System/KnapSack/Logic/ItemLogicUtility.cs b/Main/System/KnapSack/Logic/ItemLogicUtility.cs
index e077aa4..9051fbe 100644
--- a/Main/System/KnapSack/Logic/ItemLogicUtility.cs
+++ b/Main/System/KnapSack/Logic/ItemLogicUtility.cs
@@ -374,7 +374,7 @@
     /// <param name="needCount 闇�瑕佹暟閲�"></param>
     /// <param name="needTips 鏄惁闇�瑕佹彁绀�"></param>
     /// <returns></returns>
-    public static bool CheckItemCount(PackType packType, int itemId, int needCount, bool needTips)
+    public static bool CheckItemCount(PackType packType, int itemId, int needCount, bool needTips = false)
     {
         if (needCount <= 0)
         {
@@ -395,13 +395,14 @@
                 //  鏄� 寮瑰嚭鑾峰彇閫斿緞
                 //  鍚� 鏄剧ず鐗╁搧鏁伴噺涓嶈冻
                 // SysNotifyMgr.Instance.ShowTip();
+                // YYL TODO
             }
         }
 
         return isEnough;
     }
 
-    public static bool CheckCurrencyCount(int moneyType, ulong needCount, bool needTips)
+    public static bool CheckCurrencyCount(int moneyType, ulong needCount, bool needTips = false)
     {
         if (needCount <= 0)
         {
@@ -418,6 +419,8 @@
             //  鏄� 寮瑰嚭鑾峰彇閫斿緞
             //  鍚� 鏄剧ず鐗╁搧鏁伴噺涓嶈冻
             // SysNotifyMgr.Instance.ShowTip();
+            // YYL TODO
+            Debug.LogError("璐у竵涓嶈冻 " + moneyType);
         }
 
         return isEnough;
diff --git a/Main/System/Main/HomeWin.cs b/Main/System/Main/HomeWin.cs
index 8e49695..047a210 100644
--- a/Main/System/Main/HomeWin.cs
+++ b/Main/System/Main/HomeWin.cs
@@ -59,8 +59,8 @@
         PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh;
         TaskManager.Instance.OnTaskUpdate += UpdateTask;
         Refresh();
-        var battleWin = UIManager.Instance.OpenWindow<BattleWin>();
-        battleWin.SetBattleField(BattleManager.Instance.storyBattleField);
+        // var battleWin = UIManager.Instance.OpenWindow<BattleWin>();
+        // battleWin.SetBattleField(BattleManager.Instance.storyBattleField);
     }
     protected override void OnOpen()
     {
@@ -73,6 +73,8 @@
     {
         PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh;
         TaskManager.Instance.OnTaskUpdate -= UpdateTask;
+
+        //  鍏抽棴鐨勬椂鍊欐妸鎴樻枟鐣岄潰涔熺粰鍏充簡 铏界劧鏄湪澶栭潰寮�鐨�
         UIManager.Instance.CloseWindow<BattleWin>();
     }
 
diff --git a/Main/System/Main/MainWin.cs b/Main/System/Main/MainWin.cs
index 95327a6..5146ff2 100644
--- a/Main/System/Main/MainWin.cs
+++ b/Main/System/Main/MainWin.cs
@@ -111,10 +111,15 @@
     protected override void OnTabButtonClicked(int index)
     {
         if (index == 0)
-        { 
+        {
             if (currentSubUI != null && currentSubUI.name == "HomeWin")
             {
                 //鎵撳紑涓荤晫闈㈢殑鎯呭喌涓嬪啀鐐瑰嚮鎸夐挳锛屾墽琛屾敾鍑婚�昏緫
+                StoryBattleField storyBattleField = BattleManager.Instance.storyBattleField;
+                if (storyBattleField != null)
+                {
+                    storyBattleField.operationAgent.DoNext();
+                }
             }
         }
         SelectBottomTab(index);
@@ -130,10 +135,20 @@
         Debug.Log("鎵撳紑瀛愮晫闈� : " + functionOrder);
         // 涓诲煄 鍐呮斂 姝﹀皢 鎸戞垬 鍏細
         //鏍规嵁绱㈠紩鎵撳紑涓嶅悓鐨勭晫闈�
-         switch (functionOrder)
+        switch (functionOrder)
         {
             case 0:
                 // 鎵撳紑涓婚〉鐣岄潰
+                if (!UIManager.Instance.IsOpened<BattleWin>())
+                {
+                    BattleWin battleWin = UIManager.Instance.OpenWindow<BattleWin>();
+                    battleWin.SetBattleField(BattleManager.Instance.storyBattleField);
+                }
+                else
+                {
+                    BattleWin battleWin = UIManager.Instance.GetUI<BattleWin>();
+                    battleWin.SetBattleField(BattleManager.Instance.storyBattleField);
+                }
                 currentSubUI = UIManager.Instance.OpenWindow<HomeWin>();
                 Debug.Log("鎵撳紑涓诲煄鐣岄潰");
                 break;

--
Gitblit v1.8.0