DESKTOP-FB72PO8\Administrator 1 semana atrás
pai
commit
5bff7f82d6
49 arquivos alterados com 1120 adições e 1102 exclusões
  1. 106 0
      Assets/Res/Config/AttributeConfig.json
  2. 1 1
      Assets/Res/Config/AttributeConfig.json.meta
  3. 4 4
      Assets/Res/Config/BuffConfig.json
  4. 285 2
      Assets/Res/Config/FabaoConfig.json
  5. 42 64
      Assets/Res/Config/LevelSupressConfig.json
  6. 0 116
      Assets/Res/Config/MagicWeaponConfig.json
  7. 44 0
      Assets/Scripts/GameData/ExcelConfig/AttributeConfig.cs
  8. 1 1
      Assets/Scripts/GameData/ExcelConfig/AttributeConfig.cs.meta
  9. 18 0
      Assets/Scripts/GameData/ExcelConfig/FabaoConfig.cs
  10. 4 16
      Assets/Scripts/GameData/ExcelConfig/LevelSupressConfig.cs
  11. 0 80
      Assets/Scripts/GameData/ExcelConfig/MagicWeaponConfig.cs
  12. 1 1
      Assets/Scripts/GameLogic/Bag/BagController.cs
  13. 18 3
      Assets/Scripts/GameLogic/Combat/Buff/BuffBasic.cs
  14. 8 6
      Assets/Scripts/GameLogic/Combat/Buff/BuffControl.cs
  15. 3 3
      Assets/Scripts/GameLogic/Combat/Buff/b_1001.cs
  16. 18 5
      Assets/Scripts/GameLogic/Combat/CombatTool/CombatCalculateTool.cs
  17. 1 2
      Assets/Scripts/GameLogic/Combat/CombatTool/SkillScriptManager.cs
  18. 104 104
      Assets/Scripts/GameLogic/Combat/CombatType/LevelBattleCombatType.cs
  19. 18 19
      Assets/Scripts/GameLogic/Combat/CombatType/TestCombatType.cs
  20. 35 10
      Assets/Scripts/GameLogic/Combat/Hero/CombatHeroInfo.cs
  21. 1 1
      Assets/Scripts/GameLogic/Combat/Hero/CombatHeroSkillControl.cs
  22. 3 3
      Assets/Scripts/GameLogic/Combat/Hero/CombatHeroSkillControlBasic.cs
  23. 11 15
      Assets/Scripts/GameLogic/Combat/Hero/CombatMagicWeaponEntity.cs
  24. 4 3
      Assets/Scripts/GameLogic/Combat/Hero/MagicWeaponControl.cs
  25. 12 10
      Assets/Scripts/GameLogic/Combat/Skill/SkillBasic.cs
  26. 2 8
      Assets/Scripts/GameLogic/Combat/Skill/SkillFeaturesData.cs
  27. 6 1
      Assets/Scripts/GameLogic/CombatScenesTool/TestCombatHeroConfig.cs
  28. 22 0
      Assets/Scripts/GameLogic/Hero/FaBaoInfo.cs
  29. 3 0
      Assets/Scripts/GameLogic/Hero/FaBaoInfo.cs.meta
  30. 41 0
      Assets/Scripts/GameLogic/Hero/HeroAttributeType.cs
  31. 3 0
      Assets/Scripts/GameLogic/Hero/HeroAttributeType.cs.meta
  32. 0 334
      Assets/Scripts/GameLogic/Hero/HeroController.cs
  33. 0 3
      Assets/Scripts/GameLogic/Hero/HeroController.cs.meta
  34. 103 64
      Assets/Scripts/GameLogic/Hero/HeroInfo.cs
  35. 4 4
      Assets/Scripts/GameLogic/Paritcle/ParitcleLogic/FxParabolaBulletLogic.cs
  36. 1 10
      Assets/Scripts/GameLogic/Player/AccountFileInfo.cs
  37. 23 0
      Assets/Scripts/GameLogic/Player/FaBaoControl.cs
  38. 3 0
      Assets/Scripts/GameLogic/Player/FaBaoControl.cs.meta
  39. 40 0
      Assets/Scripts/GameLogic/Player/GongFaControl.cs
  40. 3 0
      Assets/Scripts/GameLogic/Player/GongFaControl.cs.meta
  41. 32 118
      Assets/Scripts/GameLogic/Player/PlayerManager.cs
  42. 4 4
      Assets/Scripts/GameUI/UI/CombatPanel/SkillSelectPanel.cs
  43. 0 0
      Assets/StreamingAssets/assetConfig.txt
  44. BIN
      Excel2Json/Excel/AttributeConfig.xlsx
  45. BIN
      Excel2Json/Excel/Buff.xlsx
  46. BIN
      Excel2Json/Excel/FabaoConfig.xlsx
  47. 0 0
      Excel2Json/MagicWeapon.xlsx
  48. 87 87
      UserSettings/Layouts/default-2022.dwlt
  49. 1 0
      XiuXianGame.sln.DotSettings.user

+ 106 - 0
Assets/Res/Config/AttributeConfig.json

@@ -0,0 +1,106 @@
+{
+  "configList": [
+    {
+      "ID": 1,
+      "DefaultValue": -1.0,
+      "MinValue": 0.0,
+      "MaxValue": -1.0
+    },
+    {
+      "ID": 2,
+      "DefaultValue": -1.0,
+      "MinValue": 0.0,
+      "MaxValue": -1.0
+    },
+    {
+      "ID": 3,
+      "DefaultValue": -1.0,
+      "MinValue": 0.0,
+      "MaxValue": -1.0
+    },
+    {
+      "ID": 4,
+      "DefaultValue": -1.0,
+      "MinValue": 0.0,
+      "MaxValue": -1.0
+    },
+    {
+      "ID": 101,
+      "DefaultValue": 0.0,
+      "MinValue": 0.0,
+      "MaxValue": -1.0
+    },
+    {
+      "ID": 102,
+      "DefaultValue": 0.0,
+      "MinValue": 0.0,
+      "MaxValue": -1.0
+    },
+    {
+      "ID": 103,
+      "DefaultValue": 0.0,
+      "MinValue": 0.0,
+      "MaxValue": -1.0
+    },
+    {
+      "ID": 104,
+      "DefaultValue": 0.0,
+      "MinValue": 0.0,
+      "MaxValue": -1.0
+    },
+    {
+      "ID": 105,
+      "DefaultValue": 0.0,
+      "MinValue": 0.0,
+      "MaxValue": -1.0
+    },
+    {
+      "ID": 106,
+      "DefaultValue": 100.0,
+      "MinValue": 10.0,
+      "MaxValue": -1.0
+    },
+    {
+      "ID": 107,
+      "DefaultValue": 100.0,
+      "MinValue": 10.0,
+      "MaxValue": -1.0
+    },
+    {
+      "ID": 108,
+      "DefaultValue": 100.0,
+      "MinValue": 10.0,
+      "MaxValue": -1.0
+    },
+    {
+      "ID": 109,
+      "DefaultValue": 100.0,
+      "MinValue": 10.0,
+      "MaxValue": -1.0
+    },
+    {
+      "ID": 110,
+      "DefaultValue": 100.0,
+      "MinValue": 10.0,
+      "MaxValue": -1.0
+    },
+    {
+      "ID": 111,
+      "DefaultValue": 0.0,
+      "MinValue": 0.0,
+      "MaxValue": -1.0
+    },
+    {
+      "ID": 112,
+      "DefaultValue": 0.0,
+      "MinValue": -100.0,
+      "MaxValue": 50.0
+    },
+    {
+      "ID": 113,
+      "DefaultValue": 0.0,
+      "MinValue": 0.0,
+      "MaxValue": -1.0
+    }
+  ]
+}

+ 1 - 1
Assets/Res/Config/MagicWeaponConfig.json.meta → Assets/Res/Config/AttributeConfig.json.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: DHoXtHz8AH2kL2nIGYVFfeKLQ3wnfueejAr48RUugDxSbjjzcTJzqc4=
+guid: DSkbt3mpAn9lzNoet3Azrv+B3j7yK5VlACoFlQ1Tmj2rkSi9e93LAHX83Um4
 TextScriptImporter:
   externalObjects: {}
   userData: 

+ 4 - 4
Assets/Res/Config/BuffConfig.json

@@ -12,7 +12,7 @@
       "buffGroup": 1001,
       "overlayCount": 20,
       "effectValue": [
-        10.0
+        1.0
       ],
       "graduallyDecrease": 20,
       "Power": 0,
@@ -44,7 +44,7 @@
       "buffGroup": 1002,
       "overlayCount": 1,
       "effectValue": [
-        30.0
+        0.0
       ],
       "graduallyDecrease": 20,
       "Power": 0,
@@ -76,7 +76,7 @@
       "buffGroup": 1003,
       "overlayCount": 10,
       "effectValue": [
-        10.0
+        1.0
       ],
       "graduallyDecrease": 20,
       "Power": 0,
@@ -172,7 +172,7 @@
       "buffGroup": 1006,
       "overlayCount": 1,
       "effectValue": [
-        30.0
+        0.0
       ],
       "graduallyDecrease": 20,
       "Power": 0,

+ 285 - 2
Assets/Res/Config/FabaoConfig.json

