From 1597500ffb8817259fa1c508fc2aeff79bb80770 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 15 七月 2025 22:46:26 +0800
Subject: [PATCH] 117 【武将】武将系统 - 图集
---
Main/System/Hero/HeroInfo.Fetter.cs | 3
Main/System/Main/FuncsBaseWin.cs | 117 ++++
Main/System/Hero/HeroInfo.Star.cs | 12
Main/System/HeroUI/HeroBaseWin.cs.meta | 2
Main/System/HeroUI.meta | 8
Main/System/HeroUI/HeroCardCell.cs | 37 +
Main/System/Hero/HeroInfo.Quality.cs | 11
Main/System/Main/FuncsBaseWin.cs.meta | 2
Main/System/HeroUI/GiftBaseCell.cs | 195 ++++++
Main/System/Tip/PowerAddWin.cs | 58 -
Main/ResModule/ResManager.cs | 9
Main/System/Hero/HeroInfo.Level.cs | 11
Main/System/HeroUI/HeroCardLineCell.cs.meta | 2
Main/System/Hero/HeroInfo.Properties.cs | 1
Main/System/HeroUI/HeroListWin.cs.meta | 2
Main/System/Hero/HeroManager.cs | 150 +++-
Main/System/Main/HomeWin.cs | 55 -
Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB122_tagSCHeroInfo.cs | 11
Main/System/HeroUI/HeroCardLineCell.cs | 24
Main/Config/Configs/HeroConfig.cs | 160 ++--
Main/Core/NetworkPackage/ClientPack/CB4_FightDefine/CB412_tagCSHeroLineupSave.cs | 58 +-
Main/System/Hero/HeroInfo.Skin.cs | 13
Main/Config/Configs/HeroTalentConfig.cs | 91 +-
Main/System/KnapSack/PackManager.cs | 25
Main/Utility/EnumHelper.cs | 2
Main/System/Hero/UIHeroController.cs | 65 -
Main/System/Battle/BattleWin.cs | 4
Main/Core/NetworkPackage/ServerPack/HB1_Role/HB122_tagSCHeroInfo.cs | 35 +
Main/System/HeroUI/HeroBaseWin.cs | 75 ++
Main/System/Hero/HeroInfo.Awake.cs | 18
Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB122_tagSCHeroInfo.cs.meta | 2
Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB230_tagCSHeroLVUP.cs | 30
Main/System/Hero/HeroInfo.cs | 137 +--
/dev/null | 12
Main/Utility/UIHelper.cs | 5
Main/System/Hero/HeroInfo.Break.cs | 17
Main/Core/NetworkPackage/ServerPack/HB1_Role/HB122_tagSCHeroInfo.cs.meta | 2
Main/System/Main/MainWin.cs | 164 ++---
Main/System/HeroUI/GiftBaseCell.cs.meta | 2
Main/System/HeroUI/HeroCardCell.cs.meta | 2
Main/System/HeroUI/HeroListWin.cs | 74 ++
41 files changed, 1,147 insertions(+), 556 deletions(-)
diff --git a/Main/Config/Configs/HeroConfig.cs b/Main/Config/Configs/HeroConfig.cs
index 59fd4f9..88e542d 100644
--- a/Main/Config/Configs/HeroConfig.cs
+++ b/Main/Config/Configs/HeroConfig.cs
@@ -1,104 +1,92 @@
-锘�//--------------------------------------------------------
-// [Author]: YYL
-// [ Date ]: 2025骞�7鏈�7鏃�
-//--------------------------------------------------------
-
-using System.Collections.Generic;
-using System.IO;
-using System.Threading;
-using System;
-using UnityEngine;
-using LitJson;
-
-public partial class HeroConfig : ConfigBase<int, HeroConfig>
-{
-
- public int HeroID;
- public int Country;
- public int Quality;
- public int[] SkinIDList;
- public int AtkSkillID;
- public int AngerSkillID;
- public int AtkInheritPer;
- public int DefInheritPer;
- public int HPInheritPer;
- public string BatAttrDict;
- public int[] FetterIDList;
- public string Tachie;
- public string SquareIcon;
- public string RectangleIcon;
- public string SpineRes;
- public string BigSizeSpine;
-
- public override int LoadKey(string _key)
- {
- int key = GetKey(_key);
- return key;
- }
-
- public override void LoadConfig(string input)
- {
- try {
- string[] tables = input.Split('\t');
- int.TryParse(tables[0],out HeroID);
-
- int.TryParse(tables[1],out Country);
-
- int.TryParse(tables[2],out Quality);
-
- if (tables[3].Contains("["))
+锘�//--------------------------------------------------------
+// [Author]: YYL
+// [ Date ]: Tuesday, July 15, 2025
+//--------------------------------------------------------
+
+using System.Collections.Generic;
+using System.IO;
+using System.Threading;
+using System;
+using UnityEngine;
+using LitJson;
+
+public partial class HeroConfig : ConfigBase<int, HeroConfig>
+{
+
+ public int HeroID;
+ public int Country;
+ public int Quality;
+ public int Class;
+ public int[] SkinIDList;
+ public int AtkSkillID;
+ public int AngerSkillID;
+ public int AtkInheritPer;
+ public int DefInheritPer;
+ public int HPInheritPer;
+ public string BatAttrDict;
+ public int[] FetterIDList;
+
+ public override int LoadKey(string _key)
+ {
+ int key = GetKey(_key);
+ return key;
+ }
+
+ public override void LoadConfig(string input)
+ {
+ try {
+ string[] tables = input.Split('\t');
+ int.TryParse(tables[0],out HeroID);
+
+ int.TryParse(tables[1],out Country);
+
+ int.TryParse(tables[2],out Quality);
+
+ int.TryParse(tables[3],out Class);
+
+ if (tables[4].Contains("["))
{
- SkinIDList = JsonMapper.ToObject<int[]>(tables[3]);
+ SkinIDList = JsonMapper.ToObject<int[]>(tables[4]);
}
else
{
- string[] SkinIDListStringArray = tables[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+ string[] SkinIDListStringArray = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
SkinIDList = new int[SkinIDListStringArray.Length];
for (int i=0;i<SkinIDListStringArray.Length;i++)
{
int.TryParse(SkinIDListStringArray[i],out SkinIDList[i]);
}
- }
-
- int.TryParse(tables[4],out AtkSkillID);
-
- int.TryParse(tables[5],out AngerSkillID);
-
- int.TryParse(tables[6],out AtkInheritPer);
-
- int.TryParse(tables[7],out DefInheritPer);
-
- int.TryParse(tables[8],out HPInheritPer);
-
- BatAttrDict = tables[9];
-
- if (tables[10].Contains("["))
+ }
+
+ int.TryParse(tables[5],out AtkSkillID);
+
+ int.TryParse(tables[6],out AngerSkillID);
+
+ int.TryParse(tables[7],out AtkInheritPer);
+
+ int.TryParse(tables[8],out DefInheritPer);
+
+ int.TryParse(tables[9],out HPInheritPer);
+
+ BatAttrDict = tables[10];
+
+ if (tables[11].Contains("["))
{
- FetterIDList = JsonMapper.ToObject<int[]>(tables[10]);
+ FetterIDList = JsonMapper.ToObject<int[]>(tables[11]);
}
else
{
- string[] FetterIDListStringArray = tables[10].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+ string[] FetterIDListStringArray = tables[11].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
FetterIDList = new int[FetterIDListStringArray.Length];
for (int i=0;i<FetterIDListStringArray.Length;i++)
{
int.TryParse(FetterIDListStringArray[i],out FetterIDList[i]);
}
- }
-
- Tachie = tables[11];
-
- SquareIcon = tables[12];
-
- RectangleIcon = tables[13];
-
- SpineRes = tables[14];
-
- BigSizeSpine = tables[15];
- }
- catch (Exception exception)
- {
- Debug.LogError(exception);
- }
- }
-}
+ }
+ }
+ catch (Exception exception)
+ {
+ Debug.LogError(exception);
+ }
+ }
+}
diff --git a/Main/Config/Configs/HeroTalentConfig.cs b/Main/Config/Configs/HeroTalentConfig.cs
index eae288d..b3bdc50 100644
--- a/Main/Config/Configs/HeroTalentConfig.cs
+++ b/Main/Config/Configs/HeroTalentConfig.cs
@@ -1,44 +1,47 @@
-锘�//--------------------------------------------------------
-// [Author]: YYL
-// [ Date ]: Friday, June 27, 2025
-//--------------------------------------------------------
-
-using System.Collections.Generic;
-using System.IO;
-using System.Threading;
-using System;
-using UnityEngine;
-using LitJson;
-
-public partial class HeroTalentConfig : ConfigBase<int, HeroTalentConfig>
-{
-
- public int TalentID;
- public int Quality;
- public int AttrID;
- public int AttrValue;
-
- public override int LoadKey(string _key)
- {
- int key = GetKey(_key);
- return key;
- }
-
- public override void LoadConfig(string input)
- {
- try {
- string[] tables = input.Split('\t');
- int.TryParse(tables[0],out TalentID);
-
- int.TryParse(tables[1],out Quality);
-
- int.TryParse(tables[2],out AttrID);
-
- int.TryParse(tables[3],out AttrValue);
- }
- catch (Exception exception)
- {
- Debug.LogError(exception);
- }
- }
-}
+锘�//--------------------------------------------------------
+// [Author]: YYL
+// [ Date ]: 2025骞�7鏈�11鏃�
+//--------------------------------------------------------
+
+using System.Collections.Generic;
+using System.IO;
+using System.Threading;
+using System;
+using UnityEngine;
+using LitJson;
+
+public partial class HeroTalentConfig : ConfigBase<int, HeroTalentConfig>
+{
+
+ public int TalentID;
+ public string Name;
+ public int Quality;
+ public int AttrID;
+ public int AttrValue;
+
+ public override int LoadKey(string _key)
+ {
+ int key = GetKey(_key);
+ return key;
+ }
+
+ public override void LoadConfig(string input)
+ {
+ try {
+ string[] tables = input.Split('\t');
+ int.TryParse(tables[0],out TalentID);
+
+ Name = tables[1];
+
+ int.TryParse(tables[2],out Quality);
+
+ int.TryParse(tables[3],out AttrID);
+
+ int.TryParse(tables[4],out AttrValue);
+ }
+ catch (Exception exception)
+ {
+ Debug.LogError(exception);
+ }
+ }
+}
diff --git a/Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB230_tagCSHeroLVUP.cs b/Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB230_tagCSHeroLVUP.cs
index 7721e7e..7eba337 100644
--- a/Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB230_tagCSHeroLVUP.cs
+++ b/Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB230_tagCSHeroLVUP.cs
@@ -1,18 +1,18 @@
using UnityEngine;
using System.Collections;
-// B2 30 姝﹀皢鍗囩骇 #tagCSHeroLVUP
-
-public class CB230_tagCSHeroLVUP : GameNetPackBasic {
- public ushort ItemIndex; //姝﹀皢鐗╁搧鎵�鍦ㄦ灏嗚儗鍖呬綅缃储寮�
-
- public CB230_tagCSHeroLVUP () {
- combineCmd = (ushort)0x03FE;
- _cmd = (ushort)0xB230;
- }
-
- public override void WriteToBytes () {
- WriteBytes (ItemIndex, NetDataType.WORD);
- }
-
-}
+// B2 30 姝﹀皢鍗囩骇 #tagCSHeroLVUP
+
+public class CB230_tagCSHeroLVUP : GameNetPackBasic {
+ public ushort ItemIndex; //姝﹀皢鐗╁搧鎵�鍦ㄦ灏嗚儗鍖呬綅缃储寮�
+
+ public CB230_tagCSHeroLVUP () {
+ combineCmd = (ushort)0x03FE;
+ _cmd = (ushort)0xB230;
+ }
+
+ public override void WriteToBytes () {
+ WriteBytes (ItemIndex, NetDataType.WORD);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ClientPack/CB4_FightDefine/CB412_tagCSHeroLineupSave.cs b/Main/Core/NetworkPackage/ClientPack/CB4_FightDefine/CB412_tagCSHeroLineupSave.cs
index 5bbfe50..08fdd4a 100644
--- a/Main/Core/NetworkPackage/ClientPack/CB4_FightDefine/CB412_tagCSHeroLineupSave.cs
+++ b/Main/Core/NetworkPackage/ClientPack/CB4_FightDefine/CB412_tagCSHeroLineupSave.cs
@@ -1,32 +1,32 @@
using UnityEngine;
using System.Collections;
-// B4 12 鎴樻枟闃靛淇濆瓨 #tagCSHeroLineupSave
-
-public class CB412_tagCSHeroLineupSave : GameNetPackBasic {
- public byte LineupID; //闃靛ID锛�1-涓婚樀瀹癸紱鍏朵粬寰呮墿灞曪紝濡傛煇涓槻瀹堥樀瀹�
- public byte ShapeType; //鏈樀瀹归樀鍨嬶紝0涓洪粯璁ら樀鍨嬶紝鍙墿灞曚笉鍚岀殑闃靛瀷
- public byte PosCnt;
- public tagCSHeroLineupPos[] HeroPosList; // 淇濆瓨鐨勯樀瀹癸紝鍙彂閫佹渶缁堢殑闃靛姝﹀皢浣嶇疆鍗冲彲
-
- public CB412_tagCSHeroLineupSave () {
- combineCmd = (ushort)0x03FE;
- _cmd = (ushort)0xB412;
- }
-
- public override void WriteToBytes () {
- WriteBytes (LineupID, NetDataType.BYTE);
- WriteBytes (ShapeType, NetDataType.BYTE);
- WriteBytes (PosCnt, NetDataType.BYTE);
- for (int i = 0; i < PosCnt; i ++) {
- WriteBytes (HeroPosList[i].ItemIndex, NetDataType.WORD);
- WriteBytes (HeroPosList[i].PosNum, NetDataType.BYTE);
- }
- }
-
- public struct tagCSHeroLineupPos {
- public ushort ItemIndex; //姝﹀皢鐗╁搧鎵�鍦ㄦ灏嗚儗鍖呬綅缃储寮�
- public byte PosNum; //1~n涓婇樀浣嶇疆缂栧彿
- }
-
-}
+// B4 12 鎴樻枟闃靛淇濆瓨 #tagCSHeroLineupSave
+
+public class CB412_tagCSHeroLineupSave : GameNetPackBasic {
+ public byte LineupID; //闃靛ID锛�1-涓婚樀瀹癸紱鍏朵粬寰呮墿灞曪紝濡傛煇涓槻瀹堥樀瀹�
+ public byte ShapeType; //鏈樀瀹归樀鍨嬶紝0涓洪粯璁ら樀鍨嬶紝鍙墿灞曚笉鍚岀殑闃靛瀷
+ public byte PosCnt;
+ public tagCSHeroLineupPos[] HeroPosList; // 淇濆瓨鐨勯樀瀹癸紝鍙彂閫佹渶缁堢殑闃靛姝﹀皢浣嶇疆鍗冲彲
+
+ public CB412_tagCSHeroLineupSave () {
+ combineCmd = (ushort)0x03FE;
+ _cmd = (ushort)0xB412;
+ }
+
+ public override void WriteToBytes () {
+ WriteBytes (LineupID, NetDataType.BYTE);
+ WriteBytes (ShapeType, NetDataType.BYTE);
+ WriteBytes (PosCnt, NetDataType.BYTE);
+ for (int i = 0; i < PosCnt; i ++) {
+ WriteBytes (HeroPosList[i].ItemIndex, NetDataType.WORD);
+ WriteBytes (HeroPosList[i].PosNum, NetDataType.BYTE);
+ }
+ }
+
+ public struct tagCSHeroLineupPos {
+ public ushort ItemIndex; //姝﹀皢鐗╁搧鎵�鍦ㄦ灏嗚儗鍖呬綅缃储寮�
+ public byte PosNum; //1~n涓婇樀浣嶇疆缂栧彿
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB122_tagSCHeroInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB122_tagSCHeroInfo.cs
new file mode 100644
index 0000000..ae72da7
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB122_tagSCHeroInfo.cs
@@ -0,0 +1,11 @@
+using UnityEngine;
+using System.Collections;
+
+// B1 22 姝﹀皢鍥鹃壌淇℃伅 #tagSCHeroInfo
+
+public class DTCB122_tagSCHeroInfo : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ HB122_tagSCHeroInfo vNetData = vNetPack as HB122_tagSCHeroInfo;
+ }
+}
diff --git a/Main/System/Hero/HeroInfo.Collection.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB122_tagSCHeroInfo.cs.meta
similarity index 83%
copy from Main/System/Hero/HeroInfo.Collection.cs.meta
copy to Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB122_tagSCHeroInfo.cs.meta
index ea3af75..a69ea60 100644
--- a/Main/System/Hero/HeroInfo.Collection.cs.meta
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB122_tagSCHeroInfo.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 14fc4e08ba34d504a936ff5d6c2b7c53
+guid: 66418acd27c801d4598bf44cc0027cef
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/ServerPack/HB1_Role/CB122_tagSCHeroInfo.cs b/Main/Core/NetworkPackage/ServerPack/HB1_Role/CB122_tagSCHeroInfo.cs
deleted file mode 100644
index efee950..0000000
--- a/Main/Core/NetworkPackage/ServerPack/HB1_Role/CB122_tagSCHeroInfo.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using UnityEngine;
-using System.Collections;
-
-// B1 22 姝﹀皢淇℃伅 #tagSCHeroInfo
-
-public class CB122_tagSCHeroInfo : GameNetPackBasic {
- public ushort HeroCnt;
- public tagSCHero[] HeroInfoList;
-
- public CB122_tagSCHeroInfo () {
- combineCmd = (ushort)0x03FE;
- _cmd = (ushort)0xB122;
- }
-
- public override void WriteToBytes () {
- WriteBytes (HeroCnt, NetDataType.WORD);
- for (int i = 0; i < HeroCnt; i ++) {
- WriteBytes (HeroInfoList[i].HeroID, NetDataType.DWORD);
- WriteBytes (HeroInfoList[i].SkinState, NetDataType.DWORD);
- WriteBytes (HeroInfoList[i].BookInitState, NetDataType.BYTE);
- WriteBytes (HeroInfoList[i].BookStarLV, NetDataType.WORD);
- WriteBytes (HeroInfoList[i].BookBreakLV, NetDataType.WORD);
- }
- }
-
- public struct tagSCHero {
- public uint HeroID; // 姝﹀皢ID
- public uint SkinState; // 姝﹀皢鐨偆宸茶В閿佺姸鎬佷俊鎭紝鎸夌毊鑲ゆ墍鍦ㄧ储寮曚簩杩涘埗浣嶈繍绠楀垽鏂槸鍚﹁В閿侊紝0绱㈠紩浣嶉粯璁ょ毊鑲わ紝涓嶇敤楠岃瘉
- public byte BookInitState; // 鍥鹃壌婵�娲荤姸鎬侊細0-鏈縺娲伙紱1-鍙縺娲伙紱2-宸叉縺娲�
- public ushort BookStarLV; // 鍥鹃壌鏄熺骇绛夌骇
- public ushort BookBreakLV; // 鍥鹃壌绐佺牬绛夌骇
- }
-
-}
diff --git a/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB122_tagSCHeroInfo.cs b/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB122_tagSCHeroInfo.cs
new file mode 100644
index 0000000..e20e5d3
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB122_tagSCHeroInfo.cs
@@ -0,0 +1,35 @@
+using UnityEngine;
+using System.Collections;
+
+// B1 22 姝﹀皢鍥鹃壌淇℃伅 #tagSCHeroInfo
+
+public class HB122_tagSCHeroInfo : GameNetPackBasic {
+ public ushort HeroCnt;
+ public tagSCHero[] HeroInfoList;
+
+ public HB122_tagSCHeroInfo () {
+ _cmd = (ushort)0xB122;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out HeroCnt, vBytes, NetDataType.WORD);
+ HeroInfoList = new tagSCHero[HeroCnt];
+ for (int i = 0; i < HeroCnt; i ++) {
+ HeroInfoList[i] = new tagSCHero();
+ TransBytes (out HeroInfoList[i].HeroID, vBytes, NetDataType.DWORD);
+ TransBytes (out HeroInfoList[i].SkinState, vBytes, NetDataType.DWORD);
+ TransBytes (out HeroInfoList[i].BookInitState, vBytes, NetDataType.BYTE);
+ TransBytes (out HeroInfoList[i].BookStarLV, vBytes, NetDataType.WORD);
+ TransBytes (out HeroInfoList[i].BookBreakLV, vBytes, NetDataType.WORD);
+ }
+ }
+
+ public struct tagSCHero {
+ public uint HeroID; // 姝﹀皢ID
+ public uint SkinState; // 姝﹀皢鐨偆宸茶В閿佺姸鎬佷俊鎭紝鎸夌毊鑲ゆ墍鍦ㄧ储寮曚簩杩涘埗浣嶈繍绠楀垽鏂槸鍚﹁В閿侊紝0绱㈠紩浣嶉粯璁ょ毊鑲わ紝涓嶇敤楠岃瘉
+ public byte BookInitState; // 鍥鹃壌婵�娲荤姸鎬侊細0-鏈縺娲伙紱1-鍙縺娲伙紱2-宸叉縺娲�
+ public ushort BookStarLV; // 鍥鹃壌鏄熺骇绛夌骇
+ public ushort BookBreakLV; // 鍥鹃壌绐佺牬绛夌骇
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HB1_Role/CB122_tagSCHeroInfo.cs.meta b/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB122_tagSCHeroInfo.cs.meta
similarity index 84%
rename from Main/Core/NetworkPackage/ServerPack/HB1_Role/CB122_tagSCHeroInfo.cs.meta
rename to Main/Core/NetworkPackage/ServerPack/HB1_Role/HB122_tagSCHeroInfo.cs.meta
index b2c4ab0..bddabc3 100644
--- a/Main/Core/NetworkPackage/ServerPack/HB1_Role/CB122_tagSCHeroInfo.cs.meta
+++ b/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB122_tagSCHeroInfo.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 202d7c3220a898241b3bc011d6a629f9
+guid: e1696a1b8ec22d84e8a41293db691354
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/ResModule/ResManager.cs b/Main/ResModule/ResManager.cs
index b049bde..3d68b85 100644
--- a/Main/ResModule/ResManager.cs
+++ b/Main/ResModule/ResManager.cs
@@ -1,14 +1,10 @@
锘縰sing UnityEngine;
-using System.Collections;
using System.Collections.Generic;
-using Cysharp.Threading.Tasks;
using System;
using UnityEngine.U2D;
-using LitJson;
using System.IO;
-using UnityEngine.Networking;
using UnityEngine.Video;
-using System.Reflection;
+using Spine.Unity;
@@ -77,6 +73,7 @@
{typeof(Material), "mat"},
{typeof(VideoClip), "mp4"},
{typeof(SpriteAtlas), "spriteatlasv2"},
+ {typeof(SkeletonDataAsset), "asset"},
};
@@ -145,8 +142,6 @@
if (!AssetSource.isUseAssetBundle)
{
#if UNITY_EDITOR
- // TODO YYL 杩樻槸瑕佹壘鍒板瓧绗︿覆闂
- path = System.Text.RegularExpressions.Regex.Replace(path, @"[\p{C}]", "");
asset = UnityEditor.AssetDatabase.LoadAssetAtPath<T>(path);
#endif
}
diff --git a/Main/System/Battle/BattleWin.cs b/Main/System/Battle/BattleWin.cs
index 40c6530..796710b 100644
--- a/Main/System/Battle/BattleWin.cs
+++ b/Main/System/Battle/BattleWin.cs
@@ -1,9 +1,5 @@
锘縰sing UnityEngine;
-using System.Collections;
-using System.Collections.Generic;
using UnityEngine.UI;
-using DG.Tweening;
-using Cysharp.Threading.Tasks;
public class BattleWin : UIBase
{
diff --git a/Main/System/Hero/HeroInfo.Awake.cs b/Main/System/Hero/HeroInfo.Awake.cs
index 2f91343..f2174b7 100644
--- a/Main/System/Hero/HeroInfo.Awake.cs
+++ b/Main/System/Hero/HeroInfo.Awake.cs
@@ -4,6 +4,24 @@
public partial class HeroInfo
{
+ // 瑙夐啋閰嶇疆
+ public HeroAwakeConfig awakeConfig;
+
+
+ // 鍝佽川瑙夐啋閰嶇疆
+ public HeroQualityAwakeConfig qualityAwakeConfig;
+
+ // 姝﹀皢瑙夐啋绛夌骇
+ public int awakeLevel
+ {
+ get
+ {
+ if (itemHero == null)
+ return 0;
+ return itemHero.GetUseDataFirstValue(76);
+ }
+ }
+
protected int GetIFByInheritAwakePercent(HeroAttrType attrType)
{
// YYL TODO
diff --git a/Main/System/Hero/HeroInfo.Break.cs b/Main/System/Hero/HeroInfo.Break.cs
index 200e689..54fe5ba 100644
--- a/Main/System/Hero/HeroInfo.Break.cs
+++ b/Main/System/Hero/HeroInfo.Break.cs
@@ -3,6 +3,23 @@
public partial class HeroInfo
{
+ // 绐佺牬閰嶇疆
+ public HeroBreakConfig breakConfig;
+
+ // 鍝佽川绐佺牬閰嶇疆
+ public HeroQualityBreakConfig qualityBreakConfig;
+
+ // 姝﹀皢绐佺牬绛夌骇
+ public int breakLevel
+ {
+ get
+ {
+ if (itemHero == null)
+ return 0;
+ return itemHero.GetUseDataFirstValue(74);
+ }
+ }
+
protected int GetBreakCultivationPercent(HeroAttrType attrType)
{
// YYL TODO
diff --git a/Main/System/Hero/HeroInfo.Collection.cs b/Main/System/Hero/HeroInfo.Collection.cs
deleted file mode 100644
index 60cf189..0000000
--- a/Main/System/Hero/HeroInfo.Collection.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-public partial class HeroInfo
-{
- protected int GetCollectionCultivationPercent(HeroAttrType attrType)
- {
- // YYL TODO
- return 0;
- }
-
-}
diff --git a/Main/System/Hero/HeroInfo.Fetter.cs b/Main/System/Hero/HeroInfo.Fetter.cs
index 3b47512..b5e0f71 100644
--- a/Main/System/Hero/HeroInfo.Fetter.cs
+++ b/Main/System/Hero/HeroInfo.Fetter.cs
@@ -3,6 +3,9 @@
public partial class HeroInfo
{
+ // 缇佺粖閰嶇疆
+ public HeroFetterConfig fetterConfig;
+
protected int GetIFByInheritFetterPercent(HeroAttrType attrType)
{
// YYL TODO
diff --git a/Main/System/Hero/HeroInfo.Level.cs b/Main/System/Hero/HeroInfo.Level.cs
index 836c749..cf413f2 100644
--- a/Main/System/Hero/HeroInfo.Level.cs
+++ b/Main/System/Hero/HeroInfo.Level.cs
@@ -3,6 +3,17 @@
public partial class HeroInfo
{
+ // 姝﹀皢绛夌骇
+ public int heroLevel
+ {
+ get
+ {
+ if (itemHero == null)
+ return 0;
+ return itemHero.GetUseDataFirstValue(70);
+ }
+ }
+
protected int GetLevelCultivationPercent(HeroAttrType attrType)
{
// YYL TODO
diff --git a/Main/System/Hero/HeroInfo.Properties.cs b/Main/System/Hero/HeroInfo.Properties.cs
index 6bc70de..645338b 100644
--- a/Main/System/Hero/HeroInfo.Properties.cs
+++ b/Main/System/Hero/HeroInfo.Properties.cs
@@ -135,7 +135,6 @@
cultivationPercent += GetLevelCultivationPercent(attrType);// 绛夌骇缁欑殑鐧惧垎姣� HeroInfo.Level.cs
cultivationPercent += GetBreakCultivationPercent(attrType);// 绐佺牬缁欑殑鐧惧垎姣� HeroInfo.Break.cs
cultivationPercent += GetStarCultivationPercent(attrType);// 鍚炲櫖鏄熺骇缁欑殑鐧惧垎姣� HeroInfo.Star.cs
- cultivationPercent += GetCollectionCultivationPercent(attrType);// 鍥鹃壌缁欑殑鐧惧垎姣� HeroInfo.Collection.cs
return cultivationPercent;
}
diff --git a/Main/System/Hero/HeroInfo.Quality.cs b/Main/System/Hero/HeroInfo.Quality.cs
index c35973b..f320710 100644
--- a/Main/System/Hero/HeroInfo.Quality.cs
+++ b/Main/System/Hero/HeroInfo.Quality.cs
@@ -3,6 +3,17 @@
public partial class HeroInfo
{
+ // 鍝佽川閰嶇疆
+ public HeroQualityConfig qualityConfig;
+
+ public int Quality
+ {
+ get
+ {
+ return heroConfig.Quality;
+ }
+ }
+
protected int GetQualityCultivationPercent(HeroAttrType attrType)
{
// YYL TODO
diff --git a/Main/System/Hero/HeroInfo.Skin.cs b/Main/System/Hero/HeroInfo.Skin.cs
index 2654979..062da55 100644
--- a/Main/System/Hero/HeroInfo.Skin.cs
+++ b/Main/System/Hero/HeroInfo.Skin.cs
@@ -3,9 +3,16 @@
public partial class HeroInfo
{
- // 鏈嶅姟鍣ㄦ暟鎹� 鐨偆绱㈠紩
- public int SkinIndex = 0;
-
+ // 78 # 鑻遍泟浣跨敤鐨勭毊鑲ょ储寮�
+ public int SkinIndex
+ {
+ get
+ {
+ if (itemHero == null)
+ return 0;
+ return itemHero.GetUseDataFirstValue(78);
+ }
+ }
// 鏈嶅姟鍣ㄦ暟鎹� 鐨偆ID
public int SkinID;
diff --git a/Main/System/Hero/HeroInfo.Star.cs b/Main/System/Hero/HeroInfo.Star.cs
index 33df4df..e966eec 100644
--- a/Main/System/Hero/HeroInfo.Star.cs
+++ b/Main/System/Hero/HeroInfo.Star.cs
@@ -3,6 +3,18 @@
public partial class HeroInfo
{
+ // 姝﹀皢鏄熺骇
+ public int heroStar
+ {
+ get
+ {
+ if (itemHero == null)
+ return 0;
+ return itemHero.GetUseDataFirstValue(72);
+ }
+ }
+
+
protected int GetStarCultivationPercent(HeroAttrType attrType)
{
// YYL TODO
diff --git a/Main/System/Hero/HeroInfo.cs b/Main/System/Hero/HeroInfo.cs
index 3232ec2..156e4e8 100644
--- a/Main/System/Hero/HeroInfo.cs
+++ b/Main/System/Hero/HeroInfo.cs
@@ -1,28 +1,16 @@
using System.Collections.Generic;
using UnityEngine;
using LitJson;
-using log4net.Core;
+// 姝﹀皢淇℃伅锛氬疄闄呰幏寰楃殑姝﹀皢锛屼笉鍖呭惈鍥鹃壌鏁版嵁
public partial class HeroInfo
{
- // 姝﹀皢鏈嶅姟鍣ㄥ敮涓�ID
- public long sid;
-
// 姝﹀皢閰嶇疆琛↖D
public int heroId;
- // 姝﹀皢绛夌骇
- public int heroLevel;
-
- // 姝﹀皢鏄熺骇
- public int heroStar;
-
- // 姝﹀皢绐佺牬绛夌骇
- public int breakLevel;
-
- // 姝﹀皢瑙夐啋绛夌骇
- public int awakeLevel;
-
+ // 姝﹀皢閰嶇疆
+ public HeroConfig heroConfig;
+ public ItemModel itemHero; //寮曠敤鑳屽寘閲岀殑 鏁版嵁鍚屾
public HeroCountry heroCountry
{
@@ -32,41 +20,36 @@
}
}
- public int Quality
+
+ //鏄惁涓荤嚎涓婇樀 81 # 鎵�鍦ㄩ樀瀹逛俊鎭垪琛� [闃靛绫诲瀷*10000+闃靛瀷绫诲瀷*100+浣嶇疆缂栧彿, ...]
+ public bool isInMainBattle
{
get
{
- return heroConfig.Quality;
+ //浠庡垪琛ㄤ腑鎵惧埌 闃靛涓�1鐨� 涓荤嚎闃靛
+ var list = itemHero.GetUseData(81);
+ if (list != null && list.Count > 0)
+ {
+ var index = list.FindIndex((item) => item / 10000 == 1);
+ if (index >= 0)
+ {
+ return true;
+ }
+ }
+ return false;
}
}
- // public readonly CB122_tagSCHeroInfo.tagSCHero scHeroInfo;
- // 姝﹀皢閰嶇疆
- public HeroConfig heroConfig;
- // 瑙夐啋閰嶇疆
- public HeroAwakeConfig awakeConfig;
- // 绐佺牬閰嶇疆
- public HeroBreakConfig breakConfig;
- // 缇佺粖閰嶇疆
- public HeroFetterConfig fetterConfig;
- // 鍝佽川瑙夐啋閰嶇疆
- public HeroQualityAwakeConfig qualityAwakeConfig;
- // 鍝佽川閰嶇疆
- public HeroQualityConfig qualityConfig;
- // 鍝佽川绐佺牬閰嶇疆
- public HeroQualityBreakConfig qualityBreakConfig;
+
+
public List<HeroFetterInfo> fetterInfoList = new List<HeroFetterInfo>();
public List<HeroTalentInfo> talentList = new List<HeroTalentInfo>();
- public HeroInfo(/*CB122_tagSCHeroInfo.tagSCHero _scHeroInfo, */ItemModel _itemHero)
+ public HeroInfo(ItemModel _itemHero)
{
- // scHeroInfo = _scHeroInfo;
UpdateHero(_itemHero);
-
-
-
}
public HeroInfo(HB424_tagSCTurnFightInit.tagSCTurnFightObj fightObj)
@@ -77,18 +60,13 @@
heroConfig = HeroConfig.Get(heroId);
SkinID = (int)fightObj.SkinID;
skinConfig = HeroSkinConfig.Get(SkinID);
- heroLevel = (int)fightObj.LV;
}
- #if UNITY_EDITOR
+#if UNITY_EDITOR
public HeroInfo()
{
heroId = 520001; // 榛樿鑻遍泟ID
- heroLevel = 1;
- heroStar = 1;
- breakLevel = 1;
- awakeLevel = 1;
- SkinIndex = 0;
+
heroConfig = HeroConfig.Get(heroId);
awakeConfig = HeroAwakeConfig.GetHeroAwakeConfig(heroId, awakeLevel);
breakConfig = HeroBreakConfig.GetHeroBreakConfig(heroId, breakLevel);
@@ -97,58 +75,47 @@
qualityBreakConfig = HeroQualityBreakConfig.GetQualityBreakConfig(Quality, awakeLevel);
CalculateProperties();
}
- #endif
-
- // public HeroInfo Clone() => JsonMapper.ToObject<HeroInfo>(JsonMapper.ToJson(this));
+#endif
- public void UpdateHero(ItemModel itemHero)
+ public void UpdateHero(ItemModel _itemHero)
{
+ itemHero = _itemHero;
// HeroConfigUtility
heroId = itemHero.config.ID;
- // 70 # 鑻遍泟绛夌骇
- heroLevel = itemHero.GetUseData(70)[0];
- // 72 # 鑻遍泟鏄熺骇
- heroStar = itemHero.GetUseData(72)[0];
- // 74 # 鑻遍泟绐佺牬绛夌骇
- breakLevel = itemHero.GetUseData(74)[0];
- // 76 # 鑻遍泟瑙夐啋绛夌骇
- awakeLevel = itemHero.GetUseData(76)[0];
- // 78 # 鑻遍泟浣跨敤鐨勭毊鑲ょ储寮�
- SkinIndex = itemHero.GetUseData(78)[0];
-
- // 71 # 鑻遍泟澶╄祴ID鍒楄〃
- List<int> talentSkillList = itemHero.GetUseData(71);
- // 73 # 鑻遍泟澶╄祴ID绛夌骇鍒楄〃锛屽搴�71澶╄祴ID鐨勭瓑绾�
- List<int> talentLvList = itemHero.GetUseData(73);
- // 75 # 鑻遍泟澶╄祴娲楃偧閿佸畾绱㈠紩鍒楄〃锛屽搴�71澶╄祴ID绱㈠紩
- List<int> talentLockList = itemHero.GetUseData(75);
InitConfigs();
+ // 71 # 鑻遍泟澶╄祴ID鍒楄〃
+ // List<int> talentSkillList = itemHero.GetUseData(71);
+ // // 73 # 鑻遍泟澶╄祴ID绛夌骇鍒楄〃锛屽搴�71澶╄祴ID鐨勭瓑绾�
+ // List<int> talentLvList = itemHero.GetUseData(73);
+ // // 75 # 鑻遍泟澶╄祴娲楃偧閿佸畾绱㈠紩鍒楄〃锛屽搴�71澶╄祴ID绱㈠紩
+ // List<int> talentLockList = itemHero.GetUseData(75);
- if (talentLockList.Count != talentLvList.Count || talentLvList.Count != talentSkillList.Count)
- {
- Debug.LogError("澶╄祴ID鍒楄〃鍙婂悗缁殑鏁版嵁鏁伴噺娌″涓�");
- }
- // 澶╄祴
- talentList.Clear();
- for (int i = 0; i < talentSkillList.Count; i++)
- {
- talentList.Add(new HeroTalentInfo(this, talentSkillList[i], talentLvList[i], talentLockList[i]));
- }
+ // if (talentLockList.Count != talentLvList.Count || talentLvList.Count != talentSkillList.Count)
+ // {
+ // Debug.LogError("澶╄祴ID鍒楄〃鍙婂悗缁殑鏁版嵁鏁伴噺娌″涓�");
+ // }
- // 缇佺粖
- fetterInfoList.Clear();
- for (int i = 0; i < heroConfig.FetterIDList.Length; i++)
- {
- fetterInfoList.Add(new HeroFetterInfo(this, heroConfig.FetterIDList[i]));
- }
+ // // 澶╄祴
+ // talentList.Clear();
+ // for (int i = 0; i < talentSkillList.Count; i++)
+ // {
+ // talentList.Add(new HeroTalentInfo(this, talentSkillList[i], talentLvList[i], talentLockList[i]));
+ // }
-// 77 # 鑻遍泟澶╄祴娲楃偧闅忔満ID鍒楄〃
-// 79 # 鑻遍泟瑙夐啋鏃堕殢鏈哄ぉ璧嬮�夐」ID鍒楄〃
-// 80 # 涓婚樀鍨嬩笂闃典綅缃�
+ // // 缇佺粖
+ // fetterInfoList.Clear();
+ // for (int i = 0; i < heroConfig.FetterIDList.Length; i++)
+ // {
+ // fetterInfoList.Add(new HeroFetterInfo(this, heroConfig.FetterIDList[i]));
+ // }
+
+ // 77 # 鑻遍泟澶╄祴娲楃偧闅忔満ID鍒楄〃
+ // 79 # 鑻遍泟瑙夐啋鏃堕殢鏈哄ぉ璧嬮�夐」ID鍒楄〃
+ // 80 # 涓婚樀鍨嬩笂闃典綅缃�
}
protected void InitConfigs()
diff --git a/Main/System/Hero/HeroManager.cs b/Main/System/Hero/HeroManager.cs
index d54640f..3fce894 100644
--- a/Main/System/Hero/HeroManager.cs
+++ b/Main/System/Hero/HeroManager.cs
@@ -1,10 +1,17 @@
using System.Collections.Generic;
using UnityEngine;
using System;
+using System.Linq;
public class HeroManager : GameSystemManager<HeroManager>
{
+ //姝﹀皢鍜屽浘閴寸殑鍏崇郴
+ //鍚屼竴涓灏嗗浘閴达紝鍙兘鏈夊涓灏嗭紙鐗╁搧锛夋暟鎹紝鎴栬�呮病鏈夋灏嗭紝浣嗘槸鏈夊浘閴翠俊鎭�
+ //鍒濆鍒涘缓锛�0725锛夛紝鍚庣画璺熼殢鑳屽寘浜嬩欢澧炲姞鍒犻櫎 key = guid
protected Dictionary<string, HeroInfo> heroInfoDict = new Dictionary<string, HeroInfo>();
+
+ //姝﹀皢鍒楄〃鐣岄潰
+ public List<string> heroSortList = new List<string>();
public Action<HeroInfo> onNewHeroEvent;
@@ -14,57 +21,81 @@
{
base.Init();
- // 娉ㄥ唽涓�鐐逛簨浠�
PackManager.Instance.refrechPackEvent += refrechPackEvent;
+ PackManager.Instance.CreateItemEvent += CreateHero;
+ PackManager.Instance.DeleteItemEvent += DeleteHero;
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
}
public override void Release()
{
base.Release();
PackManager.Instance.refrechPackEvent -= refrechPackEvent;
+ PackManager.Instance.CreateItemEvent -= CreateHero;
+ PackManager.Instance.DeleteItemEvent -= DeleteHero;
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
}
- public override void RequestNessaryData()
+ void OnBeforePlayerDataInitialize()
{
- base.RequestNessaryData();
-
-
+ heroSortList.Clear();
+ heroInfoDict.Clear();
}
- public void refrechPackEvent(PackType packType)
+ void refrechPackEvent(PackType packType)
{
if (packType == PackType.Hero)
{
- // bool change = false;
- bool isNew = false;
- // 濡傛灉鏈夊垎鎵规鍒濆鍖栧彲鑳借繕瑕侀夯鐑︿竴鐐�?鍏堢湅鐪�
- bool isInit = heroInfoDict.Count >= 0;
+ InitHerosInfo();
+ }
+ }
- SinglePack heroPack = PackManager.Instance.GetSinglePack(packType);
-
- Dictionary<int, ItemModel> heroes = heroPack.GetAllItems();
-
- foreach (ItemModel hero in heroes.Values)
+ void CreateHero(PackType packType, string guid)
+ {
+ if (packType == PackType.Hero)
+ {
+ HeroInfo heroInfo = null;
+ if (!heroInfoDict.TryGetValue(guid, out heroInfo))
{
- HeroInfo heroInfo = null;
- if (!heroInfoDict.TryGetValue(hero.guid, out heroInfo))
- {
- heroInfo = new HeroInfo(hero);
- heroInfoDict.Add(hero.guid, heroInfo);
- if (!isInit)
- {
- isNew = true;
- onNewHeroEvent?.Invoke(heroInfo);
- }
- }
- else
- {
- heroInfo.UpdateHero(hero);
- // 涔熸湁鍙兘涓嶆槸change
- // change = true;
- // onHeroChangeEvent?.Invoke(heroInfo);
- }
+ heroInfo = new HeroInfo(PackManager.Instance.GetItemByGuid(guid));
+ heroInfoDict.Add(guid, heroInfo);
}
+ else
+ {
+ heroInfo.UpdateHero(PackManager.Instance.GetItemByGuid(guid));
+ }
+ }
+ }
+
+ void DeleteHero(PackType packType, string guid)
+ {
+ if (packType == PackType.Hero)
+ {
+ if (heroInfoDict.ContainsKey(guid))
+ {
+ heroInfoDict.Remove(guid);
+ }
+ }
+ }
+
+ public HeroInfo GetHero(string guid)
+ {
+ if (!heroInfoDict.ContainsKey(guid))
+ return null;
+ return heroInfoDict[guid];
+ }
+
+
+
+ void InitHerosInfo()
+ {
+ heroInfoDict.Clear();
+ SinglePack heroPack = PackManager.Instance.GetSinglePack(PackType.Hero);
+ Dictionary<int, ItemModel> heroes = heroPack.GetAllItems();
+
+ foreach (ItemModel hero in heroes.Values)
+ {
+ CreateHero(hero.packType, hero.guid);
}
}
@@ -72,7 +103,7 @@
{
List<HeroInfo> heroList = new List<HeroInfo>(heroInfoDict.Values);
- heroList.Sort((a, b) =>
+ heroList.Sort((a, b) =>
{
int power1 = a.CalculatePower();
int power2 = b.CalculatePower();
@@ -95,9 +126,52 @@
return retList;
}
- // public override bool IsNessaryDataReady()
- // {
- // return true;
- // }
+ public bool waitResortHeroList = false;
+
+
+ //鍒锋柊鏃舵満, 鎵撳紑姝﹀皢鐣岄潰 鎴栬�� 鍏抽棴鍔熻兘鐣岄潰
+ public void SortHeroList()
+ {
+ heroSortList = heroInfoDict.Keys.ToList();
+ heroSortList.Sort(CmpHero);
+ }
+
+
+ int CmpHero(string guidA, string guidB)
+ {
+ HeroInfo heroA = heroInfoDict[guidA];
+ HeroInfo heroB = heroInfoDict[guidB];
+ if (heroA == null || heroB == null)
+ {
+ return 0;
+ }
+ // 鎺掑簭瑙勫垯锛氫笂闃�>姝﹀皢绛夌骇锛炵獊鐮寸瓑绾э紴姝﹀皢瑙夐啋闃剁骇锛炴灏嗗搧璐紴姝﹀皢鍚炲櫖鏄熺骇锛炴灏咺D
+ if (heroA.isInMainBattle != heroB.isInMainBattle)
+ {
+ return heroA.isInMainBattle ? -1 : 1;
+ }
+ if (heroA.heroLevel != heroB.heroLevel)
+ {
+ return heroA.heroLevel > heroB.heroLevel ? -1 : 1;
+ }
+ if (heroA.breakLevel != heroB.breakLevel)
+ {
+ return heroA.breakLevel > heroB.breakLevel ? -1 : 1;
+ }
+ if (heroA.awakeLevel != heroB.awakeLevel)
+ {
+ return heroA.awakeLevel > heroB.awakeLevel ? -1 : 1;
+ }
+ if (heroA.Quality != heroB.Quality)
+ {
+ return heroA.Quality > heroB.Quality ? -1 : 1;
+ }
+ if (heroA.heroStar != heroA.heroStar)
+ {
+ return heroA.heroStar > heroB.heroStar ? -1 : 1;
+ }
+
+ return heroA.heroId.CompareTo(heroB.heroId);
+ }
}
\ No newline at end of file
diff --git a/Main/System/Hero/UIHeroController.cs b/Main/System/Hero/UIHeroController.cs
index 1a0269b..1bd1a38 100644
--- a/Main/System/Hero/UIHeroController.cs
+++ b/Main/System/Hero/UIHeroController.cs
@@ -1,46 +1,40 @@
+using System;
using Spine.Unity;
using UnityEngine;
+using UnityEngine.Events;
using UnityEngine.EventSystems;
public class UIHeroController : MonoBehaviour
{
- public static UIHeroController Create(HeroSkinConfig skinCfg, Transform _parent = null)
+ public void Create(int _skinID, Action _onComplete = null)
{
- // GameObject battleGO = ResManager.Instance.LoadAsset<GameObject>("Hero/SpineRes", skinCfg == null ? "Hero_001" : skinCfg.SpineRes);
+ skinID = _skinID;
+ onComplete = _onComplete;
GameObject battleGO = ResManager.Instance.LoadAsset<GameObject>("Hero/SpineRes", "Hero_001");
GameObject instanceGO = null;
- if (_parent != null)
+ if (!transform.gameObject.activeSelf)
{
- instanceGO = GameObject.Instantiate(battleGO, _parent);
+ transform.SetActive(true);
}
- else
- {
- instanceGO = GameObject.Instantiate(battleGO);
- }
- UIHeroController heroController = instanceGO.AddMissingComponent<UIHeroController>();
- return heroController;
- }
-
- protected SkeletonGraphic skeletonGraphic;
-
- protected Spine.AnimationState spineAnimationState;
-
- private Spine.TrackEntry currentTrackEntry;
-
- private UIEventTrigger uiEventTrigger;
-
- void Awake()
- {
- skeletonGraphic = gameObject.GetComponentInChildren<SkeletonGraphic>(true);
- uiEventTrigger = UIEventTrigger.Get(skeletonGraphic.gameObject);
-
- uiEventTrigger.OnClick = OnClick;
-
+ instanceGO = GameObject.Instantiate(battleGO, transform);
+ skeletonGraphic = instanceGO.GetComponentInChildren<SkeletonGraphic>(true);
+ var skinConfig = HeroSkinConfig.Get(skinID);
+ skeletonGraphic.skeletonDataAsset = ResManager.Instance.LoadAsset<SkeletonDataAsset>("Hero/SpineRes/" + skinConfig.SpineRes, skinConfig.SpineRes + "_SkeletonData");
+ skeletonGraphic.Initialize(true);
spineAnimationState = skeletonGraphic.AnimationState;
PlayAnimation(MotionName.idle, true);
spineAnimationState.Complete += OnAnimationComplete;
}
+ private int skinID;
+ protected SkeletonGraphic skeletonGraphic;
+
+ protected Spine.AnimationState spineAnimationState;
+
+ private Spine.TrackEntry currentTrackEntry;
+ private Action onComplete;
+
+
void Destroy()
{
@@ -57,17 +51,12 @@
return currentTrackEntry;
}
- /// <summary>
- /// 鍔ㄧ敾瀹屾垚浜嬩欢澶勭悊
- /// </summary>
- protected virtual void OnAnimationComplete(Spine.TrackEntry trackEntry)
- {
- // string animation = trackEntry.Animation.Name;
- PlayAnimation(MotionName.idle, true);
+ /// <summary>
+ /// 鍔ㄧ敾瀹屾垚浜嬩欢澶勭悊
+ /// </summary>
+ protected virtual void OnAnimationComplete(Spine.TrackEntry trackEntry)
+ {
+ onComplete?.Invoke();
}
- protected void OnClick(GameObject go,PointerEventData eventData)
- {
- PlayAnimation(MotionName.attack);
- }
}
\ No newline at end of file
diff --git a/Main/System/HeroUI.meta b/Main/System/HeroUI.meta
new file mode 100644
index 0000000..b5ac0e0
--- /dev/null
+++ b/Main/System/HeroUI.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6d5260adadfe89e459f603d5e9453cd7
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/HeroUI/GiftBaseCell.cs b/Main/System/HeroUI/GiftBaseCell.cs
new file mode 100644
index 0000000..abb5897
--- /dev/null
+++ b/Main/System/HeroUI/GiftBaseCell.cs
@@ -0,0 +1,195 @@
+锘縰sing UnityEngine;
+using UnityEngine.UI;
+using UnityEngine.Events;
+
+public class GiftBaseCell : MonoBehaviour
+{
+
+ Image m_QualityBG;
+ Image qualityBG
+ {
+ get
+ {
+ if (m_QualityBG == null)
+ {
+ m_QualityBG = this.transform.GetComponent<Image>("Container_GiftCell/qualityIcon");
+ }
+ return m_QualityBG;
+ }
+ }
+
+ Button m_GiftBtn;
+ Button giftBtn
+ {
+ get
+ {
+ if (m_GiftBtn == null)
+ {
+ m_GiftBtn = this.transform.GetComponent<Button>("Container_GiftCell");
+ }
+ return m_GiftBtn;
+ }
+ }
+
+
+ Text m_GiftName;
+ Text giftName
+ {
+ get
+ {
+ if (m_GiftName == null)
+ {
+ m_GiftName = this.transform.GetComponent<Text>("Container_GiftCell/name");
+ }
+ return m_GiftName;
+ }
+ }
+
+ Transform m_LvRect;
+ Transform lvRect
+ {
+ get
+ {
+ if (m_LvRect == null)
+ {
+ m_LvRect = this.transform.Find("Container_GiftCell/lvrect");
+ }
+ return m_LvRect;
+ }
+ }
+
+ Text m_LvText;
+ Text lvText
+ {
+ get
+ {
+ if (m_LvText == null)
+ {
+ m_LvText = this.transform.GetComponent<Text>("Container_GiftCell/lv");
+ }
+ return m_LvText;
+ }
+ }
+
+ Image m_StateImg;
+ Image stateImg
+ {
+ get
+ {
+ if (m_StateImg == null)
+ {
+ m_StateImg = this.transform.GetComponent<Image>("Container_GiftCell/state");
+ }
+ return m_StateImg;
+ }
+ }
+
+ void Awake()
+ {
+ LoadPrefab();
+ }
+
+ //showState 0锛氫笉鏄剧ず 1锛氭柊澧� 2锛氭彁鍗�
+ //giftID 0 :浠h〃鏈縺娲荤伆鑹� -1锛氫唬琛ㄤ笉鑳芥縺娲� 妫曡壊锛屽叾浠栨牴鎹厤琛�
+ private void Init(int giftID, int lv, UnityAction onclick = null, int showState = 0)
+ {
+ if (HeroTalentConfig.HasKey(giftID))
+ {
+ var config = HeroTalentConfig.Get(giftID);
+ qualityBG.SetSprite("GiftQualityBG" + config.Quality);
+ giftBtn.AddListener(onclick);
+ giftName.text = config.Name;
+ lvText.text = lv.ToString();
+ lvText.color = GetColor(1);
+ Outline textOutline = lvText.GetComponent<Outline>();
+ textOutline.effectColor = GetOutlineColor(config.Quality);
+ lvRect.SetActive(lv > 0);
+ stateImg.SetActive(showState > 0);
+ stateImg.SetSprite("GiftState" + showState);
+ stateImg.SetNativeSize();
+ }
+ else
+ {
+ qualityBG.SetSprite("GiftQualityBG" + giftID);
+ giftBtn.RemoveAllListeners();
+ giftName.text = string.Empty;
+ lvRect.SetActive(false);
+ stateImg.SetActive(false);
+ }
+ }
+
+ Color32 GetColor(int quality)
+ {
+ if (quality == 1)
+ {
+ //D196FF
+ return new Color32(209, 150, 255, 255);
+ }
+ else if (quality == 2)
+ {
+ //ffda8c
+ return new Color32(255, 218, 140, 255);
+ }
+ else if (quality == 3)
+ {
+ //ffbd88
+ return new Color32(255, 189, 136, 255);
+ }
+ else if (quality == 4)
+ {
+ //ff8888
+ return new Color32(255, 136, 136, 255);
+ }
+ return new Color32(255, 255, 255, 255);
+ }
+
+ Color32 GetOutlineColor(int quality)
+ {
+ if (quality == 1)
+ {
+ //692088
+ return new Color32(105, 32, 136, 255);
+ }
+ else if (quality == 2)
+ {
+ //886220
+ return new Color32(136, 98, 32, 255);
+ }
+ else if (quality == 3)
+ {
+ //884a20
+ return new Color32(136, 74, 32, 255);
+ }
+ else if (quality == 4)
+ {
+ //882020
+ return new Color32(136, 32, 32, 255);
+ }
+ return new Color32(255, 255, 255, 255);
+ }
+
+ GameObject cellContainer;
+ protected void LoadPrefab()
+ {
+ if (cellContainer != null)
+ return;
+
+ var tmp = transform.Find("Container_SkillCell");
+ if (tmp != null)
+ {
+ cellContainer = tmp.gameObject;
+ return;
+ }
+ if (cellContainer == null)
+ {
+ cellContainer = UIUtility.CreateWidget("SkillBaseCell", "Container_SkillCell");
+
+ if (cellContainer != null)
+ {
+ cellContainer.transform.SetParentEx(this.transform, Vector3.zero, Quaternion.identity, Vector3.one);
+ cellContainer.transform.SetAsFirstSibling();
+ }
+ }
+ }
+}
+
diff --git a/Main/System/Hero/HeroInfo.Collection.cs.meta b/Main/System/HeroUI/GiftBaseCell.cs.meta
similarity index 83%
copy from Main/System/Hero/HeroInfo.Collection.cs.meta
copy to Main/System/HeroUI/GiftBaseCell.cs.meta
index ea3af75..846ce3c 100644
--- a/Main/System/Hero/HeroInfo.Collection.cs.meta
+++ b/Main/System/HeroUI/GiftBaseCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 14fc4e08ba34d504a936ff5d6c2b7c53
+guid: fee86d39197e04b4ba659962fa508538
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/HeroUI/HeroBaseWin.cs b/Main/System/HeroUI/HeroBaseWin.cs
new file mode 100644
index 0000000..630301f
--- /dev/null
+++ b/Main/System/HeroUI/HeroBaseWin.cs
@@ -0,0 +1,75 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+/// <summary>
+/// 姝﹀皢鍒楄〃
+/// </summary>
+public class HeroBaseWin : FunctionsBaseWin
+{
+
+ [SerializeField] List<Image> funcSelectImgList;
+ [SerializeField] List<Image> funcUnSelectImgList;
+
+ /// </summary>
+ protected override void InitComponent()
+ {
+ base.InitComponent();
+ }
+
+
+ protected override void OnPreOpen()
+ {
+ base.OnPreOpen();
+ }
+
+ protected override void OnPreClose()
+ {
+ base.OnPreClose();
+ }
+
+
+ public override void Refresh()
+ {
+
+ }
+
+
+ protected override void UpdateButtonsState()
+ {
+ for (int i = 0; i < funcSelectImgList.Count; i++)
+ {
+ if (i == functionOrder)
+ {
+ funcSelectImgList[i].SetActive(true);
+ funcUnSelectImgList[i].SetActive(false);
+
+ }
+ else
+ {
+ funcSelectImgList[i].SetActive(false);
+ funcUnSelectImgList[i].SetActive(true);
+
+ }
+ }
+ }
+
+ protected override void OpenSubUIByTabIndex()
+ {
+ Debug.Log("鎵撳紑瀛愮晫闈� : " + functionOrder);
+ // 涓诲煄 鍐呮斂 姝﹀皢 鎸戞垬 鍏細
+ //鏍规嵁绱㈠紩鎵撳紑涓嶅悓鐨勭晫闈�
+ switch (functionOrder)
+ {
+ case 0:
+ // 鎵撳紑涓婚〉鐣岄潰
+ currentSubUI = UIManager.Instance.OpenWindow<HeroListWin>();
+ break;
+
+ default:
+ Debug.LogWarning("鏈煡鐨勬爣绛剧储寮�: " + functionOrder);
+ break;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Main/System/Hero/HeroInfo.Collection.cs.meta b/Main/System/HeroUI/HeroBaseWin.cs.meta
similarity index 83%
rename from Main/System/Hero/HeroInfo.Collection.cs.meta
rename to Main/System/HeroUI/HeroBaseWin.cs.meta
index ea3af75..a166376 100644
--- a/Main/System/Hero/HeroInfo.Collection.cs.meta
+++ b/Main/System/HeroUI/HeroBaseWin.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 14fc4e08ba34d504a936ff5d6c2b7c53
+guid: 030a392061d061044b14bec47c7c55ab
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/HeroUI/HeroCardCell.cs b/Main/System/HeroUI/HeroCardCell.cs
new file mode 100644
index 0000000..a43bcd6
--- /dev/null
+++ b/Main/System/HeroUI/HeroCardCell.cs
@@ -0,0 +1,37 @@
+锘縰sing UnityEngine;
+using UnityEngine.UI;
+using UnityEngine.Events;
+using System.Collections.Generic;
+
+public class HeroCardCell : MonoBehaviour
+{
+ [SerializeField] Button heroCardBtn;
+ [SerializeField] Text lvText;
+ [SerializeField] Image countryImg;
+ [SerializeField] Image jobImg;
+ [SerializeField] UIHeroController heroModel;
+ [SerializeField] Image onStateImg;
+ [SerializeField] RedpointBehaviour redpoint;
+ [SerializeField] Image trainStateImg;
+ [SerializeField] Text nameText;
+ [SerializeField] Image awakeImg;
+ [SerializeField] Text awakeLVText;
+ [SerializeField] List<Image> starImgList;
+
+ public void Display(int index)
+ {
+ var hero = HeroManager.Instance.GetHero(HeroManager.Instance.heroSortList[index]);
+ if (hero == null)
+ {
+ this.gameObject.SetActive(false);
+ return;
+ }
+ this.gameObject.SetActive(true);
+ lvText.text = hero.heroLevel.ToString();
+ var heroConfig = hero.heroConfig;
+ countryImg.SetSprite("herocountry" + hero.heroCountry);
+ jobImg.SetSprite("herojob" + heroConfig.Class);
+ heroModel.Create(heroConfig.SkinIDList[hero.SkinIndex]);
+ }
+}
+
diff --git a/Main/System/Hero/HeroInfo.Collection.cs.meta b/Main/System/HeroUI/HeroCardCell.cs.meta
similarity index 83%
copy from Main/System/Hero/HeroInfo.Collection.cs.meta
copy to Main/System/HeroUI/HeroCardCell.cs.meta
index ea3af75..ebd9591 100644
--- a/Main/System/Hero/HeroInfo.Collection.cs.meta
+++ b/Main/System/HeroUI/HeroCardCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 14fc4e08ba34d504a936ff5d6c2b7c53
+guid: 52a97086b2bf17147818d22c88dac66f
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/HeroUI/HeroCardLineCell.cs b/Main/System/HeroUI/HeroCardLineCell.cs
new file mode 100644
index 0000000..3b68921
--- /dev/null
+++ b/Main/System/HeroUI/HeroCardLineCell.cs
@@ -0,0 +1,24 @@
+锘縰sing UnityEngine;
+using System.Collections.Generic;
+
+public class HeroCardLineCell : CellView
+{
+ [SerializeField] List<HeroCardCell> cardList;
+
+ public void Display(int index)
+ {
+ for (int i = 0; i < cardList.Count; i++)
+ {
+ if (i + index < HeroManager.Instance.heroSortList.Count)
+ {
+ cardList[i].SetActive(true);
+ cardList[i].Display(index);
+ }
+ else
+ {
+ cardList[i].SetActive(false);
+ }
+ }
+ }
+}
+
diff --git a/Main/System/Hero/HeroInfo.Collection.cs.meta b/Main/System/HeroUI/HeroCardLineCell.cs.meta
similarity index 83%
copy from Main/System/Hero/HeroInfo.Collection.cs.meta
copy to Main/System/HeroUI/HeroCardLineCell.cs.meta
index ea3af75..fb0f95e 100644
--- a/Main/System/Hero/HeroInfo.Collection.cs.meta
+++ b/Main/System/HeroUI/HeroCardLineCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 14fc4e08ba34d504a936ff5d6c2b7c53
+guid: 81637d36456b1a54698c8de938c98bf7
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/HeroUI/HeroListWin.cs b/Main/System/HeroUI/HeroListWin.cs
new file mode 100644
index 0000000..bf6a6e9
--- /dev/null
+++ b/Main/System/HeroUI/HeroListWin.cs
@@ -0,0 +1,74 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+/// <summary>
+/// 姝﹀皢鍒楄〃
+/// </summary>
+public class HeroListWin : UIBase
+{
+ [SerializeField] Button heroPackBtn;
+ [SerializeField] Text heroPackText;
+ [SerializeField] ScrollerController heroListScroller;
+ [SerializeField] GameObject heroListEmpty;
+ [SerializeField] List<Text> attrOnList; //涓婇樀灞炴�у姞鎴�
+ [SerializeField] GameObject attrOnTip;
+ [SerializeField] Button attrOnTipBtn;
+
+ [SerializeField] GameObject foldObject;
+ [SerializeField] Button unFoldBtn; //灞曞紑鎸夐挳
+ [SerializeField] List<Button> countryBtnList;
+ [SerializeField] GameObject unFoldObject;
+ [SerializeField] Button foldBtn; //鏀惰捣鎸夐挳
+ [SerializeField] List<Button> jobBtnList; //鍏ㄩ儴锛岃緭鍑恒�佽倝鐩俱�佽緟鍔┿�佹帶鍒�
+ [SerializeField] Button changeHeroPosBtn; //甯冮樀鎸夐挳
+
+
+ private List<Image> countrySelectImgList;
+ private List<Image> jobSelectImgList;
+
+ /// </summary>
+ protected override void InitComponent()
+ {
+
+ }
+
+
+ protected override void OnPreOpen()
+ {
+ heroListScroller.OnRefreshCell += OnRefreshCell;
+ HeroManager.Instance.SortHeroList();
+ CreateScroller();
+ }
+
+ protected override void OnPreClose()
+ {
+ heroListScroller.OnRefreshCell -= OnRefreshCell;
+ }
+
+
+ public override void Refresh()
+ {
+
+ }
+
+ void OnRefreshCell(ScrollerDataType type, CellView cell)
+ {
+ var _cell = cell as HeroCardLineCell;
+ _cell.Display(cell.index);
+ }
+
+ void CreateScroller()
+ {
+ heroListScroller.Refresh();
+ for (int i = 0; i < HeroManager.Instance.heroSortList.Count; i++)
+ {
+ heroListScroller.AddCell(ScrollerDataType.Header, i);
+ }
+ heroListScroller.Restart();
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/Main/System/Hero/HeroInfo.Collection.cs.meta b/Main/System/HeroUI/HeroListWin.cs.meta
similarity index 83%
copy from Main/System/Hero/HeroInfo.Collection.cs.meta
copy to Main/System/HeroUI/HeroListWin.cs.meta
index ea3af75..30a5040 100644
--- a/Main/System/Hero/HeroInfo.Collection.cs.meta
+++ b/Main/System/HeroUI/HeroListWin.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 14fc4e08ba34d504a936ff5d6c2b7c53
+guid: fd17368bc8780f9468e0dbd3919f8974
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/KnapSack/PackManager.cs b/Main/System/KnapSack/PackManager.cs
index 1982acf..a239309 100644
--- a/Main/System/KnapSack/PackManager.cs
+++ b/Main/System/KnapSack/PackManager.cs
@@ -12,10 +12,7 @@
public static string StrengthAttrShift_RecordKey = "";
public const string RecordKnapsackTitle = "RecordKnapsackTitle";
- Dictionary<int, int> DrugToDungeonDict { get; set; } //key 涓硅嵂ID,value鍓湰ID
- Dictionary<int, int[]> DungeonToDrugDict { get; set; } //key 鍓湰ID,value涓硅嵂ID鍒楄〃
- //public List<AttrFruitConfig> makeDruglist { get; private set; }
- Dictionary<int, Dictionary<int, int>> decomposeAttrDict = new Dictionary<int, Dictionary<int, int>>();
+
string RoleEquipLocalSave = "";
List<int> LocalSavePlaceArray { get; set; }
Dictionary<int, List<int>> sharedUseCountItemDict { get; set; }
@@ -65,7 +62,7 @@
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent -= OnAfterPlayerDataInitialize;
DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk;
-FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
+ FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
// SysNotifyMgr.Instance.sysNotifyEvent -= RefreshSysInfo;
}
@@ -164,6 +161,8 @@
}
public event Action<PackType> refrechPackEvent; //鍒锋柊鏁翠釜鑳屽寘鏁版嵁
+ public event Action<PackType, string> CreateItemEvent; //寰楀埌鏂扮墿鍝侊紝鍙兘鎵归噺鍒涘缓娉ㄦ剰鏁堢巼
+ public event Action<PackType, string> DeleteItemEvent; //鍒犻櫎鐗╁搧锛屽彲鑳芥壒閲忓垹闄ゆ敞鎰忔晥鐜�
public event Action<PackType, int, int> refreshItemCountEvent; // 鎱庣敤浼氬崱锛堝崟涓級鏈�鏂扮墿鍝佹暟閲忓埛鏂�(鏃х殑寮冪敤)鍦ㄥ緱鍒版柊鐗╁搧銆佺墿鍝佹暟閲忕殑鏀瑰彉锛屾竻鐞嗚鐗╁搧鏃跺潎浼氳Е鍙� int 浣嶇疆绱㈠紩 int鐗╁搧id
public event Action<PackType> gridRefreshEvent; //鑳屽寘绌烘牸鍒锋柊
public event Action<PackType, int, int> itemCntAddEvent; //鐗╁搧鏁伴噺澧炲姞 int 浣嶇疆绱㈠紩 int鐗╁搧id
@@ -336,10 +335,21 @@
PackType type = (PackType)clearPack.PackIndex;
SinglePack singlePack = null;
playerPackDict.TryGetValue(type, out singlePack);
+ List<string> guidList = new List<string>();
if (singlePack != null)
{
+ foreach (var item in singlePack.GetAllItems().Values)
+ {
+ guidList.Add(item.guid);
+ }
singlePack.Clear();
+ foreach (var guid in guidList)
+ {
+ DeleteItemDictByGUID(type, guid);
+ }
}
+
+
}
public void RemoveItem(H0709_tagClearItem clearItem)
@@ -419,6 +429,10 @@
{
itemGUIDDict[itemModel.guid] = itemModel;
GetItemEventCtrl(itemModel, showNewItem);
+ if (showNewItem)
+ {
+ CreateItemEvent?.Invoke(itemModel.packType, itemModel.guid);
+ }
}
void DeleteItemDictByGUID(PackType type, string guid)
@@ -428,6 +442,7 @@
if (itemGUIDDict[guid].packType == type)
{
itemGUIDDict.Remove(guid);
+ DeleteItemEvent?.Invoke(type, guid);
}
}
}
diff --git a/Main/System/Main/FuncsBaseWin.cs b/Main/System/Main/FuncsBaseWin.cs
new file mode 100644
index 0000000..94d3429
--- /dev/null
+++ b/Main/System/Main/FuncsBaseWin.cs
@@ -0,0 +1,117 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+/// <summary>
+/// 澶氶〉绛剧晫闈紝绠$悊瀛愮晫闈�
+/// </summary>
+public abstract class FunctionsBaseWin : UIBase
+{
+ // 鏍囩鎸夐挳缁�
+ public Button[] tabButtons;
+
+ // 褰撳墠鎵撳紑鐨勫瓙鐣岄潰
+ protected UIBase currentSubUI;
+
+ /// <summary>
+ /// 鍒濆鍖栫粍浠�
+ /// </summary>
+ protected override void InitComponent()
+ {
+ base.InitComponent();
+
+ // 鍒濆鍖朥I缁勪欢浜嬩欢
+ InitButtonEvents();
+ }
+ protected override void OnPreOpen()
+ {
+ // 榛樿閫変腑绗竴涓爣绛�
+ SelectBottomTab(functionOrder);
+
+ }
+
+ protected override void OnPreClose()
+ {
+ CloseCurrentSubUI();
+ }
+
+
+
+ /// <summary>
+ /// 鍒濆鍖朥I缁勪欢浜嬩欢
+ /// </summary>
+ private void InitButtonEvents()
+ {
+ // 鍒濆鍖栧簳閮ㄦ寜閽�
+ for (int i = 0; i < tabButtons.Length; i++)
+ {
+ int index = i;
+ tabButtons[i].AddListener(() =>
+ {
+ OnTabButtonClicked(index);
+ });
+ }
+
+ }
+
+
+
+ /// <summary>
+ /// 閫夋嫨鏍囩
+ /// </summary>
+ protected void SelectBottomTab(int index)
+ {
+ // 濡傛灉鐐瑰嚮褰撳墠宸查�変腑鐨勬爣绛撅紝涓嶅仛澶勭悊
+ if (functionOrder == index && currentSubUI != null)
+ {
+ return;
+ }
+
+ // 鏇存柊褰撳墠閫変腑鐨勬爣绛剧储寮�
+ functionOrder = index;
+
+ // 鏇存柊鎸夐挳鐘舵��
+ UpdateButtonsState();
+
+ // 鍏抽棴褰撳墠鎵撳紑鐨勫瓙鐣岄潰
+ CloseCurrentSubUI();
+
+ // 鏍规嵁閫変腑鐨勬爣绛炬墦寮�瀵瑰簲鐨勭晫闈�
+ OpenSubUIByTabIndex();
+ }
+
+
+ /// <summary>
+ /// 鍏抽棴褰撳墠鎵撳紑鐨勫瓙鐣岄潰
+ /// </summary>
+ protected void CloseCurrentSubUI()
+ {
+ if (currentSubUI != null)
+ {
+ // 鍏抽棴褰撳墠鐣岄潰
+ currentSubUI.CloseWindow();
+ currentSubUI = null;
+ }
+ }
+
+
+ /// <summary>
+ /// 鏇存柊鎸夐挳鐘舵��
+ /// </summary>
+ protected abstract void UpdateButtonsState();
+
+ /// <summary>
+ /// 鏍规嵁鏍囩绱㈠紩鎵撳紑瀵瑰簲鐨勫瓙鐣岄潰
+ /// </summary>
+ protected abstract void OpenSubUIByTabIndex();
+
+
+ /// <summary>
+ /// 鏍囩鎸夐挳鐐瑰嚮
+ /// </summary>
+ protected virtual void OnTabButtonClicked(int index)
+ {
+ SelectBottomTab(index);
+ }
+}
\ No newline at end of file
diff --git a/Main/System/Hero/HeroInfo.Collection.cs.meta b/Main/System/Main/FuncsBaseWin.cs.meta
similarity index 83%
copy from Main/System/Hero/HeroInfo.Collection.cs.meta
copy to Main/System/Main/FuncsBaseWin.cs.meta
index ea3af75..908b84f 100644
--- a/Main/System/Hero/HeroInfo.Collection.cs.meta
+++ b/Main/System/Main/FuncsBaseWin.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 14fc4e08ba34d504a936ff5d6c2b7c53
+guid: 1faa0cf7a4ac2bf47bf9487e886af510
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Main/HomeWin.cs b/Main/System/Main/HomeWin.cs
index 6fb80c6..e9090b8 100644
--- a/Main/System/Main/HomeWin.cs
+++ b/Main/System/Main/HomeWin.cs
@@ -4,17 +4,10 @@
using UnityEngine.UI;
/// <summary>
-/// 娓告垙涓荤晫闈�
+/// 娓告垙涓荤晫闈紙涓绘垬鏂楀満鏅級
/// </summary>
public class HomeWin : UIBase
{
- //澶村儚鍖�
- [SerializeField] AvatarCell avatarCell;
- [SerializeField] Text playerNameText;
- [SerializeField] Text powerText;
- [SerializeField] OfficialTitleCell officialRankText;
- [SerializeField] Text goldText;
- [SerializeField] Text sparText;
//缁忛獙鍖�
[SerializeField] Text playerLevelText;
@@ -37,7 +30,6 @@
/// </summary>
protected override void InitComponent()
{
- avatarCell.button.AddListener(() => { });
taskButton.AddListener(OnClickTaskButton);
bossBtn.AddListener(() =>
{
@@ -51,7 +43,6 @@
public override void Refresh()
{
UpdatePlayerInfo();
- UpdateCurrency();
UpdateTask();
}
@@ -60,42 +51,32 @@
PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh;
TaskManager.Instance.OnTaskUpdate += UpdateTask;
Refresh();
+ UIManager.Instance.OpenWindow<BattleWin>();
}
+ protected override void OnOpen()
+ {
+ base.OnOpen();
+
+ }
+
protected override void OnPreClose()
{
PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh;
TaskManager.Instance.OnTaskUpdate -= UpdateTask;
+ UIManager.Instance.CloseWindow<BattleWin>();
}
void PlayerDataRefresh(PlayerDataType type)
{
switch (type)
{
- case PlayerDataType.FightPower:
- powerText.text = UIHelper.ReplaceLargeArtNum(PlayerDatas.Instance.baseData.FightPoint);
- break;
- case PlayerDataType.RealmLevel:
- officialRankText.InitUI(PlayerDatas.Instance.baseData.realmLevel, PlayerDatas.Instance.baseData.TitleID);
- break;
case PlayerDataType.TotalExp:
case PlayerDataType.ExpPoint:
ShowExp();
break;
- case PlayerDataType.Gold:
- goldText.text = UIHelper.GetMoneyCntEx(1).ToString();
- break;
- case PlayerDataType.default33:
- sparText.text = UIHelper.GetMoneyCnt(42).ToString();
- break;
case PlayerDataType.LV:
playerLevelText.text = PlayerDatas.Instance.baseData.LV.ToString();
- break;
- case PlayerDataType.Face:
- case PlayerDataType.FacePic:
- avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)PlayerDatas.Instance.baseData.PlayerID,
- PlayerDatas.Instance.baseData.face,
- PlayerDatas.Instance.baseData.facePic));
break;
}
@@ -107,17 +88,7 @@
/// </summary>
private void UpdatePlayerInfo()
{
- // 浠庣帺瀹舵暟鎹腑鑾峰彇淇℃伅骞舵洿鏂癠I
- avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)PlayerDatas.Instance.baseData.PlayerID,
- PlayerDatas.Instance.baseData.face,
- PlayerDatas.Instance.baseData.facePic));
-
- playerNameText.text = PlayerDatas.Instance.baseData.PlayerName;
playerLevelText.text = PlayerDatas.Instance.baseData.LV.ToString();
- powerText.text = UIHelper.ReplaceLargeArtNum(PlayerDatas.Instance.baseData.FightPoint);
-
- officialRankText.InitUI(PlayerDatas.Instance.baseData.realmLevel, PlayerDatas.Instance.baseData.TitleID);
-
ShowExp();
}
@@ -129,14 +100,6 @@
expSlider.Text.text = PlayerDatas.Instance.baseData.curExp + "/" + PlayerLVConfig.Get(PlayerDatas.Instance.baseData.LV).EXP;
}
- /// <summary>
- /// 鏇存柊璐у竵淇℃伅
- /// </summary>
- private void UpdateCurrency()
- {
- goldText.text = UIHelper.GetMoneyCntEx(1).ToString();
- sparText.text = UIHelper.ReplaceLargeNumEx(UIHelper.GetMoneyCnt(42));
- }
void UpdateTask()
{
diff --git a/Main/System/Main/MainWin.cs b/Main/System/Main/MainWin.cs
index dfb7b81..b589ac7 100644
--- a/Main/System/Main/MainWin.cs
+++ b/Main/System/Main/MainWin.cs
@@ -6,57 +6,36 @@
/// <summary>
/// 娓告垙涓荤晫闈㈠簳閮ㄥ姛鑳芥寜閽�
/// </summary>
-public class MainWin : UIBase
+public class MainWin : FunctionsBaseWin
{
- // 搴曢儴鎸夐挳缁�
- public Button[] bottomTabButtons;
+ //澶村儚鍖�
+ [SerializeField] AvatarCell avatarCell;
+ [SerializeField] Text playerNameText;
+ [SerializeField] Text powerText;
+ [SerializeField] OfficialTitleCell officialRankText;
+ [SerializeField] Text goldText;
+ [SerializeField] Text sparText;
public Text hammerText;
-
- // 褰撳墠閫変腑鐨勫簳閮ㄦ爣绛剧储寮�
- private int currentTabIndex = 0;
-
- // 褰撳墠鎵撳紑鐨勫瓙鐣岄潰
- private UIBase currentSubUI;
-
- /// <summary>
- /// 鍒濆鍖栫粍浠�
- /// </summary>
protected override void InitComponent()
{
base.InitComponent();
-
- // 鍒濆鍖朥I缁勪欢浜嬩欢
- InitButtonEvents();
- }
-
- /// <summary>
- /// 鍒濆鍖朥I缁勪欢浜嬩欢
- /// </summary>
- private void InitButtonEvents()
- {
- // 鍒濆鍖栧簳閮ㄦ寜閽�
- for (int i = 0; i < bottomTabButtons.Length; i++)
- {
- int index = i; // 鎹曡幏绱㈠紩
- bottomTabButtons[i].onClick.AddListener(() => {
- OnBottomTabButtonClicked(index);
- });
- }
+
+ avatarCell.button.AddListener(() => { });
}
-
+
public override void Refresh()
{
UpdateCurrency();
+ UpdatePlayerInfo();
}
protected override void OnPreOpen()
{
PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh;
- // 榛樿閫変腑绗竴涓爣绛�
- SelectBottomTab(0);
+ base.OnPreOpen();
// 鍒锋柊UI
Refresh();
@@ -65,29 +44,71 @@
protected override void OnPreClose()
{
PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh;
+ base.OnPreClose();
+ }
+
+
+ /// <summary>
+ /// 鏇存柊鐜╁淇℃伅
+ /// </summary>
+ private void UpdatePlayerInfo()
+ {
+ // 浠庣帺瀹舵暟鎹腑鑾峰彇淇℃伅骞舵洿鏂癠I
+ avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)PlayerDatas.Instance.baseData.PlayerID,
+ PlayerDatas.Instance.baseData.face,
+ PlayerDatas.Instance.baseData.facePic));
+
+ playerNameText.text = PlayerDatas.Instance.baseData.PlayerName;
+ powerText.text = UIHelper.ReplaceLargeArtNum(PlayerDatas.Instance.baseData.FightPoint);
+
+ officialRankText.InitUI(PlayerDatas.Instance.baseData.realmLevel, PlayerDatas.Instance.baseData.TitleID);
}
void PlayerDataRefresh(PlayerDataType type)
{
- if (type == PlayerDataType.default26)
+ switch (type)
{
- UpdateCurrency();
+ case PlayerDataType.FightPower:
+ powerText.text = UIHelper.ReplaceLargeArtNum(PlayerDatas.Instance.baseData.FightPoint);
+ break;
+ case PlayerDataType.RealmLevel:
+ officialRankText.InitUI(PlayerDatas.Instance.baseData.realmLevel, PlayerDatas.Instance.baseData.TitleID);
+ break;
+ case PlayerDataType.Gold:
+ goldText.text = UIHelper.GetMoneyCntEx(1).ToString();
+ break;
+ case PlayerDataType.default33:
+ sparText.text = UIHelper.GetMoneyCnt(42).ToString();
+ break;
+ case PlayerDataType.Face:
+ case PlayerDataType.FacePic:
+ avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)PlayerDatas.Instance.baseData.PlayerID,
+ PlayerDatas.Instance.baseData.face,
+ PlayerDatas.Instance.baseData.facePic));
+ break;
+ case PlayerDataType.default26:
+ hammerText.text = UIHelper.GetMoneyCnt(41).ToString();
+ break;
+
}
+
}
-
+
/// <summary>
/// 鏇存柊璐у竵淇℃伅
/// </summary>
private void UpdateCurrency()
{
hammerText.text = UIHelper.GetMoneyCnt(41).ToString();
+ goldText.text = UIHelper.GetMoneyCntEx(1).ToString();
+ sparText.text = UIHelper.ReplaceLargeNumEx(UIHelper.GetMoneyCnt(42));
}
/// <summary>
/// 搴曢儴鏍囩鎸夐挳鐐瑰嚮
/// </summary>
- private void OnBottomTabButtonClicked(int index)
+ protected override void OnTabButtonClicked(int index)
{
if (index == 0)
{
@@ -99,66 +120,33 @@
SelectBottomTab(index);
}
- /// <summary>
- /// 閫夋嫨搴曢儴鏍囩
- /// </summary>
- private void SelectBottomTab(int index)
- {
- // 濡傛灉鐐瑰嚮褰撳墠宸查�変腑鐨勬爣绛撅紝涓嶅仛澶勭悊
- if (currentTabIndex == index && currentSubUI != null)
- {
- return;
- }
-
- // 鏇存柊褰撳墠閫変腑鐨勬爣绛剧储寮�
- currentTabIndex = index;
-
- // 鏇存柊鎸夐挳鐘舵��
- UpdateButtonsState();
-
- // 鍏抽棴褰撳墠鎵撳紑鐨勫瓙鐣岄潰
- CloseCurrentSubUI();
-
- // 鏍规嵁閫変腑鐨勬爣绛炬墦寮�瀵瑰簲鐨勭晫闈�
- OpenSubUIByTabIndex(index);
- }
+
/// <summary>
/// 鏇存柊鎸夐挳鐘舵��
/// </summary>
- private void UpdateButtonsState()
+ protected override void UpdateButtonsState()
{
// 閬嶅巻鎵�鏈夋寜閽紝璁剧疆閫変腑鐘舵��
- for (int i = 0; i < bottomTabButtons.Length; i++)
- {
+ // for (int i = 0; i < tabButtons.Length; i++)
+ // {
- // bottomTabButtons[i].image.color = (i == currentTabIndex) ? Color.white : Color.gray;
- }
+ // // bottomTabButtons[i].image.color = (i == currentTabIndex) ? Color.white : Color.gray;
+ // }
}
- /// <summary>
- /// 鍏抽棴褰撳墠鎵撳紑鐨勫瓙鐣岄潰
- /// </summary>
- private void CloseCurrentSubUI()
- {
- if (currentSubUI != null)
- {
- // 鍏抽棴褰撳墠鐣岄潰
- currentSubUI.CloseWindow();
- currentSubUI = null;
- }
- }
+
/// <summary>
/// 鏍规嵁鏍囩绱㈠紩鎵撳紑瀵瑰簲鐨勫瓙鐣岄潰
/// </summary>
- private void OpenSubUIByTabIndex(int index)
+ protected override void OpenSubUIByTabIndex()
{
- Debug.Log("鎵撳紑瀛愮晫闈� : " + index);
+ Debug.Log("鎵撳紑瀛愮晫闈� : " + functionOrder);
// 涓诲煄 鍐呮斂 姝﹀皢 鎸戞垬 鍏細
//鏍规嵁绱㈠紩鎵撳紑涓嶅悓鐨勭晫闈�
- switch (index)
+ switch (functionOrder)
{
case 0:
// 鎵撳紑涓婚〉鐣岄潰
@@ -167,24 +155,22 @@
break;
case 1:
// currentSubUI = UIManager.Instance.OpenUI<CharacterUI>();
- Debug.Log("鎵撳紑闃靛鐣岄潰");
+ Debug.Log("鎵撳紑鍐呮斂鐣岄潰");
break;
case 2:
- // currentSubUI = UIManager.Instance.OpenUI<BagUI>();
- Debug.Log("鎵撳紑鍚岀洘鐣岄潰");
+ currentSubUI = UIManager.Instance.OpenWindow<HeroBaseWin>(0);
+ Debug.Log("鎵撳紑姝﹀皢鐣岄潰");
break;
case 3:
// currentSubUI = UIManager.Instance.OpenUI<QuestUI>();
- Debug.Log("鎵撳紑绂忓埄鐣岄潰");
+ Debug.Log("鎵撳紑鎸戞垬鐣岄潰");
break;
case 4:
//currentSubUI = UIManager.Instance.OpenWindow<PlaceWin>();
- Debug.Log("鎵撳紑鍐掗櫓鐣岄潰");
- BattleWin battleWin = UIManager.Instance.OpenWindow<BattleWin>();
- currentSubUI = battleWin;
+ Debug.Log("鎵撳紑鍏細鐣岄潰");
break;
default:
- Debug.LogWarning("鏈煡鐨勬爣绛剧储寮�: " + index);
+ Debug.LogWarning("鏈煡鐨勬爣绛剧储寮�: " + functionOrder);
break;
}
}
diff --git a/Main/System/Tip/PowerAddWin.cs b/Main/System/Tip/PowerAddWin.cs
index 614f78f..10c3b7b 100644
--- a/Main/System/Tip/PowerAddWin.cs
+++ b/Main/System/Tip/PowerAddWin.cs
@@ -18,18 +18,7 @@
[SerializeField] UIFrame uiFrame;
//[SerializeField] List<PowerUpPosition> powerUpPositions;
- [Header("娣″叆鍙樺ぇ")]
- [SerializeField] Vector3 startVector; //璧峰澶у皬
-
- [SerializeField] float fadeInToBigDuration; //娣″叆鍙樺ぇ鍔ㄧ敾瀹屾垚鏃堕棿
- [SerializeField] Ease fadeInToBigEaseType;
- [SerializeField] Vector3 fadeInToBigVector; //娣″叆鍙樺ぇ鐩爣澶у皬
-
- [Header("娣″叆鍙樺皬")]
- [SerializeField] Vector3 fadeInToSmallVector; //娣″叆鍙樺皬鐩爣澶у皬
-
- [SerializeField] float fadeInToSmallDuration; //娣″叆鍙樺皬鍔ㄧ敾瀹屾垚鏃堕棿
- [SerializeField] Ease fadeInToSmallEaseType;
+
[Header("娣″叆鍚庣Щ鍔ㄥ紑濮嬪墠绛夊緟鏃堕棿/s")]
[SerializeField] float moveStartWaitTime;
@@ -53,17 +42,7 @@
[Header("绉诲姩缁撴潫鍚庢贰鍑哄紑濮嬪墠绛夊緟鏃堕棿/s")]
[SerializeField] float moveEndWaitTime;
- [Header("娣″嚭鍙樺ぇ")]
- [SerializeField] Vector3 fadeOutToBigVector; //娣″嚭鍙樺ぇ鐩爣澶у皬
-
- [SerializeField] float fadeOutToBigDuration; //娣″嚭鍙樺ぇ鍔ㄧ敾瀹屾垚鏃堕棿
- [SerializeField] Ease fadeOutToBigEaseType;
-
- [Header("娣″嚭鍙樺皬")]
- [SerializeField] float fadeOutToSmallDuration; //娣″嚭鍙樺皬鍔ㄧ敾瀹屾垚鏃堕棿
-
- [SerializeField] Ease fadeOutToSmallEaseType;
-
+
[Header("鎴樺姏鏁板瓧浣嶇疆璁$畻鐩稿叧")]
[SerializeField] float txtBaseMultiple; //鍓嶇疆鐨勬垬鍔涙暟瀛楀瓧姣嶈窛绂诲�嶆暟
@@ -108,7 +87,15 @@
PlayerMainDate.Instance.AddPowerEvent -= ResetToWaitMove;
}
+ protected override void OnOpenAnimationComplete()
+ {
+ fadeInEndTime = Time.time;
+ nowState = AnimeState.WaitMove;
+ uiFrame.SetActive(true);
+ uiFrame.SetLoopCount(1);
+ uiFrame.ResetFrame(uiFrameKey);
+ }
#endregion
@@ -125,7 +112,7 @@
nowState = AnimeState.Move;
sequence = DOTween.Sequence();
- sequence.Join(transChange.DOMove(new Vector3(txtBase.rectTransform.position.x, transChange.position.y, transChange.position.z) , moveDuration).SetEase(moveEaseType));
+ sequence.Join(transChange.DOMove(new Vector3(txtBase.rectTransform.position.x, transChange.position.y, transChange.position.z), moveDuration).SetEase(moveEaseType));
sequence.Join(txtChange.DOFade(0f, textFadeDuration).SetEase(textFadeEaseType));
sequence.Join(imgArrow.DOFade(0f, textFadeDuration).SetEase(textFadeEaseType));
@@ -168,14 +155,9 @@
}
else if (nowState == AnimeState.WaitFadeOut)
{
- if (Time.time - moveEndTime > moveEndWaitTime)
- {
- nowState = AnimeState.FadeOut;
- fadeOutSequence = DOTween.Sequence();
- fadeOutSequence.Append(transZhanLi.DOScale(fadeOutToBigVector, fadeOutToBigDuration).SetEase(fadeOutToBigEaseType));
- fadeOutSequence.Append(transZhanLi.DOScale(startVector, fadeOutToSmallDuration).SetEase(fadeOutToSmallEaseType).OnComplete(CloseWindow));
- }
+ CloseWindow();
}
+
}
private void ResetToFadeIn()
@@ -186,25 +168,12 @@
uiFrame.SetActive(false);
fadeInEndTime = 0;
moveEndTime = 0;
- transZhanLi.transform.localScale = startVector;
CheckPosition();
SetNum();
SetInitPosition(basePower, changePower, isAdd);
ResetColorA();
DisplayNum();
nowState = AnimeState.FadeIn;
- transZhanLi.DOScale(fadeInToBigVector, fadeInToBigDuration).SetEase(fadeInToBigEaseType).OnComplete(() =>
- {
- transZhanLi.DOScale(fadeInToSmallVector, fadeInToSmallDuration).SetEase(fadeInToSmallEaseType).OnComplete(() =>
- {
- fadeInEndTime = Time.time;
- nowState = AnimeState.WaitMove;
-
- uiFrame.SetActive(true);
- uiFrame.SetLoopCount(1);
- uiFrame.ResetFrame(uiFrameKey);
- });
- });
}
private void ResetToWaitMove()
@@ -215,7 +184,6 @@
uiFrame.SetActive(false);
fadeInEndTime = Time.time;
moveEndTime = 0;
- transZhanLi.transform.localScale = fadeInToSmallVector;
SetNum();
SetInitPosition(basePower, changePower, isAdd);
ResetColorA();
diff --git a/Main/Utility/EnumHelper.cs b/Main/Utility/EnumHelper.cs
index 17754b0..84ede7f 100644
--- a/Main/Utility/EnumHelper.cs
+++ b/Main/Utility/EnumHelper.cs
@@ -721,7 +721,7 @@
default41, // 269 杩囨湡鍨嬩唬閲戝埜
default42, // 270 浠欑紭绉垎
default43, // 271 骞诲闃佺Н鍒�
- default44,
+ default44, // 272 姝﹀皢鎷涘嫙绉垎
default45,
default46,
default47,
diff --git a/Main/Utility/UIHelper.cs b/Main/Utility/UIHelper.cs
index 2827ce4..38c9366 100644
--- a/Main/Utility/UIHelper.cs
+++ b/Main/Utility/UIHelper.cs
@@ -1193,6 +1193,11 @@
//骞诲闃佺Н鍒�
return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.default43);
}
+ case 51:
+ {
+ //姝﹀皢鎷涘嫙绉垎
+ return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.default44);
+ }
case 98:
{
//杩囨湡鍨嬩唬閲戝埜
--
Gitblit v1.8.0