@@ -1,9 +1,12 @@
 {
   "configList": [
     {
-      "ID": 1,
+      "ID": 10001,
       "ItemID": 10020,
       "Type": 1,
+      "magicAttribute": 1,
+      "model": "fb_yuping",
+      "cd": 5.0,
       "fragmentID": 10120,
       "Star": 1,
       "ShuxingIDs": [
@@ -12,7 +15,7 @@
       "ShuxingPara": [
         100
       ],
-      "SkillGroupID": 10020,
+      "SkillGroupID": 901001,
       "StarupItemCost": [
         10,
         20,
@@ -36,6 +39,286 @@
         5,
         5
       ]
+    },
+    {
+      "ID": 10002,
+      "ItemID": 10021,
+      "Type": 1,
+      "magicAttribute": 1,
+      "model": "fb_dao1",
+      "cd": 7.0,
+      "fragmentID": 10121,
+      "Star": 2,
+      "ShuxingIDs": [
+        2
+      ],
+      "ShuxingPara": [
+        101
+      ],
+      "SkillGroupID": 901001,
+      "StarupItemCost": [
+        10,
+        20,
+        30,
+        40,
+        51
+      ],
+      "StarupShuxingIDs": [
+        101,
+        102,
+        103,
+        104,
+        105,
+        107
+      ],
+      "StarupShuxingValues": [
+        5,
+        5,
+        5,
+        5,
+        5,
+        6
+      ]
+    },
+    {
+      "ID": 10003,
+      "ItemID": 10022,
+      "Type": 1,
+      "magicAttribute": 1,
+      "model": "fb_ding1",
+      "cd": 3.0,
+      "fragmentID": 10122,
+      "Star": 3,
+      "ShuxingIDs": [
+        3
+      ],
+      "ShuxingPara": [
+        102
+      ],
+      "SkillGroupID": 901001,
+      "StarupItemCost": [
+        10,
+        20,
+        30,
+        40,
+        52
+      ],
+      "StarupShuxingIDs": [
+        101,
+        102,
+        103,
+        104,
+        105,
+        108
+      ],
+      "StarupShuxingValues": [
+        5,
+        5,
+        5,
+        5,
+        5,
+        7
+      ]
+    },
+    {
+      "ID": 10004,
+      "ItemID": 10023,
+      "Type": 1,
+      "magicAttribute": 1,
+      "model": "fb_huohulu",
+      "cd": 8.0,
+      "fragmentID": 10123,
+      "Star": 4,
+      "ShuxingIDs": [
+        4
+      ],
+      "ShuxingPara": [
+        103
+      ],
+      "SkillGroupID": 901001,
+      "StarupItemCost": [
+        10,
+        20,
+        30,
+        40,
+        53
+      ],
+      "StarupShuxingIDs": [
+        101,
+        102,
+        103,
+        104,
+        105,
+        109
+      ],
+      "StarupShuxingValues": [
+        5,
+        5,
+        5,
+        5,
+        5,
+        8
+      ]
+    },
+    {
+      "ID": 10005,
+      "ItemID": 10024,
+      "Type": 1,
+      "magicAttribute": 1,
+      "model": "fb_jian1",
+      "cd": 3.0,
+      "fragmentID": 10124,
+      "Star": 5,
+      "ShuxingIDs": [
+        5
+      ],
+      "ShuxingPara": [
+        104
+      ],
+      "SkillGroupID": 901001,
+      "StarupItemCost": [
+        10,
+        20,
+        30,
+        40,
+        54
+      ],
+      "StarupShuxingIDs": [
+        101,
+        102,
+        103,
+        104,
+        105,
+        110
+      ],
+      "StarupShuxingValues": [
+        5,
+        5,
+        5,
+        5,
+        5,
+        9
+      ]
+    },
+    {
+      "ID": 10006,
+      "ItemID": 10025,
+      "Type": 1,
+      "magicAttribute": 1,
+      "model": "fb_jian2",
+      "cd": 5.0,
+      "fragmentID": 10125,
+      "Star": 6,
+      "ShuxingIDs": [
+        6
+      ],
+      "ShuxingPara": [
+        105
+      ],
+      "SkillGroupID": 901001,
+      "StarupItemCost": [
+        10,
+        20,
+        30,
+        40,
+        55
+      ],
+      "StarupShuxingIDs": [
+        101,
+        102,
+        103,
+        104,
+        105,
+        111
+      ],
+      "StarupShuxingValues": [
+        5,
+        5,
+        5,
+        5,
+        5,
+        10
+      ]
+    },
+    {
+      "ID": 10007,
+      "ItemID": 10026,
+      "Type": 1,
+      "magicAttribute": 1,
+      "model": "fb_wulonglun",
+      "cd": 7.0,
+      "fragmentID": 10126,
+      "Star": 7,
+      "ShuxingIDs": [
+        7
+      ],
+      "ShuxingPara": [
+        106
+      ],
+      "SkillGroupID": 901001,
+      "StarupItemCost": [
+        10,
+        20,
+        30,
+        40,
+        56
+      ],
+      "StarupShuxingIDs": [
+        101,
+        102,
+        103,
+        104,
+        105,
+        112
+      ],
+      "StarupShuxingValues": [
+        5,
+        5,
+        5,
+        5,
+        5,
+        11
+      ]
+    },
+    {
+      "ID": 10008,
+      "ItemID": 10027,
+      "Type": 1,
+      "magicAttribute": 1,
+      "model": "fb_linglongta",
+      "cd": 7.0,
+      "fragmentID": 10127,
+      "Star": 8,
+      "ShuxingIDs": [
+        8
+      ],
+      "ShuxingPara": [
+        107
+      ],
+      "SkillGroupID": 901001,
+      "StarupItemCost": [
+        10,
+        20,
+        30,
+        40,
+        57
+      ],
+      "StarupShuxingIDs": [
+        101,
+        102,
+        103,
+        104,
+        105,
+        113
+      ],
+      "StarupShuxingValues": [
+        5,
+        5,
+        5,
+        5,
+        5,
+        12
+      ]
     }
   ]
 }

+ 42 - 64
Assets/Res/Config/LevelSupressConfig.json

@@ -2,105 +2,83 @@
   "configList": [
     {
       "ID": 1,
-      "DefaultValue": -1.0,
-      "MinValue": 0.0,
-      "MaxValue": -1.0
+      "HudunReduceSpeed": 5
     },
     {
       "ID": 2,
-      "DefaultValue": -1.0,
-      "MinValue": 0.0,
-      "MaxValue": -1.0
+      "HudunReduceSpeed": 10
     },
     {
       "ID": 3,
-      "DefaultValue": -1.0,
-      "MinValue": 0.0,
-      "MaxValue": -1.0
+      "HudunReduceSpeed": 15
     },
     {
       "ID": 4,
-      "DefaultValue": -1.0,
-      "MinValue": 0.0,
-      "MaxValue": -1.0
+      "HudunReduceSpeed": 20
     },
     {
-      "ID": 101,
-      "DefaultValue": 0.0,
-      "MinValue": 0.0,
-      "MaxValue": -1.0
+      "ID": 5,
+      "HudunReduceSpeed": 25
     },
     {
-      "ID": 102,
-      "DefaultValue": 0.0,
-      "MinValue": 0.0,
-      "MaxValue": -1.0
+      "ID": 6,
+      "HudunReduceSpeed": 30
     },
     {
-      "ID": 103,
-      "DefaultValue": 0.0,
-      "MinValue": 0.0,
-      "MaxValue": -1.0
+      "ID": 7,
+      "HudunReduceSpeed": 35
     },
     {
-      "ID": 104,
-      "DefaultValue": 0.0,
-      "MinValue": 0.0,
-      "MaxValue": -1.0
+      "ID": 8,
+      "HudunReduceSpeed": 40
     },
     {
-      "ID": 105,
-      "DefaultValue": 0.0,
-      "MinValue": 0.0,
-      "MaxValue": -1.0
+      "ID": 9,
+      "HudunReduceSpeed": 45
     },
     {
-      "ID": 106,
-      "DefaultValue": 100.0,
-      "MinValue": 10.0,
-      "MaxValue": -1.0
+      "ID": 10,
+      "HudunReduceSpeed": 50
     },
     {
-      "ID": 107,
-      "DefaultValue": 100.0,
-      "MinValue": 10.0,
-      "MaxValue": -1.0
+      "ID": 11,
+      "HudunReduceSpeed": 55
     },
     {
-      "ID": 108,
-      "DefaultValue": 100.0,
-      "MinValue": 10.0,
-      "MaxValue": -1.0
+      "ID": 12,
+      "HudunReduceSpeed": 60
     },
     {
-      "ID": 109,
-      "DefaultValue": 100.0,
-      "MinValue": 10.0,
-      "MaxValue": -1.0
+      "ID": 13,
+      "HudunReduceSpeed": 65
     },
     {
-      "ID": 110,
-      "DefaultValue": 100.0,
-      "MinValue": 10.0,
-      "MaxValue": -1.0
+      "ID": 14,
+      "HudunReduceSpeed": 70
     },
     {
-      "ID": 111,
-      "DefaultValue": 0.0,
-      "MinValue": 0.0,
-      "MaxValue": -1.0
+      "ID": 15,
+      "HudunReduceSpeed": 75
     },
     {
-      "ID": 112,
-      "DefaultValue": 0.0,
-      "MinValue": -100.0,
-      "MaxValue": 50.0
+      "ID": 16,
+      "HudunReduceSpeed": 80
     },
     {
-      "ID": 113,
-      "DefaultValue": 0.0,
-      "MinValue": 0.0,
-      "MaxValue": -1.0
+      "ID": 17,
+      "HudunReduceSpeed": 85
+    },
+    {
+      "ID": 18,
+      "HudunReduceSpeed": 90
+    },
+    {
+      "ID": 19,
+      "HudunReduceSpeed": 95
+    },
+    {
+      "ID": 20,
+      "HudunReduceSpeed": 999
     }
   ]
 }

+ 0 - 116
Assets/Res/Config/MagicWeaponConfig.json

@@ -1,116 +0,0 @@
-{
-  "configList": [
-    {
-      "ID": 10001,
-      "nickName": -1,
-      "magicAttribute": 1,
-      "name": 5,
-      "headicon": "icon_tx10001",
-      "model": "fb_yuping",
-      "cd": 5.0,
-      "att": 100,
-      "skillID": [
-        901001
-      ],
-      "heroStory": null
-    },
-    {
-      "ID": 10002,
-      "nickName": -1,
-      "magicAttribute": 1,
-      "name": 5,
-      "headicon": "icon_tx10002",
-      "model": "fb_dao1",
-      "cd": 7.0,
-      "att": 100,
-      "skillID": [
-        901001
-      ],
-      "heroStory": null
-    },
-    {
-      "ID": 10003,
-      "nickName": -1,
-      "magicAttribute": 1,
-      "name": 5,
-      "headicon": "icon_tx10003",
-      "model": "fb_ding1",
-      "cd": 3.0,
-      "att": 100,
-      "skillID": [
-        901001
-      ],
-      "heroStory": null
-    },
-    {
-      "ID": 10004,
-      "nickName": -1,
-      "magicAttribute": 1,
-      "name": 5,
-      "headicon": "icon_tx10004",
-      "model": "fb_huohulu",
-      "cd": 8.0,
-      "att": 100,
-      "skillID": [
-        901001
-      ],
-      "heroStory": null
-    },
-    {
-      "ID": 10005,
-      "nickName": -1,
-      "magicAttribute": 1,
-      "name": 5,
-      "headicon": "icon_tx10005",
-      "model": "fb_jian1",
-      "cd": 3.0,
-      "att": 100,
-      "skillID": [
-        901001
-      ],
-      "heroStory": null
-    },
-    {
-      "ID": 10006,
-      "nickName": -1,
-      "magicAttribute": 1,
-      "name": 5,
-      "headicon": "icon_tx10006",
-      "model": "fb_jian2",
-      "cd": 5.0,
-      "att": 100,
-      "skillID": [
-        901001
-      ],
-      "heroStory": null
-    },
-    {
-      "ID": 10007,
-      "nickName": -1,
-      "magicAttribute": 1,
-      "name": 5,
-      "headicon": "icon_tx10007",
-      "model": "fb_wulonglun",
-      "cd": 7.0,
-      "att": 100,
-      "skillID": [
-        901001
-      ],
-      "heroStory": null
-    },
-    {
-      "ID": 10008,
-      "nickName": -1,
-      "magicAttribute": 1,
-      "name": 5,
-      "headicon": "icon_tx10008",
-      "model": "fb_linglongta",
-      "cd": 7.0,
-      "att": 100,
-      "skillID": [
-        901001
-      ],
-      "heroStory": null
-    }
-  ]
-}

+ 44 - 0
Assets/Scripts/GameData/ExcelConfig/AttributeConfig.cs

@@ -0,0 +1,44 @@
+// Auto Generated Code By excel2json
+// Generate From Excel\AttributeConfig.xlsx. SheetName: AttributeConfig
+
+using System;
+using Fort23.GameData;
+
+namespace Excel2Json
+{
+	[Config(prefab = "AttributeConfig.json")]
+	public partial class AttributeConfigHolder : ConfigHolder<AttributeConfig>
	{
+	}
+
+
+	[Serializable]
+	public struct AttributeConfig : IConfig
	{
+		public int GetID() {return ID;} 
+		/// <summary>
+		///该属性在游戏中的ID
+		/// </summary>
+public int ID;
+
+
+		/// <summary>
+		///默认值 -1为无默认值or由其他系统决定
+		/// </summary>
+public float DefaultValue;
+
+
+		/// <summary>
+		///最小值
+		/// </summary>
+public float MinValue;
+
+
+		/// <summary>
+		///最大值 -1为没有最大值,即无限大
+		/// </summary>
+public float MaxValue;
+
+
+	}
+
+}
+// End of Auto Generated Code

+ 1 - 1
Assets/Scripts/GameData/ExcelConfig/MagicWeaponConfig.cs.meta → Assets/Scripts/GameData/ExcelConfig/AttributeConfig.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: CikdvH74UnLoRMrp7M3x8Q7CpndoyGtKPamVHzvOAYRRXFf1cI4+4zk=
+guid: C3hLtC77UihdEsCtOaCj5whLq75Pc0Xrlj215MP/cXMrzYGFRMzyMPJNmG4G
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 18 - 0
Assets/Scripts/GameData/ExcelConfig/FabaoConfig.cs

@@ -32,6 +32,24 @@ public int ItemID;
 public int Type;
 
 
+		/// <summary>
+		///法宝类型 1=金 2=木 4=水 =8火 16=土
+		/// </summary>
+public int magicAttribute;
+
+
+		/// <summary>
+		///模型名称
+		/// </summary>
+public string model;
+
+
+		/// <summary>
+		///cd时间
+		/// </summary>
+public float cd;
+
+
 		/// <summary>
 		///法宝对应碎片道具ID
 		/// </summary>

+ 4 - 16
Assets/Scripts/GameData/ExcelConfig/LevelSupressConfig.cs

@@ -1,5 +1,5 @@
 // Auto Generated Code By excel2json
-// Generate From Excel\AttributeConfig.xlsx. SheetName: LevelSupressConfig
+// Generate From Excel\LevelSupressConfig.xlsx. SheetName: LevelSupressConfig
 
 using System;
 using Fort23.GameData;
@@ -15,27 +15,15 @@ namespace Excel2Json
 	public struct LevelSupressConfig : IConfig
	{
 		public int GetID() {return ID;} 
 		/// <summary>
-		///该属性在游戏中的ID
+		///双方修为差
 		/// </summary>
 public int ID;
 
 
 		/// <summary>
-		///默认值 -1为无默认值or由其他系统决定
+		///破盾速度 20:护盾受到的伤害提升20% 999:护盾瞬间被破除
 		/// </summary>
-public float DefaultValue;
-
-
-		/// <summary>
-		///最小值
-		/// </summary>
-public float MinValue;
-
-
-		/// <summary>
-		///最大值 -1为没有最大值,即无限大
-		/// </summary>
-public float MaxValue;
+public int HudunReduceSpeed;
 
 
 	}

+ 0 - 80
Assets/Scripts/GameData/ExcelConfig/MagicWeaponConfig.cs

@@ -1,80 +0,0 @@
-// Auto Generated Code By excel2json
-// Generate From Excel\MagicWeapon.xlsx. SheetName: MagicWeaponConfig
-
-using System;
-using Fort23.GameData;
-
-namespace Excel2Json
-{
-	[Config(prefab = "MagicWeaponConfig.json")]
-	public partial class MagicWeaponConfigHolder : ConfigHolder<MagicWeaponConfig>
	{
-	}
-
-
-	[Serializable]
-	public struct MagicWeaponConfig : IConfig
	{
-		public int GetID() {return ID;} 
-		/// <summary>
-		///modelID
-		/// </summary>
-public int ID;
-
-
-		/// <summary>
-		///称号
-		/// </summary>
-public int nickName;
-
-
-		/// <summary>
-		///法宝类型 1=金 2=木 4=水 =8火 16=土
-		/// </summary>
-public int magicAttribute;
-
-
-		/// <summary>
-		///名字
-		/// </summary>
-public int name;
-
-
-		/// <summary>
-		///头像素材名
-		/// </summary>
-public string headicon;
-
-
-		/// <summary>
-		///模型名称
-		/// </summary>
-public string model;
-
-
-		/// <summary>
-		///cd时间
-		/// </summary>
-public float cd;
-
-
-		/// <summary>
-		///法宝攻击力
-		/// </summary>
-public long att;
-
-
-		/// <summary>
-		///技能Id
-		/// </summary>
-public int[] skillID;
-
-
-		/// <summary>
-		///英雄故事文本
-		/// </summary>
-public int heroStory;
-
-
-	}
-
-}
-// End of Auto Generated Code

+ 1 - 1
Assets/Scripts/GameLogic/Bag/BagController.cs

@@ -9,7 +9,7 @@ using Utility;
 
 namespace GameLogic.Bag
 {
-    public class BagController : Singleton<BagController>
+    public class BagController 
     {
         /// <summary>
         /// 玩家的所有道具(包含货币)

+ 18 - 3
Assets/Scripts/GameLogic/Combat/Buff/BuffBasic.cs

@@ -29,14 +29,28 @@ namespace GameLogic.Combat.Buff
             this.buffInf = buffInfo;
             this.source = source;
             ProInit();
-            _count = buffInfo.count;
-            UpdateEffect();
+            AddBuffCount(source, buffInfo);
         }
 
         public void AddBuffCount(CombatHeroEntity source, BuffInfo buffInfo)
         {
             _currTime = 0;
-            _count += buffInfo.count;
+            int c = buffCount + buffInfo.count;
+            if (c > buffInfo.BuffConfig.overlayCount)
+            {
+                c = buffInfo.BuffConfig.overlayCount - buffCount;
+            }
+            else
+            {
+                c = buffInfo.count;
+            }
+
+            if (c <= 0)
+            {
+                return;
+            }
+
+            _count += c;
             UpdateEffect();
         }
 
@@ -57,6 +71,7 @@ namespace GameLogic.Combat.Buff
         {
         }
 
+
         public void ReduceCount(int count)
         {
             _count -= count;

+ 8 - 6
Assets/Scripts/GameLogic/Combat/Buff/BuffControl.cs

@@ -28,13 +28,15 @@ namespace GameLogic.Combat.Buff
                 buffBasic.Init(_combatHeroEntity, source, buffInfo);
                 _allBuff.Add(buffBasic);
                 BuffEventData buffEventData = BuffEventData.Create();
-                buffEventData.BuffBasic= buffBasic;
-                buffEventData.source= source;
-                buffEventData.target= _combatHeroEntity;
+                buffEventData.BuffBasic = buffBasic;
+                buffEventData.source = source;
+                buffEventData.target = _combatHeroEntity;
                 CombatEventManager.Instance.Dispatch(CombatEventType.AddBuff, buffEventData);
             }
             else
             {
+        
+
                 buffBasic.AddBuffCount(source, buffInfo);
             }
         }
@@ -101,9 +103,9 @@ namespace GameLogic.Combat.Buff
 
             _allBuff.Remove(buffBasic);
             BuffEventData buffEventData = BuffEventData.Create();
-            buffEventData.BuffBasic= buffBasic;
-            buffEventData.source= null;
-            buffEventData.target= _combatHeroEntity;
+            buffEventData.BuffBasic = buffBasic;
+            buffEventData.source = null;
+            buffEventData.target = _combatHeroEntity;
             CombatEventManager.Instance.Dispatch(CombatEventType.RemoveBuff, buffEventData);
             buffBasic.Dispose();
             CObjectPool.Instance.Recycle(buffBasic);

+ 3 - 3
Assets/Scripts/GameLogic/Combat/Buff/b_1001.cs

@@ -10,18 +10,18 @@ namespace GameLogic.Combat.Buff
     public class b_1001 : BuffBasic
     {
         private float lasetAddValue;
+
         protected override void ProInit()
         {
-            
         }
 
 
         protected override void ProUpdateEffect()
         {
-            combatHeroEntity.CurrCombatHeroInfo.addAttSpeed_bl -= lasetAddValue;
+            combatHeroEntity.CurrCombatHeroInfo.addAttSpeed_bl += lasetAddValue;
             lasetAddValue = 0;
             lasetAddValue = buffCount * buffInf.BuffConfig.effectValue[0];
-            
+            combatHeroEntity.CurrCombatHeroInfo.addAttSpeed_bl -= lasetAddValue;
         }
 
         public override void Dispose()

+ 18 - 5
Assets/Scripts/GameLogic/Combat/CombatTool/CombatCalculateTool.cs

@@ -15,23 +15,25 @@ namespace GameLogic.Combat.CombatTool
     {
         public Random Random = new Random();
 
-        static readonly WuXingType[] Symbiosis = new WuXingType[5]
+        static readonly WuXingType[] Symbiosis = new WuXingType[6]
         {
             WuXingType.Water, // 金生水
             WuXingType.Fire, // 木生火
             WuXingType.Gold, // 水生金
             WuXingType.Earth, // 火生土
-            WuXingType.Wood // 土生木
+            WuXingType.Wood, // 土生木
+            WuXingType.Null
         };
 
         // 相克关系表(用位表示)
-        static readonly WuXingType[] Restrain = new WuXingType[5]
+        static readonly WuXingType[] Restrain = new WuXingType[6]
         {
             WuXingType.Wood, // 金克木
             WuXingType.Earth, // 木克土
             WuXingType.Fire, // 水克火
             WuXingType.Gold, // 火克金
-            WuXingType.Water // 土克水
+            WuXingType.Water, // 土克水
+            WuXingType.Null
         };
 
         public CombatCalculateTool()
@@ -104,6 +106,17 @@ namespace GameLogic.Combat.CombatTool
                 return harmReturnInfo;
             }
 
+            float wuxing = source.CurrCombatHeroInfo.GetWuXingShuXing(WuXingType);
+            int index = GeWuXingTypeIndex(WuXingType);
+            WuXingType kzWuXing = Restrain[index];
+            float direnWuXing = target.combatHeroEntity.CurrCombatHeroInfo.GetWuXingShuXing(kzWuXing);
+
+
+            att += GetVlaueRatioForLong(att, wuxing);
+            float def = (target.combatHeroEntity.CurrCombatHeroInfo.defense.Value * 1.0f / source.CurrCombatHeroInfo.k);
+
+            float p1 = 1 - def;
+
             StartInjuredEventData startInjuredEventData = StartInjuredEventData.Create();
             startInjuredEventData.HarmReturnInfo = harmReturnInfo;
             CombatEventManager.Instance.Dispatch(CombatEventType.StartInjured, startInjuredEventData);
@@ -207,7 +220,7 @@ namespace GameLogic.Combat.CombatTool
                 case WuXingType.Water: return 2;
                 case WuXingType.Fire: return 3;
                 case WuXingType.Earth: return 4;
-                default: return -1; // 无效元素
+                default: return 5; // 无效元素
             }
         }
 

+ 1 - 2
Assets/Scripts/GameLogic/Combat/CombatTool/SkillScriptManager.cs

@@ -35,8 +35,7 @@ namespace GameLogic.Combat.CombatTool
 
                     // SkillBasic 
                     SkillBasic sb = (SkillBasic)CObjectPool.Instance.Fetch(type);
-                    ;
-                    sb.InitSkillConfig(skillConfig);
+                  
                     return sb;
                 }
             }

+ 104 - 104
Assets/Scripts/GameLogic/Combat/CombatType/LevelBattleCombatType.cs

@@ -24,110 +24,110 @@ namespace GameLogic.Combat.CombatType
        
 
 
-    
-
-        protected override void ProHeroDie(CombatHeroEntity combatHeroEntity, HarmReturnInfo harmReturnInfo)
-        {
-   
-        }
-
-    
-        private void PlayBgm()
-        {
-            AudioManager.Instance.PlayBGM("combatBattle.wav");
-        }
-
-        private void ResurrectionFinish()
-        {
-          
-        }
-
-
-      
-
- 
-
-        protected override async CTask ProStartGame()
-        {
-            CTaskAwaitBuffer cTaskAwaitBuffer = new CTaskAwaitBuffer();
-            // TestCombat(cTaskAwaitBuffer);
-            InitPlayerHero(cTaskAwaitBuffer);
-            InitTestCombatBoChi();
-            CreateEnemy(cTaskAwaitBuffer);
-            await cTaskAwaitBuffer.WaitAll();
-            CombatController.currActiveCombat.CombatHeroController.SetFollowTarget();
-        }
-
-   
-        
-
-        public void StartBossCombat()
-        {
-      
-        }
-
-        public void StartBossBattle()
-        {
-            CombatController.currActiveCombat.isStopAi = false;
-        }
-
-
-        protected void InitTestCombatBoChi()
-        {
- 
-        }
-
-
-        private void CreateEnemy(CTaskAwaitBuffer cTaskAwaitBuffer)
-        {
-      
-        }
-
-        private void CreateEnemy(CTaskAwaitBuffer cTaskAwaitBuffer, int monsterId, int level, int star, int index,
-            Vector3 pos,
-            System.Action<CombatHeroEntity> callBack = null)
-        {
-            CombatHeroEntity heroEntity = CObjectPool.Instance.Fetch<CombatHeroEntity>();
-            heroEntity.IsEnemy = true;
-            CombatHeroInfo combatHeroInfo = new CombatHeroInfo();
-            combatHeroInfo.InitMonster(monsterId, level, star);
-
-            cTaskAwaitBuffer.AddTask(heroEntity.Init(new CombatAIBasic(), combatHeroInfo, pos,
-                delegate(CombatHeroEntity entity)
-                {
-                    combatController.CombatHeroController.AddHero(entity);
-                    callBack?.Invoke(entity);
-                }));
-        }
-
-    
-
-        protected override void ProUpdate(float t)
-        {
-       
-        }
-
-
-        private void InitPlayerHero(CTaskAwaitBuffer cTaskAwaitBuffer)
-        {
-            // int i = 0;
-            // foreach (KeyValuePair<int, HeroInfo> keyValuePair in PlayerManager.Instance.heroController.heroDicInLead)
-            // {
-            //     int index = i;
-            //     CombatHeroEntity heroEntity = CObjectPool.Instance.Fetch<CombatHeroEntity>();
-            //     heroEntity.IsEnemy = false;
-            //     heroEntity.number = i;
-            //     Vector3 pos = _combatScenesConfig.heroPoint[index].position;
-            //     cTaskAwaitBuffer.AddTask(heroEntity.Init(new CombatAIBasic(), keyValuePair.Value, pos,
-            //         delegate(CombatHeroEntity entity) { combatController.CombatHeroController.AddHero(entity); }));
-            //
-            //     i++;
-            // }
-            //
-            // Vector3 p = _combatScenesConfig.heroPoint[0].position;
-            // combatController.CombatCameraControllder.root.position = new Vector3(p.x,
-            //     combatController.CombatCameraControllder.root.position.y, p.z + 13);
-        }
+        //
+        //
+        // protected override void ProHeroDie(CombatHeroEntity combatHeroEntity, HarmReturnInfo harmReturnInfo)
+        // {
+        //
+        // }
+        //
+        //
+        // private void PlayBgm()
+        // {
+        //     AudioManager.Instance.PlayBGM("combatBattle.wav");
+        // }
+        //
+        // private void ResurrectionFinish()
+        // {
+        //   
+        // }
+        //
+        //
+        //
+        //
+        //
+        //
+        // protected override async CTask ProStartGame()
+        // {
+        //     CTaskAwaitBuffer cTaskAwaitBuffer = new CTaskAwaitBuffer();
+        //     // TestCombat(cTaskAwaitBuffer);
+        //     InitPlayerHero(cTaskAwaitBuffer);
+        //     InitTestCombatBoChi();
+        //     CreateEnemy(cTaskAwaitBuffer);
+        //     await cTaskAwaitBuffer.WaitAll();
+        //     CombatController.currActiveCombat.CombatHeroController.SetFollowTarget();
+        // }
+        //
+        //
+        //
+        //
+        // public void StartBossCombat()
+        // {
+        //
+        // }
+        //
+        // public void StartBossBattle()
+        // {
+        //     CombatController.currActiveCombat.isStopAi = false;
+        // }
+        //
+        //
+        // protected void InitTestCombatBoChi()
+        // {
+        //
+        // }
+        //
+        //
+        // private void CreateEnemy(CTaskAwaitBuffer cTaskAwaitBuffer)
+        // {
+        //
+        // }
+        //
+        // private void CreateEnemy(CTaskAwaitBuffer cTaskAwaitBuffer, int monsterId, int level, int star, int index,
+        //     Vector3 pos,
+        //     System.Action<CombatHeroEntity> callBack = null)
+        // {
+        //     CombatHeroEntity heroEntity = CObjectPool.Instance.Fetch<CombatHeroEntity>();
+        //     heroEntity.IsEnemy = true;
+        //     CombatHeroInfo combatHeroInfo = new CombatHeroInfo();
+        //     combatHeroInfo.InitMonster(monsterId, level, star);
+        //
+        //     cTaskAwaitBuffer.AddTask(heroEntity.Init(new CombatAIBasic(), combatHeroInfo, pos,
+        //         delegate(CombatHeroEntity entity)
+        //         {
+        //             combatController.CombatHeroController.AddHero(entity);
+        //             callBack?.Invoke(entity);
+        //         }));
+        // }
+        //
+        //
+        //
+        // protected override void ProUpdate(float t)
+        // {
+        //
+        // }
+        //
+        //
+        // private void InitPlayerHero(CTaskAwaitBuffer cTaskAwaitBuffer)
+        // {
+        //     // int i = 0;
+        //     // foreach (KeyValuePair<int, HeroInfo> keyValuePair in PlayerManager.Instance.heroController.heroDicInLead)
+        //     // {
+        //     //     int index = i;
+        //     //     CombatHeroEntity heroEntity = CObjectPool.Instance.Fetch<CombatHeroEntity>();
+        //     //     heroEntity.IsEnemy = false;
+        //     //     heroEntity.number = i;
+        //     //     Vector3 pos = _combatScenesConfig.heroPoint[index].position;
+        //     //     cTaskAwaitBuffer.AddTask(heroEntity.Init(new CombatAIBasic(), keyValuePair.Value, pos,
+        //     //         delegate(CombatHeroEntity entity) { combatController.CombatHeroController.AddHero(entity); }));
+        //     //
+        //     //     i++;
+        //     // }
+        //     //
+        //     // Vector3 p = _combatScenesConfig.heroPoint[0].position;
+        //     // combatController.CombatCameraControllder.root.position = new Vector3(p.x,
+        //     //     combatController.CombatCameraControllder.root.position.y, p.z + 13);
+        // }
 
        
     }

+ 18 - 19
Assets/Scripts/GameLogic/Combat/CombatType/TestCombatType.cs

@@ -120,25 +120,24 @@ namespace GameLogic.Combat.CombatType
             testCombatHeroConfig = GameObject.FindObjectOfType<TestCombatHeroConfig>();
             if (testCombatHeroConfig != null)
             {
-                for (int i = 0; i < testCombatHeroConfig.myHeroInfo.Length; i++)
-                {
-                    int index = i;
-                    TestCombatHeroConfig.TestHeroInfoConfig testHeroInfoConfig = testCombatHeroConfig.myHeroInfo[i];
-                    CombatHeroEntity heroEntity = new CombatHeroEntity();
-                    CombatController.currActiveCombat.CombatHeroController.playerHeroEntity = heroEntity;
-                    heroEntity.IsEnemy = false;
-                    heroEntity.number = i;
-                    CombatHeroInfo combatHeroInfo = new CombatHeroInfo();
-                    testHeroInfoConfig.CopyToCombatHeroInfo((combatHeroInfo));
-                    Vector3 pos = heroPoint;
-                    cTaskAwaitBuffer.AddTask(heroEntity.Init(new CombatHeroAi(), combatHeroInfo, pos,
-                        delegate(CombatHeroEntity entity)
-                        {
-                            entity.CurrCombatHeroInfo.hp = (EncryptionLong)(20000);
-                            entity.MaxCombatHeroInfo.hp = (EncryptionLong)(20000);
-                            combatController.CombatHeroController.AddHero(entity);
-                        },isPlayer: true));
-                }
+                TestCombatHeroConfig.TestHeroInfoConfig testHeroInfoConfig = testCombatHeroConfig.myHeroInfo[0];
+                PlayerManager.Instance.AddTestHeroInfo(testHeroInfoConfig.heroID, testHeroInfoConfig.level,
+                    testHeroInfoConfig.skill, testHeroInfoConfig.magicWeaponId);
+
+
+                CombatHeroEntity heroEntity = new CombatHeroEntity();
+                CombatController.currActiveCombat.CombatHeroController.playerHeroEntity = heroEntity;
+                heroEntity.IsEnemy = false;
+                heroEntity.number = 0;
+
+                Vector3 pos = heroPoint;
+                cTaskAwaitBuffer.AddTask(heroEntity.Init(new CombatHeroAi(), PlayerManager.Instance.myHero, pos,
+                    delegate(CombatHeroEntity entity)
+                    {
+                        entity.CurrCombatHeroInfo.hp = (EncryptionLong)(20000);
+                        entity.MaxCombatHeroInfo.hp = (EncryptionLong)(20000);
+                        combatController.CombatHeroController.AddHero(entity);
+                    }, isPlayer: true));
             }
         }
     }

+ 35 - 10
Assets/Scripts/GameLogic/Combat/Hero/CombatHeroInfo.cs

@@ -6,6 +6,7 @@ using Excel2Json;
 using Fort23.UTool;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Hero;
+using GameLogic.Player;
 using UnityEngine;
 using UnityEngine.Serialization;
 using Utility;
@@ -35,11 +36,12 @@ public class CombatHeroInfo
 
     public HeroPowerUpConfig powerUpConfig;
     public MonsterPowerUpConfig MonsterPowerUpConfig;
-    public HeroPromoteConfig promoteConfig;
+
     /// <summary>
     /// 护盾
     /// </summary>
     public EncryptionLong Shield;
+
     /// <summary>
     /// 神识
     /// </summary>
@@ -110,6 +112,7 @@ public class CombatHeroInfo
 
     public bool isMonster;
 
+    public int k;
     // public int[] skillId;
     // public List<SkillConfig> skillConfigs;
     /// <summary>
@@ -120,7 +123,7 @@ public class CombatHeroInfo
     public bool isGpu;
     public string heroName;
 
-    public List<int> MagicWeaponID;
+    public List<FaBaoInfo> MagicWeaponID = new List<FaBaoInfo>();
 
     public float GetAttSpeed
     {
@@ -155,6 +158,30 @@ public class CombatHeroInfo
         _AttributeCacheValue[attributeType] = value;
     }
 
+    public float GetWuXingShuXing(WuXingType wuXingType)
+    {
+        switch (wuXingType)
+        {
+            case WuXingType.Gold:
+                return Metal;
+                break;
+            case WuXingType.Wood:
+                return Wood;
+                break;
+            case WuXingType.Water:
+                return Water;
+                break;
+            case WuXingType.Fire:
+                return Fire;
+                break;
+            case WuXingType.Earth:
+                return Earth;
+                break;
+            default:
+                return 0;
+        }
+    }
+
     protected void CalBasicAttribute()
     {
         _AttributeCacheValue.Clear();
@@ -169,13 +196,12 @@ public class CombatHeroInfo
             hp = (EncryptionLong)(modelConfig.hp * powerUpConfig.HPFactor);
             defense = (EncryptionLong)(modelConfig.def * powerUpConfig.DEFFactor);
             attack = (EncryptionLong)(modelConfig.attack * powerUpConfig.ATKFactor);
-            Shield= (EncryptionLong)(modelConfig.shield * powerUpConfig.HudunFactor);
-            shenshi= (EncryptionLong)(modelConfig.shenshi * powerUpConfig.ShenshiFactor);
-       
+            Shield = (EncryptionLong)(modelConfig.shield * powerUpConfig.HudunFactor);
+            shenshi = (EncryptionLong)(modelConfig.shenshi * powerUpConfig.ShenshiFactor);
+            k = powerUpConfig.defK;
         }
 
 
-
         for (_AttributeCacheValue.Begin(); _AttributeCacheValue.Next();)
         {
             switch (_AttributeCacheValue.Key)
@@ -254,7 +280,7 @@ public class CombatHeroInfo
         }
     }
 
-    protected void SetDataConfig(int modelID, int level, int star)
+    protected void SetDataConfig(int modelID, int level)
     {
         modelConfig = ConfigComponent.Instance.Get<HeroModelConfig>(modelID);
         if (isMonster)
@@ -266,15 +292,14 @@ public class CombatHeroInfo
             powerUpConfig = ConfigComponent.Instance.Get<HeroPowerUpConfig>(level);
         }
 
-        promoteConfig = ConfigComponent.Instance.Get<HeroPromoteConfig>(star);
         this.level = (EncryptionInt)level;
         heroName = LanguageManager.Instance.Text(modelConfig.name);
     }
 
-    public void InitMonster(int modelID, int level, int star = 1)
+    public void InitMonster(int modelID, int level)
     {
         isMonster = true;
-        SetDataConfig(modelID, level, star);
+        SetDataConfig(modelID, level);
 
         CalAttribute();
     }

+ 1 - 1
Assets/Scripts/GameLogic/Combat/Hero/CombatHeroSkillControl.cs

@@ -45,7 +45,7 @@ namespace GameLogic.Combat.Hero
             }
             else
             {
-                await SetNewSkill(PlayerManager.Instance.allUseSkill);
+                await SetNewSkill(PlayerManager.Instance.GongFaControl.allUseSkill);
             }
             // NormalAttSpeedScale = 2;
             // CTaskAwaitBuffer cTaskAwaitBuffer = new CTaskAwaitBuffer();

+ 3 - 3
Assets/Scripts/GameLogic/Combat/Hero/CombatHeroSkillControlBasic.cs

@@ -28,7 +28,7 @@ namespace GameLogic.Combat.Hero
         {
             return this as T;
         }
-        
+
 
         public async CTask Init(CombatHeroEntity combatHeroEntity)
         {
@@ -56,7 +56,6 @@ namespace GameLogic.Combat.Hero
 
         public virtual async CTask SetNewSkill(SkillInfo[] allSkill)
         {
-            
         }
 
         public SkillBasic AddSkill(SkillInfo skillInfo)
@@ -72,7 +71,8 @@ namespace GameLogic.Combat.Hero
                 return null;
             }
 
-           
+
+            skillBasic.InitSkillConfig(skillInfo);
             skillBasic.InitSkill(_combatHeroEntity);
             allSkill.Add(skillBasic);
             return skillBasic;

+ 11 - 15
Assets/Scripts/GameLogic/Combat/Hero/CombatMagicWeaponEntity.cs

@@ -24,10 +24,11 @@ namespace GameLogic.Combat.Hero
         public CombatMagicWeaponEntity CollidingTarget;
 
         public int MagicWeaponCollisionId = -1;
-        protected MagicWeaponConfig _magicWeaponConfig;
+        protected FabaoConfig _magicWeaponConfig;
         public float cd = 2;
 
 
+        private FaBaoInfo _faBaoInfo;
         public float HpBl
         {
             get { return _HpBl; }
@@ -55,7 +56,7 @@ namespace GameLogic.Combat.Hero
         {
             get { return magicWeaponConfig.cd; }
         }
-        private MagicWeaponConfig magicWeaponConfig;
+        private FabaoConfig magicWeaponConfig;
 
         public void ReduceHp(float value)
         {
@@ -72,10 +73,11 @@ namespace GameLogic.Combat.Hero
         }
 
         public async CTask<CombatMagicWeaponEntity> Init(MagicWeaponControl magicWeaponControl,
-            MagicWeaponConfig magicWeaponConfig,
+            FaBaoInfo faBaoInfo,
             System.Action<CombatMagicWeaponEntity> callBack = null)
         {
-            this.magicWeaponConfig = magicWeaponConfig;
+            this._faBaoInfo = faBaoInfo;
+            this.magicWeaponConfig = faBaoInfo.FabaoConfig;
             this._magicWeaponControl = magicWeaponControl;
             string modelName = magicWeaponConfig.model;
 
@@ -112,16 +114,10 @@ namespace GameLogic.Combat.Hero
             combatHeroGameObject.Init(this, poolInterface);
             CombatHeroSkillControl = new CombatHeroSkillControlBasic();
             CombatHeroSkillControl.Init(this);
-            if (magicWeaponConfig.skillID != null)
-            {
-                for (int i = 0; i < magicWeaponConfig.skillID.Length; i++)
-                {
-                    int id = magicWeaponConfig.skillID[i] * 10 + 1;
-                    // SkillConfig skillConfig = ConfigComponent.Instance.Get<SkillConfig>(id);
-                    SkillInfo skillInfo=new SkillInfo(id, 1);
-                    CombatHeroSkillControl.AddSkill(skillInfo);
-                }
-            }
+            int id = magicWeaponConfig.SkillGroupID * 10 + 1;
+            // SkillConfig skillConfig = ConfigComponent.Instance.Get<SkillConfig>(id);
+            SkillInfo skillInfo=new SkillInfo(id, 1);
+            CombatHeroSkillControl.AddSkill(skillInfo);
 
 
             if (CombatAIBasic == null)
@@ -162,7 +158,7 @@ namespace GameLogic.Combat.Hero
             {
                return;
             }
-            _HpBl = 100;
+            _HpBl = _faBaoInfo.FabaoPowerupConfig.Power;
             cd = magicWeaponConfig.cd;
             CollidingTarget = null;
             _magicWeaponControl.UseMagicWeapon(this);

+ 4 - 3
Assets/Scripts/GameLogic/Combat/Hero/MagicWeaponControl.cs

@@ -5,6 +5,7 @@ using Excel2Json;
 using Fort23.Core;
 using Fort23.UTool;
 using GameLogic.Combat.CombatTool;
+using GameLogic.Hero;
 
 namespace GameLogic.Combat.Hero
 {
@@ -44,15 +45,15 @@ namespace GameLogic.Combat.Hero
             isAutoUse = !isPlayer;
             this.combatHeroEntity = combatHeroEntity;
             CTaskAwaitBuffer cTaskAwaitBuffer = new CTaskAwaitBuffer();
-            List<int> MagicWeaponID = combatHeroEntity.CurrCombatHeroInfo.MagicWeaponID;
+            List<FaBaoInfo> MagicWeaponID = combatHeroEntity.CurrCombatHeroInfo.MagicWeaponID;
             for (int i = 0; i < MagicWeaponID.Count; i++)
             {
                 CombatMagicWeaponEntity heroEntity = new CombatMagicWeaponEntity();
                 heroEntity.IsEnemy = combatHeroEntity.IsEnemy;
                 heroEntity.number = i;
 
-                MagicWeaponConfig magicWeaponConfig = ConfigComponent.Instance.Get<MagicWeaponConfig>(MagicWeaponID[i]);
-                cTaskAwaitBuffer.AddTask(heroEntity.Init(this, magicWeaponConfig,
+
+                cTaskAwaitBuffer.AddTask(heroEntity.Init(this, MagicWeaponID[i],
                     delegate(CombatMagicWeaponEntity entity) { AddMagicWeapon(entity); }));
             }
         }

+ 12 - 10
Assets/Scripts/GameLogic/Combat/Skill/SkillBasic.cs

@@ -13,6 +13,7 @@ using GameLogic.Combat.CombatTool;
 using GameLogic.Combat.Hero;
 using GameLogic.Combat.Skill.IntensifierEffect;
 using GameLogic.CombatScenesTool;
+using GameLogic.Hero;
 using GameLogic.Player;
 using UnityEngine;
 using Utility;
@@ -140,9 +141,6 @@ namespace GameLogic.Combat.Skill
         public void InitSkill(CombatHeroEntity combatHeroEntity)
         {
             wuXingType = (WuXingType)SelfSkillConfig.attribute;
-            SkillFeaturesData = new SkillFeaturesData();
-            SkillFeaturesData.WuXingType = wuXingType;
-            SkillFeaturesData.hp = Random.Range(100, 200);
             SkillFeaturesData.isEnemy = combatHeroEntity.IsEnemy;
             _combatHeroEntity = combatHeroEntity;
             ProInitSkill();
@@ -251,20 +249,24 @@ namespace GameLogic.Combat.Skill
             ProStartGame();
         }
 
-        public void InitSkillConfig(SkillConfig skillConfig)
+        public void InitSkillConfig(SkillInfo skillInfo)
         {
-            SkillMaxCd = skillConfig.cd;
+            SelfSkillConfig = skillInfo.skillConfig;
+            SkillMaxCd = SelfSkillConfig.cd;
             _skillCd = SkillMaxCd;
-            SelfSkillConfig = skillConfig;
-
-            UseCount = skillConfig.SkillType * 100000;
-            skillGuid = skillConfig.ID;
+           
+            SkillFeaturesData = new SkillFeaturesData();
+            SkillFeaturesData.WuXingType = wuXingType;
+            SkillFeaturesData.hp = skillInfo.qiangDu;
+            
+            UseCount = SelfSkillConfig.SkillType * 100000;
+            skillGuid = SelfSkillConfig.ID;
             // if (SkillIntensifierData == null)
             // {
             //     SkillIntensifierData = new SkillIntensifierData();
             // }
 
-            switch (skillConfig.attribute)
+            switch (SelfSkillConfig.attribute)
             {
                 case 1:
                     useAngle = 0;

+ 2 - 8
Assets/Scripts/GameLogic/Combat/Skill/SkillFeaturesData.cs

@@ -4,18 +4,12 @@ using GameLogic.Player;
 
 namespace GameLogic.Combat.Skill
 {
-
     public class SkillFeaturesData : CObject
     {
-        /// <summary>
-        /// 防御值
-        /// </summary>
-        public int def;
-
         /// <summary>
         /// 生命值
         /// </summary>
-        public int hp;
+        public long hp;
 
         public bool isEnemy;
 
@@ -72,7 +66,7 @@ namespace GameLogic.Combat.Skill
         {
             SkillFeaturesData skillFeaturesData = CObjectPool.Instance.Fetch<SkillFeaturesData>();
             skillFeaturesData.hp = hp;
-            skillFeaturesData.def = def;
+
             skillFeaturesData.isEnemy = isEnemy;
             skillFeaturesData.WuXingType = WuXingType;
             return skillFeaturesData;

+ 6 - 1
Assets/Scripts/GameLogic/CombatScenesTool/TestCombatHeroConfig.cs

@@ -24,7 +24,12 @@ namespace GameLogic.CombatScenesTool
             {
                 combatHeroInfo.InitMonster(heroID, level);
                 int[] skill = combatHeroInfo.modelConfig.skillID;
-                combatHeroInfo.MagicWeaponID = magicWeaponId;
+                for (int i = 0; i < magicWeaponId.Count; i++)
+                {
+                    FaBaoInfo faBaoInfo = new FaBaoInfo(magicWeaponId[i], 1);
+                    combatHeroInfo.MagicWeaponID.Add(faBaoInfo);
+                }
+              
                 // combatHeroInfo.skillConfigs = new List<SkillConfig>();
                 combatHeroInfo.unLockSkills.Clear();
                 for (int i = 0; i < skill.Length; i++)

+ 22 - 0
Assets/Scripts/GameLogic/Hero/FaBaoInfo.cs

@@ -0,0 +1,22 @@
+using Excel2Json;
+using Fort23.UTool;
+
+namespace GameLogic.Hero
+{
+    public class FaBaoInfo
+    {
+        /// <summary>
+        /// 星级
+        /// </summary>
+        public int star;
+        public FabaoConfig FabaoConfig;
+        public FabaoPowerupConfig FabaoPowerupConfig;
+
+        public FaBaoInfo(int id,int powerupId)
+        {
+            FabaoConfig = ConfigComponent.Instance.Get<FabaoConfig>(id);
+            FabaoPowerupConfig = ConfigComponent.Instance.Get<FabaoPowerupConfig>(powerupId);
+            star = FabaoConfig.Star;
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Hero/FaBaoInfo.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 51d0967d20f64c03889b54a7ebff0bdf
+timeCreated: 1744105737

+ 41 - 0
Assets/Scripts/GameLogic/Hero/HeroAttributeType.cs

@@ -0,0 +1,41 @@
+namespace GameLogic.Hero
+{
+    public enum HeroAttributeType
+    {
+        HP=1,
+        ATT=2,
+        DEF=3,
+        FaLi=4,
+        HP_BL=101,
+        ATT_BL=102,
+        DEF_BL=103,
+        FaLi_BL=104,
+        ShengShi_BL=105,
+        // 金
+        Gold = 106,
+
+        // 木
+        Wood = 107,
+
+        // 水
+        Water = 108,
+
+        // 火
+        Fire = 109,
+
+        // 土
+        Earth = 110,
+        /// <summary>
+        /// 护盾
+        /// </summary>
+        Shields=111,
+        /// <summary>
+        /// 攻击速度
+        /// </summary>
+        AttSpeed=112,
+        /// <summary>
+        /// 法力恢复
+        /// </summary>
+        FaLiHuiFu=113,
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Hero/HeroAttributeType.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 4d136ff3a2ef4f3282ca03c37d1e0212
+timeCreated: 1744180739

+ 0 - 334
Assets/Scripts/GameLogic/Hero/HeroController.cs

@@ -1,334 +0,0 @@
-using System.Collections.Generic;
-using Common.Utility.CombatEvent;
-using Core.Utility;
-using Excel2Json;
-using Fort23.Core;
-using Fort23.UTool;
-using GameLogic.Bag;
-
-namespace GameLogic.Hero
-{
-    public class HeroController
-    {
-        
-        
-        
-        /// <summary>
-        /// 所有英雄
-        /// </summary>
-        public Dictionary<int, HeroInfo> allHeroDic = new Dictionary<int, HeroInfo>();
-        
-
-        /// <summary>
-        /// 也可以叫主力(afk的共鸣英雄),替补英雄等级=主力英雄的最低等级(和afk一样的)
-        /// 主力英雄不一定等于上阵英雄,主力英雄只是决定了共鸣等级
-        /// </summary>
-        public Dictionary<int, HeroInfo> heroDicInLead = new Dictionary<int, HeroInfo>(4);
-
-        /// <summary>
-        /// 后备英雄(共享等级)
-        /// </summary>
-        public Dictionary<int, HeroInfo> heroDicInBack = new Dictionary<int, HeroInfo>();
-
-        public int mainLevel => m_MainLevel;
-    
-
-        private int m_MainLevel;
-
-
-        private void CalMainLevel()
-        {
-            //计算主力英雄的最低等级
-            int tmpLv = 9999;
-            foreach (var keyValuePair in heroDicInLead)
-            {
-                if (keyValuePair.Value.level.Value < tmpLv)
-                {
-                    tmpLv = keyValuePair.Value.level.Value;
-                }
-            }
-            
-            m_MainLevel = tmpLv;
-            
-            EventManager.Instance.Dispatch(CustomEventType.MainLvUp, new SimpleEventData(){intData = m_MainLevel});
-        }
-
-
-        public HeroUpResultType CanPromote(HeroInfo heroInfo)
-        {
-            long curHeroCount = BagController.Instance.GetItemInfo(heroInfo.modelConfig.itemID).count.Value;
-            int costHeroCount = heroInfo.promoteConfig.costCount;
-
-            if (curHeroCount < costHeroCount)
-            {
-                return HeroUpResultType.ResNotEnough;    
-            }
-            
-            return HeroUpResultType.Success;
-        }
-        
-        public HeroUpResultType CanUpgrade(HeroInfo heroInfo, bool isOpenPre = false)
-        {
-            if (PlayerManager.Instance.gameConstantConfig.maxLv <= heroInfo.level.Value)
-            {
-                LogTool.Log("已到达最高等级:" + PlayerManager.Instance.gameConstantConfig.maxLv);
-                return HeroUpResultType.MaxLv;
-            }
-            
-            //计算主力英雄等级差, 如果再升一级,就大于最大等级差了,就不允许升了.
-            if (heroInfo.level.Value - m_MainLevel >= GlobalParam.Max_Main_Level_Difference)
-            {
-                LogTool.Log(heroInfo.modelID + "主力英雄等级差不能超过:" + GlobalParam.Max_Main_Level_Difference);
-                return HeroUpResultType.MainLevelNotEnough;
-            }
-
-            //每10级,要打开预览界面后,再升级(如果已经打开,就不判断了)
-            if (!isOpenPre && (heroInfo.level.Value + 1) % 10 == 1)
-            {
-                return HeroUpResultType.NeedOpenPreUI;
-            }
-            
-            if (BagController.Instance.IsEnough(GlobalParam.Item_HeroExp_ID, heroInfo.powerUpConfig.levelUpExp))
-            {
-                if (isOpenPre)
-                {
-                    return HeroUpResultType.PlayUpgradeEftFirst;
-                }
-                return HeroUpResultType.Success;
-            }
-            else
-            {
-                return HeroUpResultType.ExpNotEnough;    
-            }
-        }
-
-        private void DoUpgrade(HeroInfo heroInfo)
-        {
-            heroInfo.Upgrade();
-            PlayerManager.Instance.SaveHeroData(heroInfo);
-            //如果当前英雄等级等于主力等级,则升级时需要重新计算主力等级
-            if (heroInfo.level.Value - 1 == m_MainLevel)
-            {
-                CalMainLevel();
-            }
-            // SendEvent(HeroUpType.Level, heroInfo, HeroUpResultType.Success);
-        }
-
-
-        public HeroUpResultType PromoteHeroLogic(HeroInfo heroInfo)
-        {
-            
-            HeroUpResultType resultType = CanPromote(heroInfo);
-
-            if (resultType == HeroUpResultType.Success)
-            {
-                //扣除碎片
-                bool isOk = BagController.Instance.DeductItem(heroInfo.modelConfig.itemID, heroInfo.promoteConfig.costCount);
-                if (isOk)
-                {
-                    if (resultType == HeroUpResultType.Success)
-                    {
-                        heroInfo.Promote();
-                        PlayerManager.Instance.SaveHeroData(heroInfo);
-                        // SendEvent(HeroUpType.Promote, heroInfo, resultType);
-                    }
-                }
-            }
-            
-            return resultType;
-            
-        }
-
-        /// <summary>
-        /// 英雄升级逻辑,主要是改数据,不在这里做UI表现
-        /// </summary>
-        /// <param name="heroInfo"></param>
-        public HeroUpResultType UpgradeHeroLogic(HeroInfo heroInfo, bool isOpenPre = false)
-        {
-            HeroUpResultType resultType = CanUpgrade(heroInfo, isOpenPre);
-            if (resultType == HeroUpResultType.Success || resultType == HeroUpResultType.PlayUpgradeEftFirst)
-            {
-                //扣除经验
-                bool isOk = BagController.Instance.DuctHeroExp(heroInfo.powerUpConfig.levelUpExp);
-
-                if (isOk)
-                {
-                    if (resultType == HeroUpResultType.Success)
-                    {
-                        DoUpgrade(heroInfo);
-                    }
-                    else if (resultType == HeroUpResultType.PlayUpgradeEftFirst)
-                    {
-                        //执行逻辑,返回播放特效的类型
-                        DoUpgrade(heroInfo);
-                        return resultType;
-                    }
-
-                    return HeroUpResultType.Success;
-                }
-            }
-            return resultType;
-        }
-        
-        // /// <summary>
-        // /// 发送英雄提升的事件
-        // /// </summary>
-        // /// <param name="upType">提升类型:升级、升星等.</param>
-        // public void SendEvent(HeroUpType upType, HeroInfo heroInfo, HeroUpResultType resultType = HeroUpResultType.None)
-        // {
-        //     HeroPowerUpEventData data = new HeroPowerUpEventData();
-        //     data.heroModelID = heroInfo.modelID;
-        //     data.upType = upType;
-        //     data.ResultType = resultType;
-        //     
-        //     PlayerManager.Instance.lastHeroInfo = heroInfo;
-        //  
-        //     if (upType == HeroUpType.Level)
-        //     {
-        //         SkillUpConfig upConfig = PlayerManager.Instance.heroController
-        //             .GetSkillUpConfig4Lv(heroInfo.level.Value);
-        //         
-        //         
-        //         if (upConfig.ID > 0)
-        //         {
-        //             heroInfo.SkillData.UpdateSkills();
-        //             data.isSkillUp = true;
-        //         }
-        //         
-        //         EventManager.Instance.Dispatch(CustomEventType.HeroLvUp, data);
-        //     }
-        //     else if (upType == HeroUpType.Promote)
-        //     {
-        //         // SkillUpConfig upConfig = PlayerManager.Instance.heroController
-        //         //     .IsStarUpGetNewSkill(heroInfo.star.Value);
-        //         
-        //         // data.isSkillUp = upConfig.ID > 0;
-        //         
-        //         // SkillUpConfig upConfig = PlayerManager.Instance.heroController.GetSkillUpConfig4Star(heroInfo.star.Value);
-        //         //
-        //         // if (upConfig.ID > 0)
-        //         // {
-        //         //     heroInfo.SkillData.UpdateSkills();
-        //         //     data.isSkillUp = true;
-        //         // }
-        //         
-        //         EventManager.Instance.Dispatch(CustomEventType.HeroPromote, data);
-        //     }
-        //     EventManager.Instance.Dispatch(CustomEventType.HeroPowerUp, data);
-        // }
-        //
-        public void InitHeroes()
-        {
-        
-            CalMainLevel();
-        }
-        
-        /// <summary>
-        /// 获取英雄
-        /// </summary>
-        /// <param name="modelID">英雄ID modelID</param>
-        /// <returns></returns>
-        public CombatHeroInfo GetHeroInfo(int modelID)
-        {
-
-            if (allHeroDic.ContainsKey(modelID))
-            {
-                return allHeroDic[modelID];
-            }
-            
-            LogTool.Error("没有这个英雄" + modelID);
-            return null;
-        }
-        
-        
-        /// <summary>
-        /// 添加英雄
-        /// </summary>
-        /// <param name="heroInfo"></param>
-        public void AddHero(HeroInfo heroInfo)
-        {
-            if (heroInfo.isLead)
-            {
-                DeployHeroToLead(heroInfo);
-            }
-            else
-            {
-                DeployHeroToBack(heroInfo);
-            }
-        }
-
-        /// <summary>
-        /// 进入主力队伍
-        /// </summary>
-        /// <param name="heroInfo"></param>
-        public void DeployHeroToLead(HeroInfo heroInfo)
-        {
-            if (heroDicInLead.Count >= GlobalParam.Max_Deploy_HERO)
-            {
-                return;
-            }
-
-            if (heroDicInLead.ContainsKey(heroInfo.modelID))
-            {
-                LogTool.Error("heroDicInLead不应该出现相同的英雄ID=" + heroInfo.modelID);
-                return;
-            }
-            
-            heroDicInLead.Add(heroInfo.modelID, heroInfo);
-            heroInfo.isLead = true;
-            
-            allHeroDic.Add(heroInfo.modelID, heroInfo);
-            CalMainLevel();
-        }
-
-        /// <summary>
-        /// 更换主力
-        /// </summary>
-        /// <param name="heroInfo"></param>
-        public void ChangeLeadHero(HeroInfo backHero, HeroInfo leadHero)
-        {
-            if (!heroDicInLead.ContainsKey(leadHero.modelID))
-            {
-                LogTool.Error("不是主力" + leadHero.modelID);
-                return;
-            }
-            
-            if (!heroDicInBack.ContainsKey(backHero.modelID))
-            {
-                LogTool.Error("不是替补" + backHero.modelID);
-                return;
-            }
-            
-            //从主力中移除,并加入后补
-            heroDicInLead.Remove(leadHero.modelID);
-            DeployHeroToBack(leadHero);
-
-            //从后补中移除,并加入主力
-            heroDicInBack.Remove(backHero.modelID);
-            DeployHeroToLead(backHero);
-            
-            
-        }
-        
-        /// <summary>
-        /// 进入后备队伍(英雄背包)
-        /// </summary>
-        /// <param name="heroInfo"></param>
-        public void DeployHeroToBack(HeroInfo heroInfo)
-        {
-            if (heroDicInBack.ContainsKey(heroInfo.modelID))
-            {
-                LogTool.Error("heroDicInBack不应该出现相同的英雄ID=" + heroInfo.modelID);
-                return;
-            }
-            
-            heroDicInBack.Add(heroInfo.modelID, heroInfo);
-            heroInfo.isLead = false;
-            
-            allHeroDic.Add(heroInfo.modelID, heroInfo);
-        }
-        
-        
-       
-    }
-}

+ 0 - 3
Assets/Scripts/GameLogic/Hero/HeroController.cs.meta

@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 8ed6db366c224939aa0dd1114a884a84
-timeCreated: 1732852647

+ 103 - 64
Assets/Scripts/GameLogic/Hero/HeroInfo.cs

@@ -3,96 +3,135 @@ using Common.Utility.CombatEvent;
 using Excel2Json;
 using Fort23.Core;
 using Fort23.UTool;
+using Utility;
 
 namespace GameLogic.Hero
 {
     public class HeroInfo : CombatHeroInfo
     {
-     
         private string _iconZhiYe;
-        
-        /// <summary>
-        /// 是否为主力英雄
-        /// </summary>
-        public bool isLead;
-        
-
-    
+
+        private Map<HeroAttributeType, int> attributeBlValue = new Map<HeroAttributeType, int>();
+
         public HeroInfo()
         {
-            EventManager.Instance.AddEventListener(CustomEventType.HeroEquip, OnHeroEquip);
         }
 
-        private void OnHeroEquip(IEventData e)
-        {
-            HeroEquipEventData data = e as HeroEquipEventData;
-            if (data.zy == modelConfig.profession)
-            {
-                CalAttribute();
-                HeroPowerUpEventData eventData = HeroPowerUpEventData.Create();
-                eventData.heroModelID = modelID;
-                eventData.isSkillUp = false;
-                eventData.upType = HeroUpType.BasicEquip;
-                EventManager.Instance.Dispatch(CustomEventType.HeroPowerUp, eventData);
-            }
-        }
 
         public void InitHero(AccountFileInfo.HeroData heroData)
         {
-            // modelID = heroData.heroModelId;
-            isLead = heroData.isLead;
-            InitHero(heroData.heroModelId, heroData.heroPowerId, heroData.heroPromoteId);
-            
-            // SetDataConfig(heroData.heroModelId, 
-            //     heroData.heroPowerId, 
-            //     heroData.heroPromoteId);
-            // CalFactor();
-            // CalAttribute();
-            // SkillData = new SkillData(this);
-            // SkillData.InitSkills();
+            InitHero(heroData.heroModelId, heroData.heroPowerId);
         }
 
-        public void InitHero(int modelID, int powerID, int promoteID)
+        public void InitHero(int modelID, int powerID)
         {
             this.modelID = modelID;
-            SetDataConfig(modelID, 
-                powerID, 
-                promoteID);
-          
-            CalAttribute();
-          
-        }
-        public HeroInfo Upgrade()
-        {
-            level.Value++;
-            powerUpConfig = ConfigComponent.Instance.Get<HeroPowerUpConfig>(level.Value);
-            
-            CalBasicAttribute();
-            return this;
+            SetDataConfig(modelID,
+                powerID);
+
+            ComputeHeroInfo();
         }
 
-        public HeroInfo Promote()
+        // public HeroInfo Upgrade()
+        // {
+        //     level.Value++;
+        //     powerUpConfig = ConfigComponent.Instance.Get<HeroPowerUpConfig>(level.Value);
+        //
+        //     CalBasicAttribute();
+        //     return this;
+        // }
+
+
+        public void ComputeHeroInfo()
         {
-            // star.Value++;
-            // promoteConfig = ConfigComponent.Instance.Get<HeroPromoteConfig>(star.Value);
-            // CalFactor();
-            // CalBasicAttribute();
+            attributeBlValue.Clear();
+            CalAttribute();
+            List<FaBaoInfo> myAllFaBao = PlayerManager.Instance.FaBaoControl.myAllFaBao;
+            foreach (var faBaoInfo in myAllFaBao)
+            {
+                int star = faBaoInfo.star;
 
-            return this;
-        }
+                for (int i = 0; i < star; i++)
+                {
+                    if (faBaoInfo.FabaoConfig.StarupShuxingIDs.Length <= i)
+                    {
+                        break;
+                    }
 
+                    int shuxingID = faBaoInfo.FabaoConfig.StarupShuxingIDs[i];
+                    int shuxingValue = faBaoInfo.FabaoConfig.StarupShuxingValues[i];
+                    ComputeHeroAttributeType(shuxingID, shuxingValue);
+                }
+            }
+
+            ///功法加被动属性
+            List<SkillInfo> allSkill = PlayerManager.Instance.GongFaControl.allSkill;
+            foreach (var VARIABLE in attributeBlValue)
+            {
+                switch (VARIABLE.Key)
+                {
+                    case HeroAttributeType.HP_BL:
+                        hp.Value += (long)(hp.Value * (VARIABLE.Value / 100f));
+                        break;
+                    case HeroAttributeType.ATT_BL:
+                        attack.Value += (long)(attack.Value * (VARIABLE.Value / 100f));
+                        break;
+                    case HeroAttributeType.DEF_BL:
+                        defense.Value += (long)(defense.Value * (VARIABLE.Value / 100f));
+                        break;
+                    case HeroAttributeType.ShengShi_BL:
+                        shenshi.Value += (long)(shenshi.Value * (VARIABLE.Value / 100f));
+                        break;
+                }
+            }
+        }
 
 
-        public AccountFileInfo.HeroData ToHeroData()
+        private void ComputeHeroAttributeType(int shuxingID, int value)
         {
-            AccountFileInfo.HeroData heroData = new AccountFileInfo.HeroData
+            switch ((HeroAttributeType)shuxingID)
             {
-                heroModelId = modelConfig.ID,
-                heroPowerId = powerUpConfig.ID,
-                heroPromoteId = promoteConfig.ID,
-                isLead = isLead,
-            };
-            return heroData;
+                case HeroAttributeType.HP:
+                    hp.Value += value;
+                    break;
+                case HeroAttributeType.ATT:
+                    attack.Value += value;
+                    break;
+                case HeroAttributeType.DEF:
+                    defense.Value += value;
+                    break;
+                case HeroAttributeType.Gold:
+                    Metal += value;
+                    break;
+                case HeroAttributeType.Wood:
+                    Wood += value;
+                    break;
+                case HeroAttributeType.Fire:
+                    Fire += value;
+                    break;
+                case HeroAttributeType.Water:
+                    Water += value;
+                    break;
+                case HeroAttributeType.Earth:
+                    Earth += value;
+                    break;
+                case HeroAttributeType.Shields:
+                    Shield.Value += value;
+                    break;
+                default:
+                    if (attributeBlValue.TryGetValue((HeroAttributeType)shuxingID, out var value1)
+                       )
+                    {
+                        attributeBlValue[(HeroAttributeType)shuxingID] = value1 + value;
+                    }
+                    else
+                    {
+                        attributeBlValue.Add((HeroAttributeType)shuxingID, value);
+                    }
+
+
+                    break;
+            }
         }
     }
 }

+ 4 - 4
Assets/Scripts/GameLogic/Paritcle/ParitcleLogic/FxParabolaBulletLogic.cs

@@ -175,15 +175,15 @@ namespace Common.Combat.FxAILogic
                 int myRestrained = SkillFeaturesData.GetRestrained(skillFeaturesData.WuXingType);
                 int targetRestrained = skillFeaturesData.GetRestrained(SkillFeaturesData.WuXingType);
                 int c = myRestrained - targetRestrained;
-                int myHp = SkillFeaturesData.hp;
-                int targetHp = skillFeaturesData.hp;
+                long myHp = SkillFeaturesData.hp;
+                long targetHp = skillFeaturesData.hp;
                 if (c < 0) //我被压制
                 {
-                    myHp -= CombatCalculateTool.Instance.GetVlaueRatioForInt(myHp, 10 * (Mathf.Abs(c)));
+                    myHp -= CombatCalculateTool.Instance.GetVlaueRatioForLong(myHp, 10 * (Mathf.Abs(c)));
                 }
                 else if (c > 0)
                 {
-                    targetHp -= CombatCalculateTool.Instance.GetVlaueRatioForInt(targetHp, 10 * (Mathf.Abs(c)));
+                    targetHp -= CombatCalculateTool.Instance.GetVlaueRatioForLong(targetHp, 10 * (Mathf.Abs(c)));
                 }
 
                 if (myHp > targetHp)

+ 1 - 10
Assets/Scripts/GameLogic/Player/AccountFileInfo.cs

@@ -298,16 +298,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         /// 英雄等级
         /// </summary>
         public int heroPowerId;
-
-        /// <summary>
-        /// 星级
-        /// </summary>
-        public int heroPromoteId;
-
-        /// <summary>
-        /// 是否为主力
-        /// </summary>
-        public bool isLead;
+        
     }
 
     [System.Serializable]

+ 23 - 0
Assets/Scripts/GameLogic/Player/FaBaoControl.cs

@@ -0,0 +1,23 @@
+using System.Collections.Generic;
+using GameLogic.Hero;
+
+namespace GameLogic.Player
+{
+    public class FaBaoControl
+    {
+        /// <summary>
+        /// 玩家全部都法宝
+        /// </summary>
+        public List<FaBaoInfo> myAllFaBao = new List<FaBaoInfo>();
+
+        /// <summary>
+        /// 出战的法宝
+        /// </summary>
+        public List<FaBaoInfo> FightFaBao = new List<FaBaoInfo>();
+
+        public void AddFaBao(FaBaoInfo faBaoInfo)
+        {
+            myAllFaBao.Add(faBaoInfo);
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Player/FaBaoControl.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 69117c58414e4afd9801339b3ca656ab
+timeCreated: 1744185669

+ 40 - 0
Assets/Scripts/GameLogic/Player/GongFaControl.cs

@@ -0,0 +1,40 @@
+using System.Collections.Generic;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Hero;
+
+namespace GameLogic.Player
+{
+    public class GongFaControl
+    {
+        /// <summary>
+        /// 出战的功法 一共10个位置
+        /// </summary>
+        public SkillInfo[] allUseSkill = new SkillInfo[10];
+
+        public List<SkillInfo> allSkill = new List<SkillInfo>();
+
+        public void AddSkillInfo(SkillInfo skillInfo)
+        {
+            allSkill.Add(skillInfo);
+        }
+
+        public SkillInfo GetSkillInfo(int index)
+        {
+            return allUseSkill[index];
+        }
+
+        public void RemoveSkillInfo(int index)
+        {
+            allUseSkill[index] = null;
+        }
+
+        /// <summary>
+        /// 测试用
+        /// </summary>
+        public void SaveUseSkill()
+        {
+            CombatHeroEntity combatHeroEntity = CombatController.currActiveCombat.CombatHeroController.playerHeroEntity;
+            combatHeroEntity.CombatHeroSkillControl.SetNewSkill(allUseSkill);
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Player/GongFaControl.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: e500e6d3164549f3952bf6be3b01ba39
+timeCreated: 1744185684

+ 32 - 118
Assets/Scripts/GameLogic/Player/PlayerManager.cs

@@ -6,35 +6,23 @@ using GameLogic.Bag;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Equipment;
 using GameLogic.Hero;
+using GameLogic.Player;
 using UnityEngine;
 using Utility;
 
 public class PlayerManager : Singleton<PlayerManager>
 {
-    /// <summary>
-    /// 英雄管理
-    /// </summary>
-    // public HeroController heroController = new HeroController();
-
-    // public EquipmentController eqController = new EquipmentController();
     public GameConstantConfig gameConstantConfig;
-    // public SkillUpConfig[] skillUpConfigs;
-    // public SkillConfig[] SkillConfigs;
 
-    // public Dictionary<int, List<SkillConfig>> groupSkillDic = new Dictionary<int, List<SkillConfig>>();
-
-    private int[] useSkillId = new int[10] { 0, 10011, 0, 0, 0, 0, 0, 0, 0, 0 };
-    public long coin;
-    public long diamond;
-    public long heroExp;
+    public GongFaControl GongFaControl;
+    public FaBaoControl FaBaoControl;
+    public BagController BagController;
 
+    /// <summary>
+    /// 玩家角色属性
+    /// </summary>
+    public HeroInfo myHero;
 
-    public SkillInfo[] allUseSkill = new SkillInfo[10];
-    public void SaveUseSkill()
-    {
-        CombatHeroEntity combatHeroEntity = CombatController.currActiveCombat.CombatHeroController.playerHeroEntity;
-        combatHeroEntity.CombatHeroSkillControl.SetNewSkill(allUseSkill);
-    }
 
     public void Init()
     {
@@ -46,113 +34,39 @@ public class PlayerManager : Singleton<PlayerManager>
     private void SetConfigs()
     {
         gameConstantConfig = ConfigComponent.Instance.Get<GameConstantConfig>(1);
-        // skillUpConfigs = ConfigComponent.Instance.GetAll<SkillUpConfig>();
-        // SkillConfigs = ConfigComponent.Instance.GetAll<SkillConfig>();
-        //
-        // foreach (var skillConfig in SkillConfigs)
-        // {
-        //     if (groupSkillDic.ContainsKey(skillConfig.IDGroup))
-        //     {
-        //         groupSkillDic[skillConfig.IDGroup].Add(skillConfig);
-        //     }
-        //     else
-        //     {
-        //         groupSkillDic.Add(skillConfig.IDGroup, new List<SkillConfig> { skillConfig });
-        //     }
-        // }
     }
 
-    public SkillInfo GetSkillInfo(int index)
-    {
-      
-        return   allUseSkill[index];
-    }
-    public void RemoveSkillInfo(int index)
-    {
-        allUseSkill[index] = null;
-    }
+
     private void InitGameData()
     {
-        InitBags();
-        // heroController.InitHeroes();
-        // Dictionary<string, string> gameInfo = new Dictionary<string, string>();
-        // gameInfo.Add("battleLevel", AccountFileInfo.Instance.playerData.levelBattle.ToString());
-        // gameInfo.Add("userlevel", heroController.mainLevel.ToString());
-        // // gameInfo.Add("battleLevel",  AccountFileInfo.Instance.playerData.levelBattle.ToString());
-        // PottingMobile._YouLoftGameInfo(gameInfo);
-        // InitHeroes();
+        GongFaControl = new GongFaControl();
+        FaBaoControl = new FaBaoControl();
+        BagController = new BagController();
+        BagController.Init();
     }
 
-    private void InitBags()
-    {
-        BagController.Instance.Init();
-    }
 
+    public void AddTestHeroInfo(int heroId, int level, List<int> skill, List<int> magicWeaponId)
+    {
+        for (int i = 0; i < skill.Count; i++)
+        {
+            SkillInfo skillInfo = new SkillInfo(skill[i], 1);
+            GongFaControl.AddSkillInfo(skillInfo);
+        }
 
-    // public void InitTestHero()
-    // {
-    //     heroListInLead.Clear();
-    //     // AccountFileInfo.Instance.LoadPlayerData();
-    //     
-    //     AccountFileInfo.HeroData heroData1 = new AccountFileInfo.HeroData
-    //     {
-    //         heroModelId = 105,
-    //         heroPowerId = 1,
-    //         heroPromoteId = 3
-    //     };
-    //     
-    //     AccountFileInfo.HeroData heroData2 = new AccountFileInfo.HeroData
-    //     {
-    //         heroModelId = 107,
-    //         heroPowerId = 1,
-    //         heroPromoteId = 3
-    //     };
-    //     
-    //     AccountFileInfo.HeroData heroData3 = new AccountFileInfo.HeroData
-    //     {
-    //         heroModelId = 116,
-    //         heroPowerId = 1,
-    //         heroPromoteId = 3
-    //     };
-    //     AccountFileInfo.HeroData heroData4 = new AccountFileInfo.HeroData
-    //     {
-    //         heroModelId = 113,
-    //         heroPowerId = 1,
-    //         heroPromoteId = 3
-    //     };
-    //     AccountFileInfo.Instance.playerData.HeroListData.Clear();
-    //     AccountFileInfo.Instance.playerData.HeroListData.Add(heroData1);
-    //     AccountFileInfo.Instance.playerData.HeroListData.Add(heroData2);
-    //     AccountFileInfo.Instance.playerData.HeroListData.Add(heroData3);
-    //     AccountFileInfo.Instance.playerData.HeroListData.Add(heroData4);
-    //     
-    //     for (int i = 0; i < AccountFileInfo.Instance.playerData.HeroListData.Count; i++)
-    //     {
-    //         AccountFileInfo.HeroData heroData = AccountFileInfo.Instance.playerData.HeroListData[i];
-    //         HeroInfo heroInfo = new HeroInfo();
-    //         heroInfo.InitHero(heroData);
-    //         heroListInLead.Add(heroInfo);
-    //     }
-    // }
+        for (int i = 0; i < magicWeaponId.Count; i++)
+        {
+            FaBaoInfo faBaoInfo = new FaBaoInfo(magicWeaponId[i], 1);
+            FaBaoControl.AddFaBao(faBaoInfo);
+            FaBaoControl.FightFaBao.Add(faBaoInfo);
+        }
 
-    // public CombatHeroInfo GetHeroInfo(int modelID)
-    // {
-    //     if (lastHeroInfo != null && lastHeroInfo.modelID == modelID)
-    //     {
-    //         return lastHeroInfo;
-    //     }
-    //     
-    //     for (int i = 0; i < heroListInLead.Count; i++)
-    //     {
-    //         HeroInfo info = heroListInLead[i];
-    //         if (info.modelID == modelID)
-    //         {
-    //             return info;
-    //         }
-    //     }
-    //
-    //     return null;
-    // }
+        HeroInfo heroInfo = new HeroInfo();
+        heroInfo.InitHero(heroId, level);
+        myHero = heroInfo;
+        myHero.MagicWeaponID.Clear();
+        myHero.MagicWeaponID.AddRange(FaBaoControl.FightFaBao);
+    }
 
 
     /// <summary>

+ 4 - 4
Assets/Scripts/GameUI/UI/CombatPanel/SkillSelectPanel.cs

@@ -71,7 +71,7 @@ namespace Fort23.Mono
                     null, SkillKongWeiRoot,
                     isInstance: true);
                 skillKongWidget.InitWidget(index, this);
-                skillKongWidget.SetSKill(PlayerManager.Instance.GetSkillInfo(index));
+                skillKongWidget.SetSKill(PlayerManager.Instance.GongFaControl.GetSkillInfo(index));
                 skillKongWidget.transform.anchoredPosition = pos;
                 allKongSkill.Add(skillKongWidget);
             }
@@ -103,7 +103,7 @@ namespace Fort23.Mono
             isAlter = true;
             if (!_isSelectSkill || selectSkillConfig == null)
             {
-                PlayerManager.Instance.RemoveSkillInfo(skillKongWidget.index);
+                PlayerManager.Instance.GongFaControl.RemoveSkillInfo(skillKongWidget.index);
               
                 skillKongWidget.Cleared();
                 return;
@@ -112,7 +112,7 @@ namespace Fort23.Mono
         
             skillKongWidget.SetSKill(selectSkillConfig);
             selectSkillConfig.index= skillKongWidget.index;
-            PlayerManager.Instance.allUseSkill[skillKongWidget.index]=(selectSkillConfig);
+            PlayerManager.Instance.GongFaControl.allUseSkill[skillKongWidget.index]=(selectSkillConfig);
             CloseSelect();
         }
 
@@ -121,7 +121,7 @@ namespace Fort23.Mono
             base.Hide();
             if (isAlter)
             {
-                PlayerManager.Instance.SaveUseSkill();
+                PlayerManager.Instance.GongFaControl.SaveUseSkill();
             }
 
             isAlter = false;

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
Assets/StreamingAssets/assetConfig.txt


BIN
Excel2Json/Excel/AttributeConfig.xlsx


BIN
Excel2Json/Excel/Buff.xlsx


BIN
Excel2Json/Excel/FabaoConfig.xlsx


+ 0 - 0
Excel2Json/Excel/MagicWeapon.xlsx → Excel2Json/MagicWeapon.xlsx


+ 87 - 87
UserSettings/Layouts/default-2022.dwlt

@@ -14,16 +14,16 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   m_PixelRect:
     serializedVersion: 2
-    x: 8
-    y: 51
-    width: 2544
-    height: 1333
+    x: 2560
+    y: 43
+    width: 2560
+    height: 1349
   m_ShowMode: 4
-  m_Title: Inspector
+  m_Title: Hierarchy
   m_RootView: {fileID: 7}
   m_MinSize: {x: 875, y: 300}
   m_MaxSize: {x: 10000, y: 10000}
-  m_Maximized: 0
+  m_Maximized: 1
 --- !u!114 &2
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -40,11 +40,11 @@ MonoBehaviour:
   m_Position:
     serializedVersion: 2
     x: 0
-    y: 647
-    width: 991
-    height: 283
-  m_MinSize: {x: 102, y: 121}
-  m_MaxSize: {x: 4002, y: 4021}
+    y: 651
+    width: 940
+    height: 325
+  m_MinSize: {x: 100, y: 100}
+  m_MaxSize: {x: 4000, y: 4000}
   m_ActualView: {fileID: 13}
   m_Panes:
   - {fileID: 13}
@@ -66,9 +66,9 @@ MonoBehaviour:
   m_Position:
     serializedVersion: 2
     x: 0
-    y: 930
-    width: 991
-    height: 353
+    y: 976
+    width: 940
+    height: 323
   m_MinSize: {x: 232, y: 271}
   m_MaxSize: {x: 10002, y: 10021}
   m_ActualView: {fileID: 17}
@@ -94,14 +94,14 @@ MonoBehaviour:
   - {fileID: 3}
   m_Position:
     serializedVersion: 2
-    x: 655
+    x: 716
     y: 0
-    width: 991
-    height: 1283
+    width: 940
+    height: 1299
   m_MinSize: {x: 100, y: 150}
   m_MaxSize: {x: 8096, y: 24288}
   vertical: 1
-  controlID: 42
+  controlID: 54
   draggingID: 0
 --- !u!114 &5
 MonoBehaviour:
@@ -118,10 +118,10 @@ MonoBehaviour:
   m_Children: []
   m_Position:
     serializedVersion: 2
-    x: 1965
+    x: 1977
     y: 0
-    width: 579
-    height: 1283
+    width: 583
+    height: 1299
   m_MinSize: {x: 276, y: 71}
   m_MaxSize: {x: 4001, y: 4021}
   m_ActualView: {fileID: 16}
@@ -147,8 +147,8 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 655
-    height: 1283
+    width: 716
+    height: 1299
   m_MinSize: {x: 201, y: 221}
   m_MaxSize: {x: 4001, y: 4021}
   m_ActualView: {fileID: 18}
@@ -176,8 +176,8 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 2544
-    height: 1333
+    width: 2560
+    height: 1349
   m_MinSize: {x: 875, y: 300}
   m_MaxSize: {x: 10000, y: 10000}
   m_UseTopView: 1
@@ -201,7 +201,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 2544
+    width: 2560
     height: 30
   m_MinSize: {x: 0, y: 0}
   m_MaxSize: {x: 0, y: 0}
@@ -227,12 +227,12 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 30
-    width: 2544
-    height: 1283
+    width: 2560
+    height: 1299
   m_MinSize: {x: 400, y: 150}
   m_MaxSize: {x: 32384, y: 24288}
   vertical: 0
-  controlID: 41
+  controlID: 53
   draggingID: 0
 --- !u!114 &10
 MonoBehaviour:
@@ -250,8 +250,8 @@ MonoBehaviour:
   m_Position:
     serializedVersion: 2
     x: 0
-    y: 1313
-    width: 2544
+    y: 1329
+    width: 2560
     height: 20
   m_MinSize: {x: 0, y: 0}
   m_MaxSize: {x: 0, y: 0}
@@ -270,10 +270,10 @@ MonoBehaviour:
   m_Children: []
   m_Position:
     serializedVersion: 2
-    x: 1646
+    x: 1656
     y: 0
-    width: 319
-    height: 1283
+    width: 321
+    height: 1299
   m_MinSize: {x: 202, y: 221}
   m_MaxSize: {x: 4002, y: 4021}
   m_ActualView: {fileID: 15}
@@ -298,8 +298,8 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 991
-    height: 647
+    width: 940
+    height: 651
   m_MinSize: {x: 202, y: 221}
   m_MaxSize: {x: 4002, y: 4021}
   m_ActualView: {fileID: 19}
@@ -327,10 +327,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 663
-    y: 728
-    width: 989
-    height: 262
+    x: 3276
+    y: 724
+    width: 938
+    height: 304
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -404,10 +404,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 1654
-    y: 81
-    width: 317
-    height: 1262
+    x: 4216
+    y: 73
+    width: 319
+    height: 1278
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -421,20 +421,20 @@ MonoBehaviour:
   m_SceneHierarchy:
     m_TreeViewState:
       scrollPos: {x: 0, y: 0}
-      m_SelectedIDs: 7ccbffff
-      m_LastClickedID: -13444
-      m_ExpandedIDs: 26d1ffff34d1ffffcad5ffff66faffff
+      m_SelectedIDs: 
+      m_LastClickedID: 0
+      m_ExpandedIDs: 78faffff
       m_RenameOverlay:
         m_UserAcceptedRename: 0
-        m_Name: CombatRoot
-        m_OriginalName: CombatRoot
+        m_Name: Global Volume
+        m_OriginalName: Global Volume
         m_EditFieldRect:
           serializedVersion: 2
           x: 0
           y: 0
           width: 0
           height: 0
-        m_UserData: -13102
+        m_UserData: 44126
         m_IsWaitingForDelay: 0
         m_IsRenaming: 0
         m_OriginalEventType: 0
@@ -467,10 +467,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 1973
-    y: 81
-    width: 578
-    height: 1262
+    x: 4537
+    y: 73
+    width: 582
+    height: 1278
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -514,10 +514,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 663
-    y: 1011
-    width: 989
-    height: 332
+    x: 3276
+    y: 1049
+    width: 938
+    height: 302
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -553,10 +553,10 @@ MonoBehaviour:
   m_LockTracker:
     m_IsLocked: 0
   m_FolderTreeState:
-    scrollPos: {x: 0, y: 872}
-    m_SelectedIDs: f8b90000
-    m_LastClickedID: 47608
-    m_ExpandedIDs: 00000000ecb60000eeb60000f0b60000f2b60000f4b60000f6b60000f8b60000fab60000fcb60000feb6000000b7000002b7000004b7000006b7000008b700000ab7000094b70000bab70000d2b7000000ca9a3bffffff7f
+    scrollPos: {x: 0, y: 464}
+    m_SelectedIDs: 5ab90000
+    m_LastClickedID: 47450
+    m_ExpandedIDs: 0000000076b8000078b800007ab800007cb800007eb8000080b8000082b8000084b8000086b8000088b800008ab800008cb800008eb8000090b8000092b8000094b8000044b9000000ca9a3bffffff7f
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -584,7 +584,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_LastClickedID: 0
-    m_ExpandedIDs: 00000000ecb60000eeb60000f0b60000f2b60000f4b60000f6b60000f8b60000fab60000fcb60000feb6000000b7000002b7000004b7000006b7000008b700000ab70000
+    m_ExpandedIDs: 0000000076b8000078b800007ab800007cb800007eb8000080b8000082b8000084b8000086b8000088b800008ab800008cb800008eb8000090b8000092b8000094b80000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -611,7 +611,7 @@ MonoBehaviour:
   m_ListAreaState:
     m_SelectedInstanceIDs: 
     m_LastClickedInstanceID: 0
-    m_HadKeyboardFocusLastEvent: 1
+    m_HadKeyboardFocusLastEvent: 0
     m_ExpandedInstanceIDs: bc7400008ebd000008bd0000300b0100b0ae00005cdf0000c8480100f630010094b1000014b3000090b4000088b4000042b40000aab40000fcb3000044b30000a2b400007cb400008cb4000048a501003eb2000022b2000070de000056dc000020af00001cad00001aad000074c8000070c800000eac0000e4f90200ccd70200eaf90200f0f90200f6f902005cd10000dab300004cb20000d4b30000eab300000000000006960200beac0000acb60000b4b60000b0b600003a2401003c240100b42601002ec00000b0260100
     m_RenameOverlay:
       m_UserAcceptedRename: 0
@@ -660,10 +660,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 8
-    y: 81
-    width: 654
-    height: 1262
+    x: 2560
+    y: 73
+    width: 715
+    height: 1278
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -704,7 +704,7 @@ MonoBehaviour:
     m_VAllowExceedBaseRangeMin: 1
     m_VAllowExceedBaseRangeMax: 1
     m_ScaleWithWindow: 0
-    m_HSlider: 1
+    m_HSlider: 0
     m_VSlider: 1
     m_IgnoreScrollWheelUntilClicked: 0
     m_EnableMouseInput: 1
@@ -716,23 +716,23 @@ MonoBehaviour:
       serializedVersion: 2
       x: 0
       y: 21
-      width: 654
-      height: 1241
-    m_Scale: {x: 0.8821102, y: 0.8821102}
-    m_Translation: {x: 326.94757, y: 582.2344}
+      width: 715
+      height: 1257
+    m_Scale: {x: 0.88211024, y: 0.8821102}
+    m_Translation: {x: 357.5, y: 590.2344}
     m_MarginLeft: 0
     m_MarginRight: 0
     m_MarginTop: 0
     m_MarginBottom: 0
     m_LastShownAreaInsideMargins:
       serializedVersion: 2
-      x: -370.64255
-      y: -660.04724
-      width: 741.404
-      height: 1406.8538
+      x: -405.27814
+      y: -669.1164
+      width: 810.5563
+      height: 1424.9921
     m_MinimalGUI: 1
-  m_defaultScale: 0.76416254
-  m_LastWindowPixelSize: {x: 654, y: 1262}
+  m_defaultScale: 0.7740148
+  m_LastWindowPixelSize: {x: 715, y: 1278}
   m_ClearInEditMode: 1
   m_NoCameraWarning: 1
   m_LowResolutionForAspectRatios: 00000000000000000000
@@ -758,10 +758,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 663
-    y: 81
-    width: 989
-    height: 626
+    x: 3276
+    y: 73
+    width: 938
+    height: 630
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -1133,9 +1133,9 @@ MonoBehaviour:
   m_PlayAudio: 0
   m_AudioPlay: 0
   m_Position:
-    m_Target: {x: 0, y: -1.21, z: 0}
+    m_Target: {x: 0.61967176, y: 0.420298, z: 3.486523}
     speed: 2
-    m_Value: {x: -0.0000004602983, y: -1.2099998, z: 0.0000019992037}
+    m_Value: {x: 0.61967176, y: 0.420298, z: 3.486523}
   m_RenderMode: 0
   m_CameraMode:
     drawMode: 0
@@ -1185,9 +1185,9 @@ MonoBehaviour:
     speed: 2
     m_Value: {x: -0.037809245, y: 0.06826301, z: -0.0011957195, w: -0.9969499}
   m_Size:
-    m_Target: 7071.068
+    m_Target: 1.2641186
     speed: 2
-    m_Value: 7071.0674
+    m_Value: 1.2641186
   m_Ortho:
     m_Target: 0
     speed: 2

+ 1 - 0
XiuXianGame.sln.DotSettings.user

@@ -1,4 +1,5 @@
 <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACollectionExtensions_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fde80aed0bd3646409e8bfb15c101f005e2000_003Fb3_003F5c77f01e_003FCollectionExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACollider_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F2193ba18cb0546b2832917f7674384cf20000_003F3a_003Fa0da6a1e_003FCollider_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACompareFunction_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F84_003Ff4158f3a_003FCompareFunction_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMath_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb18a8b3398e74bca86895881dd02956c573648_003F8b_003F8699ce4e_003FMath_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff