From c9e74fbefbcc3372baaf41ba57a636859ee6034d Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 16 六月 2025 10:25:18 +0800
Subject: [PATCH] 50 【主界面】核心主体
---
Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA74_tagMCActBuyCountGiftInfo.cs.meta | 11
Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0706_tagUseItemSuccess.cs | 27
Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA75_tagMCActBuyCountGiftPlayerInfo.cs.meta | 11
Main/System/CustomizedGift/CustomizedGiftChooseWin.cs | 173 +
Main/Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys.meta | 8
Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA02_tagMCFirstGoldInfo.cs | 21
Main/System/GeneralConfig/DayRemind.cs | 89
Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0605_tagObjAddBuff.cs.meta | 11
Main/System/CustomizedGift/CustomizedItemCell.cs.meta | 11
Main/System/Recharge/RechargeManager.cs.meta | 11
Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0707_tagItemCountRefresh.cs | 31
Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA74_tagMCActBuyCountGiftInfo.cs | 11
Main/System/RoleParticulars/RoleParticularModel.cs | 558 ++++
Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0725_tagRolePackRefreshEx.cs | 54
Main/System/RoleParticulars.meta | 8
Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA75_tagMCActBuyCountGiftPlayerInfo.cs | 19
Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0722_tagItemDeadLockRefresh.cs | 21
Main/System/GeneralConfig/DayRemind.cs.meta | 12
Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA705_tagSCQueryPlayerCacheResult.cs | 13
Main/System/KnapSack/Logic/ItemModel.cs | 3
Main/Config/ConfigBase.cs | 15
Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0709_tagClearItem.cs | 45
Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3A1_tagMCModuleFightPowerInfo.cs | 11
Main/System/CustomizedGift/CustomizedGiftModel.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0606_tagObjDelBuff.cs.meta | 11
Main/Core/NetworkPackage/ClientPack/C07_Item/C070F_tagCItemPackReset.cs | 21
Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA008_tagGCPlayerRecInfo.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0724_tagRolePackCanUseCount.cs | 6
Main/System/OpenServerActivity/OperationTimeHepler.cs | 1135 +++++++++
Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0704_tagRolePackRefresh.cs | 52
Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0612_tagClearObjBuff.cs | 21
Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0612_tagClearObjBuff.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0722_tagItemDeadLockRefresh.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA709_tagObjInfoListRefresh.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0706_tagUseItemSuccess.cs | 54
Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0608_tagNPCDie.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0704_tagRolePackRefresh.cs | 76
Main/System/OpenServerActivity/OpenServerActivityCenter.cs | 206 +
Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA710_tagMCGuideState.cs | 19
Main/System/CustomizedGift/CustomizedRechargeModel.cs.meta | 11
Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0605_tagObjAddBuff.cs.meta | 11
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0111_tagOnlineReply.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0725_tagRolePackRefreshEx.cs | 96
Main/System/OpenServerActivity/OperationBase.cs.meta | 12
Main/System/OpenServerActivity/OperationRechargeGiftAct.cs | 71
Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0608_tagNPCDie.cs | 23
Main/System/CustomizedGift/CustomizedGiftWin.cs | 82
Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0605_tagObjAddBuff.cs | 37
Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction.meta | 8
Main/Core/NetworkPackage/ServerPack/H04_Scene/H0418_tagObjInfoRefresh.cs | 25
Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA008_tagGCPlayerRecInfo.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/H01_System/H0111_tagOnlineReply.cs | 17
Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA02_tagMCFirstGoldInfo.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC.meta | 8
Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0606_tagObjDelBuff.cs | 23
Main/Config/PartialConfigs/OrderInfoConfig.cs | 14
Main/System/OpenServerActivity.meta | 8
Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0724_tagRolePackCanUseCount.cs | 2
Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0608_tagNPCDie.cs | 11
Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA75_tagMCActBuyCountGiftPlayerInfo.cs.meta | 11
Main/Core/NetworkPackage/ClientPack/CC0_CrossRealm/CC002_tagCGViewCrossPlayerInfo.cs | 20
Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0606_tagObjDelBuff.cs | 11
Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0612_tagClearObjBuff.cs | 11
Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA710_tagMCGuideState.cs.meta | 11
Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs | 37
Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA709_tagObjInfoListRefresh.cs | 23
Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity.meta | 8
Main/System/OpenServerActivity/OperationBase.cs | 508 ++++
Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs | 28
Main/Config/Configs/FirstGoldConfig.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/H04_Scene/H0418_tagObjInfoRefresh.cs.meta | 11
Main/System/CustomizedGift/CustomizedGiftChooseCell.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA008_tagGCPlayerRecInfo.cs | 49
Main/Core/NetworkPackage/ClientPack/C07_Item/C070F_tagCItemPackReset.cs.meta | 11
Main/Core/GameEngine/Player/PlayerDatas.cs | 405 ---
Main/Config/Configs/FirstGoldConfig.cs | 41
Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA126_tagCMSelectCTGItem.cs | 20
Main/System/OpenServerActivity/OperationRechargeGiftAct.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA02_tagMCFirstGoldInfo.cs.meta | 11
Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA710_tagMCGuideState.cs | 12
Main/System/CustomizedGift/CustomizedItemCell.cs | 35
Main/Core/NetworkPackage/ServerPack/H01_System/H0111_tagOnlineReply.cs.meta | 11
Main/Core/NetworkPackage/ClientPack/CC0_CrossRealm/CC002_tagCGViewCrossPlayerInfo.cs.meta | 11
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0113_tagServerHeart.cs.meta | 11
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0113_tagServerHeart.cs | 15
Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0722_tagItemDeadLockRefresh.cs | 11
Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA705_tagSCQueryPlayerCacheResult.cs.meta | 11
Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0711_tagClearItemPack.cs | 29
Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0722_tagItemDeadLockRefresh.cs.meta | 11
Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA710_tagMCGuideState.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/H01_System/H0113_tagServerHeart.cs.meta | 11
Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA126_tagCMSelectCTGItem.cs.meta | 11
Main/System/Recharge/RechargeManager.cs | 776 ++++++
Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0605_tagObjAddBuff.cs | 11
Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0707_tagItemCountRefresh.cs | 40
Main/Config/PartialConfigs/OrderInfoConfig.cs.meta | 11
Main/System/CustomizedGift/CustomizedRechargeModel.cs | 179 +
Main/Core/NetworkPackage/ClientPack/CC0_CrossRealm.meta | 8
Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA705_tagSCQueryPlayerCacheResult.cs | 47
Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0709_tagClearItem.cs | 54
Main/System/RoleParticulars/RoleParticularModel.cs.meta | 12
Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0606_tagObjDelBuff.cs.meta | 11
Main/Config/ConfigManager.cs | 561 ++--
Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA008_tagGCPlayerRecInfo.cs | 13
Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA74_tagMCActBuyCountGiftInfo.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA74_tagMCActBuyCountGiftInfo.cs | 61
Main/System/CustomizedGift/CustomizedGiftModel.cs | 205 +
Main/System/CustomizedGift/CustomizedGiftWin.cs.meta | 11
Main/System/KnapSack/Logic/ItemLogicUtility.cs | 38
Main/System/OpenServerActivity/OpenServerActivityCenter.cs.meta | 12
Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC.meta | 8
Main/System/CustomizedGift/CustomizedGiftCell.cs.meta | 11
Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA705_tagSCQueryPlayerCacheResult.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0711_tagClearItemPack.cs | 40
Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA709_tagObjInfoListRefresh.cs | 35
Main/Core/NetworkPackage/ServerPack/H01_System/H0113_tagServerHeart.cs | 17
Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA75_tagMCActBuyCountGiftPlayerInfo.cs | 11
Main/Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys/DTCA110_tagMCCoinToGoldCountInfo.cs | 13
Main/System/CustomizedGift/CustomizedGiftCell.cs | 131 +
Main/System/OpenServerActivity/OperationTimeHepler.cs.meta | 12
Main/Main.cs | 7
Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs | 35
Main/System/CustomizedGift.meta | 8
Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA709_tagObjInfoListRefresh.cs.meta | 11
Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA02_tagMCFirstGoldInfo.cs | 13
Main/Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys/DTCA110_tagMCCoinToGoldCountInfo.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/HA1_Sys.meta | 8
Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0612_tagClearObjBuff.cs.meta | 11
Main/System/CustomizedGift/CustomizedGiftChooseCell.cs | 59
Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3A1_tagMCModuleFightPowerInfo.cs.meta | 11
Main/System/CustomizedGift/CustomizedGiftChooseWin.cs.meta | 11
Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity.meta | 8
Main/Core/NetworkPackage/ClientPack/C07_Item.meta | 8
Main/Core/NetworkPackage/ServerPack/HA1_Sys/HA110_tagMCCoinToGoldCountInfo.cs.meta | 11
Main/System/Recharge.meta | 8
Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0608_tagNPCDie.cs.meta | 11
Main/Core/NetworkPackage/ServerPack/HA1_Sys/HA110_tagMCCoinToGoldCountInfo.cs | 43
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0111_tagOnlineReply.cs | 11
140 files changed, 6,382 insertions(+), 1,047 deletions(-)
diff --git a/Main/Config/ConfigBase.cs b/Main/Config/ConfigBase.cs
index 41f3c51..8e2a816 100644
--- a/Main/Config/ConfigBase.cs
+++ b/Main/Config/ConfigBase.cs
@@ -32,7 +32,20 @@
ConfigManager.Instance.LoadConfigByType(typeof(T));
}
- public List<T> GetValues()
+ public static List<U> GetKeys()
+ {
+ if (!isInit)
+ {
+ Debug.LogError(typeof(U).Name + " 娌℃湁鍒濆鍖� GetKeys");
+ return null; // 鎴栬�呮姏鍑哄紓甯革紝瑙嗘儏鍐佃�屽畾
+ }
+ List<U> result = new List<U>();
+ result.AddRange(dic.Keys);
+ return result;
+ }
+
+
+ public static List<T> GetValues()
{
if (!isInit)
{
diff --git a/Main/Config/ConfigManager.cs b/Main/Config/ConfigManager.cs
index c5c53a9..e241fdd 100644
--- a/Main/Config/ConfigManager.cs
+++ b/Main/Config/ConfigManager.cs
@@ -1,279 +1,282 @@
-using System;
-using System.Collections.Generic;
-using UnityEngine;
-using Cysharp.Threading.Tasks;
-using System.Reflection;
-
-
-public class ConfigManager : ManagerBase<ConfigManager>
-{
- public bool isLoadFinished
- {
- get;
- private set;
- }
-
- private float loadingProgress = 0f;
-
- public override void Init()
- {
- base.Init();
- InitConfigs();
- }
-
- public virtual async UniTask InitConfigs()
- {
- // 鍔犺浇閰嶇疆鏂囦欢
- await LoadConfigs();
- }
-
- protected async UniTask LoadConfigs()
- {
- loadingProgress = 0f;
- isLoadFinished = false;
-
- // 鍔犺浇閰嶇疆鏂囦欢
- int totalConfigs = 48;
- Type[] configTypes = new Type[] {
- typeof(AppointItemConfig),
- typeof(AudioConfig),
- typeof(ChestsAwardConfig),
- typeof(ChestsConfig),
- typeof(CTGConfig),
- typeof(CTGSelectItemConfig),
- typeof(DienstgradConfig),
- typeof(DirtyWordConfig),
- typeof(EffectConfig),
- typeof(EmojiPackConfig),
- typeof(FaceConfig),
- typeof(FamilyConfig),
- typeof(FuncConfigConfig),
- typeof(FuncOpenLVConfig),
- typeof(FunctionTeamSetConfig),
- typeof(GetItemWaysConfig),
- typeof(GmCmdConfig),
- typeof(GuideConfig),
- typeof(HeroAwakeConfig),
- typeof(HeroBreakConfig),
- typeof(HeroConfig),
- typeof(HeroFetterConfig),
- typeof(HeroQualityAwakeConfig),
- typeof(HeroQualityBreakConfig),
- typeof(HeroQualityConfig),
- typeof(HeroSkinConfig),
- typeof(HeroTalentConfig),
- typeof(IconConfig),
- typeof(ItemConfig),
- typeof(KickOutReasonConfig),
- typeof(LanguageConfig),
- typeof(MailConfig),
- typeof(NPCConfig),
- typeof(NPCExConfig),
- typeof(OrderInfoConfig),
- typeof(PlayerFaceConfig),
- typeof(PlayerFacePicConfig),
- typeof(PlayerFacePicStarConfig),
- typeof(PlayerFaceStarConfig),
- typeof(PlayerLVConfig),
- typeof(priorbundleConfig),
- typeof(RichTextMsgReplaceConfig),
- typeof(RuleConfig),
- typeof(SkillConfig),
- typeof(StoreConfig),
- typeof(SuccessConfig),
- typeof(SysInfoConfig),
- typeof(TitleStarUpConfig)
- };
-
- // 閫愪釜鍔犺浇閰嶇疆骞舵洿鏂拌繘搴�
- for (int i = 0; i < configTypes.Length; i++)
- {
- await LoadConfigByType(configTypes[i]);
- loadingProgress = (float)(i + 1) / totalConfigs;
- }
-
- // 鍔犺浇瀹屾垚鍚庤缃甶sLoadFinished涓簍rue
- loadingProgress = 1f;
- isLoadFinished = true;
- }
-
- public async UniTask LoadConfigByType(Type configType)
- {
- string configName = configType.Name;
- if (configName.EndsWith("Config"))
- {
- configName = configName.Substring(0, configName.Length - 6);
- }
- TextAsset textAsset = ResManager.Instance.LoadAsset<TextAsset>("Config", configName);
- if (textAsset != null)
- {
- string[] lines = textAsset.text.Split('\n');
- var methodInfo = configType.GetMethod("Init", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.FlattenHierarchy);
- if (methodInfo != null)
- {
- methodInfo.Invoke(null, new object[] { lines });
- // 璁剧疆鍒濆鍖栨爣蹇�
- var isInitField = configType.GetField("isInit", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
- if (isInitField != null)
- {
- isInitField.SetValue(null, true);
- }
- Debug.Log($"鍔犺浇閰嶇疆: {configType.Name} 鎴愬姛");
- }
- else
- {
- Debug.LogError($"閰嶇疆绫� {configType.Name} 娌℃湁闈欐�両nit鏂规硶");
- }
- }
- else
- {
- Debug.LogError($"鎵句笉鍒伴厤缃枃浠�: {configName}");
- }
- }
-
- private async UniTask LoadConfig<T>() where T : class
- {
- string configName = typeof(T).Name;
-
- TextAsset textAsset = ResManager.Instance.LoadAsset<TextAsset>("Config", configName);
- if (textAsset != null)
- {
- string[] lines = textAsset.text.Split('\n');
- var methodInfo = typeof(T).GetMethod("Init", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);
- if (methodInfo != null)
- {
- methodInfo.Invoke(null, lines);
- // 璁剧疆鍒濆鍖栨爣蹇�
- var isInitField = typeof(T).GetField("isInit", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
- if (isInitField != null)
- {
- isInitField.SetValue(null, true);
- }
- Debug.Log($"鍔犺浇閰嶇疆: {typeof(T).Name} 鎴愬姛");
- }
- else
- {
- Debug.LogError($"閰嶇疆绫� {typeof(T).Name} 娌℃湁闈欐�両nit鏂规硶");
- }
- }
- else
- {
- Debug.LogError($"鎵句笉鍒伴厤缃枃浠�: {configName}");
- }
- }
-
- public float GetLoadingProgress()
- {
- return loadingProgress;
- }
-
- private void ClearConfigDictionary<T>() where T : class
- {
- // 閲嶇疆 T 鍒濆鍖栫姸鎬�
- var isInitField = typeof(T).GetField("isInit", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
- if (isInitField != null)
- {
- isInitField.SetValue(null, false);
- }
- }
-
- public override void Release()
- {
- // 娓呯┖ AppointItemConfig 瀛楀吀
- ClearConfigDictionary<AppointItemConfig>();
- // 娓呯┖ AudioConfig 瀛楀吀
- ClearConfigDictionary<AudioConfig>();
- // 娓呯┖ ChestsAwardConfig 瀛楀吀
- ClearConfigDictionary<ChestsAwardConfig>();
- // 娓呯┖ ChestsConfig 瀛楀吀
- ClearConfigDictionary<ChestsConfig>();
- // 娓呯┖ CTGConfig 瀛楀吀
- ClearConfigDictionary<CTGConfig>();
- // 娓呯┖ CTGSelectItemConfig 瀛楀吀
- ClearConfigDictionary<CTGSelectItemConfig>();
- // 娓呯┖ DienstgradConfig 瀛楀吀
- ClearConfigDictionary<DienstgradConfig>();
- // 娓呯┖ DirtyWordConfig 瀛楀吀
- ClearConfigDictionary<DirtyWordConfig>();
- // 娓呯┖ EffectConfig 瀛楀吀
- ClearConfigDictionary<EffectConfig>();
- // 娓呯┖ EmojiPackConfig 瀛楀吀
- ClearConfigDictionary<EmojiPackConfig>();
- // 娓呯┖ FaceConfig 瀛楀吀
- ClearConfigDictionary<FaceConfig>();
- // 娓呯┖ FamilyConfig 瀛楀吀
- ClearConfigDictionary<FamilyConfig>();
- // 娓呯┖ FuncConfigConfig 瀛楀吀
- ClearConfigDictionary<FuncConfigConfig>();
- // 娓呯┖ FuncOpenLVConfig 瀛楀吀
- ClearConfigDictionary<FuncOpenLVConfig>();
- // 娓呯┖ FunctionTeamSetConfig 瀛楀吀
- ClearConfigDictionary<FunctionTeamSetConfig>();
- // 娓呯┖ GetItemWaysConfig 瀛楀吀
- ClearConfigDictionary<GetItemWaysConfig>();
- // 娓呯┖ GmCmdConfig 瀛楀吀
- ClearConfigDictionary<GmCmdConfig>();
- // 娓呯┖ GuideConfig 瀛楀吀
- ClearConfigDictionary<GuideConfig>();
- // 娓呯┖ HeroAwakeConfig 瀛楀吀
- ClearConfigDictionary<HeroAwakeConfig>();
- // 娓呯┖ HeroBreakConfig 瀛楀吀
- ClearConfigDictionary<HeroBreakConfig>();
- // 娓呯┖ HeroConfig 瀛楀吀
- ClearConfigDictionary<HeroConfig>();
- // 娓呯┖ HeroFetterConfig 瀛楀吀
- ClearConfigDictionary<HeroFetterConfig>();
- // 娓呯┖ HeroQualityAwakeConfig 瀛楀吀
- ClearConfigDictionary<HeroQualityAwakeConfig>();
- // 娓呯┖ HeroQualityBreakConfig 瀛楀吀
- ClearConfigDictionary<HeroQualityBreakConfig>();
- // 娓呯┖ HeroQualityConfig 瀛楀吀
- ClearConfigDictionary<HeroQualityConfig>();
- // 娓呯┖ HeroSkinConfig 瀛楀吀
- ClearConfigDictionary<HeroSkinConfig>();
- // 娓呯┖ HeroTalentConfig 瀛楀吀
- ClearConfigDictionary<HeroTalentConfig>();
- // 娓呯┖ IconConfig 瀛楀吀
- ClearConfigDictionary<IconConfig>();
- // 娓呯┖ ItemConfig 瀛楀吀
- ClearConfigDictionary<ItemConfig>();
- // 娓呯┖ KickOutReasonConfig 瀛楀吀
- ClearConfigDictionary<KickOutReasonConfig>();
- // 娓呯┖ LanguageConfig 瀛楀吀
- ClearConfigDictionary<LanguageConfig>();
- // 娓呯┖ MailConfig 瀛楀吀
- ClearConfigDictionary<MailConfig>();
- // 娓呯┖ NPCConfig 瀛楀吀
- ClearConfigDictionary<NPCConfig>();
- // 娓呯┖ NPCExConfig 瀛楀吀
- ClearConfigDictionary<NPCExConfig>();
- // 娓呯┖ OrderInfoConfig 瀛楀吀
- ClearConfigDictionary<OrderInfoConfig>();
- // 娓呯┖ PlayerFaceConfig 瀛楀吀
- ClearConfigDictionary<PlayerFaceConfig>();
- // 娓呯┖ PlayerFacePicConfig 瀛楀吀
- ClearConfigDictionary<PlayerFacePicConfig>();
- // 娓呯┖ PlayerFacePicStarConfig 瀛楀吀
- ClearConfigDictionary<PlayerFacePicStarConfig>();
- // 娓呯┖ PlayerFaceStarConfig 瀛楀吀
- ClearConfigDictionary<PlayerFaceStarConfig>();
- // 娓呯┖ PlayerLVConfig 瀛楀吀
- ClearConfigDictionary<PlayerLVConfig>();
- // 娓呯┖ priorbundleConfig 瀛楀吀
- ClearConfigDictionary<priorbundleConfig>();
- // 娓呯┖ RichTextMsgReplaceConfig 瀛楀吀
- ClearConfigDictionary<RichTextMsgReplaceConfig>();
- // 娓呯┖ RuleConfig 瀛楀吀
- ClearConfigDictionary<RuleConfig>();
- // 娓呯┖ SkillConfig 瀛楀吀
- ClearConfigDictionary<SkillConfig>();
- // 娓呯┖ StoreConfig 瀛楀吀
- ClearConfigDictionary<StoreConfig>();
- // 娓呯┖ SuccessConfig 瀛楀吀
- ClearConfigDictionary<SuccessConfig>();
- // 娓呯┖ SysInfoConfig 瀛楀吀
- ClearConfigDictionary<SysInfoConfig>();
- // 娓呯┖ TitleStarUpConfig 瀛楀吀
- ClearConfigDictionary<TitleStarUpConfig>();
- }
-}
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+using Cysharp.Threading.Tasks;
+using System.Reflection;
+
+
+public class ConfigManager : ManagerBase<ConfigManager>
+{
+ public bool isLoadFinished
+ {
+ get;
+ private set;
+ }
+
+ private float loadingProgress = 0f;
+
+ public override void Init()
+ {
+ base.Init();
+ InitConfigs();
+ }
+
+ public virtual async UniTask InitConfigs()
+ {
+ // 鍔犺浇閰嶇疆鏂囦欢
+ await LoadConfigs();
+ }
+
+ protected async UniTask LoadConfigs()
+ {
+ loadingProgress = 0f;
+ isLoadFinished = false;
+
+ // 鍔犺浇閰嶇疆鏂囦欢
+ int totalConfigs = 49;
+ Type[] configTypes = new Type[] {
+ typeof(AppointItemConfig),
+ typeof(AudioConfig),
+ typeof(ChestsAwardConfig),
+ typeof(ChestsConfig),
+ typeof(CTGConfig),
+ typeof(CTGSelectItemConfig),
+ typeof(DienstgradConfig),
+ typeof(DirtyWordConfig),
+ typeof(EffectConfig),
+ typeof(EmojiPackConfig),
+ typeof(FaceConfig),
+ typeof(FamilyConfig),
+ typeof(FirstGoldConfig),
+ typeof(FuncConfigConfig),
+ typeof(FuncOpenLVConfig),
+ typeof(FunctionTeamSetConfig),
+ typeof(GetItemWaysConfig),
+ typeof(GmCmdConfig),
+ typeof(GuideConfig),
+ typeof(HeroAwakeConfig),
+ typeof(HeroBreakConfig),
+ typeof(HeroConfig),
+ typeof(HeroFetterConfig),
+ typeof(HeroQualityAwakeConfig),
+ typeof(HeroQualityBreakConfig),
+ typeof(HeroQualityConfig),
+ typeof(HeroSkinConfig),
+ typeof(HeroTalentConfig),
+ typeof(IconConfig),
+ typeof(ItemConfig),
+ typeof(KickOutReasonConfig),
+ typeof(LanguageConfig),
+ typeof(MailConfig),
+ typeof(NPCConfig),
+ typeof(NPCExConfig),
+ typeof(OrderInfoConfig),
+ typeof(PlayerFaceConfig),
+ typeof(PlayerFacePicConfig),
+ typeof(PlayerFacePicStarConfig),
+ typeof(PlayerFaceStarConfig),
+ typeof(PlayerLVConfig),
+ typeof(priorbundleConfig),
+ typeof(RichTextMsgReplaceConfig),
+ typeof(RuleConfig),
+ typeof(SkillConfig),
+ typeof(StoreConfig),
+ typeof(SuccessConfig),
+ typeof(SysInfoConfig),
+ typeof(TitleStarUpConfig)
+ };
+
+ // 閫愪釜鍔犺浇閰嶇疆骞舵洿鏂拌繘搴�
+ for (int i = 0; i < configTypes.Length; i++)
+ {
+ await LoadConfigByType(configTypes[i]);
+ loadingProgress = (float)(i + 1) / totalConfigs;
+ }
+
+ // 鍔犺浇瀹屾垚鍚庤缃甶sLoadFinished涓簍rue
+ loadingProgress = 1f;
+ isLoadFinished = true;
+ }
+
+ public async UniTask LoadConfigByType(Type configType)
+ {
+ string configName = configType.Name;
+ if (configName.EndsWith("Config"))
+ {
+ configName = configName.Substring(0, configName.Length - 6);
+ }
+ TextAsset textAsset = ResManager.Instance.LoadAsset<TextAsset>("Config", configName);
+ if (textAsset != null)
+ {
+ string[] lines = textAsset.text.Split('\n');
+ var methodInfo = configType.GetMethod("Init", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.FlattenHierarchy);
+ if (methodInfo != null)
+ {
+ methodInfo.Invoke(null, new object[] { lines });
+ // 璁剧疆鍒濆鍖栨爣蹇�
+ var isInitField = configType.GetField("isInit", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
+ if (isInitField != null)
+ {
+ isInitField.SetValue(null, true);
+ }
+ Debug.Log($"鍔犺浇閰嶇疆: {configType.Name} 鎴愬姛");
+ }
+ else
+ {
+ Debug.LogError($"閰嶇疆绫� {configType.Name} 娌℃湁闈欐�両nit鏂规硶");
+ }
+ }
+ else
+ {
+ Debug.LogError($"鎵句笉鍒伴厤缃枃浠�: {configName}");
+ }
+ }
+
+ private async UniTask LoadConfig<T>() where T : class
+ {
+ string configName = typeof(T).Name;
+
+ TextAsset textAsset = ResManager.Instance.LoadAsset<TextAsset>("Config", configName);
+ if (textAsset != null)
+ {
+ string[] lines = textAsset.text.Split('\n');
+ var methodInfo = typeof(T).GetMethod("Init", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);
+ if (methodInfo != null)
+ {
+ methodInfo.Invoke(null, lines);
+ // 璁剧疆鍒濆鍖栨爣蹇�
+ var isInitField = typeof(T).GetField("isInit", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
+ if (isInitField != null)
+ {
+ isInitField.SetValue(null, true);
+ }
+ Debug.Log($"鍔犺浇閰嶇疆: {typeof(T).Name} 鎴愬姛");
+ }
+ else
+ {
+ Debug.LogError($"閰嶇疆绫� {typeof(T).Name} 娌℃湁闈欐�両nit鏂规硶");
+ }
+ }
+ else
+ {
+ Debug.LogError($"鎵句笉鍒伴厤缃枃浠�: {configName}");
+ }
+ }
+
+ public float GetLoadingProgress()
+ {
+ return loadingProgress;
+ }
+
+ private void ClearConfigDictionary<T>() where T : class
+ {
+ // 閲嶇疆 T 鍒濆鍖栫姸鎬�
+ var isInitField = typeof(T).GetField("isInit", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
+ if (isInitField != null)
+ {
+ isInitField.SetValue(null, false);
+ }
+ }
+
+ public override void Release()
+ {
+ // 娓呯┖ AppointItemConfig 瀛楀吀
+ ClearConfigDictionary<AppointItemConfig>();
+ // 娓呯┖ AudioConfig 瀛楀吀
+ ClearConfigDictionary<AudioConfig>();
+ // 娓呯┖ ChestsAwardConfig 瀛楀吀
+ ClearConfigDictionary<ChestsAwardConfig>();
+ // 娓呯┖ ChestsConfig 瀛楀吀
+ ClearConfigDictionary<ChestsConfig>();
+ // 娓呯┖ CTGConfig 瀛楀吀
+ ClearConfigDictionary<CTGConfig>();
+ // 娓呯┖ CTGSelectItemConfig 瀛楀吀
+ ClearConfigDictionary<CTGSelectItemConfig>();
+ // 娓呯┖ DienstgradConfig 瀛楀吀
+ ClearConfigDictionary<DienstgradConfig>();
+ // 娓呯┖ DirtyWordConfig 瀛楀吀
+ ClearConfigDictionary<DirtyWordConfig>();
+ // 娓呯┖ EffectConfig 瀛楀吀
+ ClearConfigDictionary<EffectConfig>();
+ // 娓呯┖ EmojiPackConfig 瀛楀吀
+ ClearConfigDictionary<EmojiPackConfig>();
+ // 娓呯┖ FaceConfig 瀛楀吀
+ ClearConfigDictionary<FaceConfig>();
+ // 娓呯┖ FamilyConfig 瀛楀吀
+ ClearConfigDictionary<FamilyConfig>();
+ // 娓呯┖ FirstGoldConfig 瀛楀吀
+ ClearConfigDictionary<FirstGoldConfig>();
+ // 娓呯┖ FuncConfigConfig 瀛楀吀
+ ClearConfigDictionary<FuncConfigConfig>();
+ // 娓呯┖ FuncOpenLVConfig 瀛楀吀
+ ClearConfigDictionary<FuncOpenLVConfig>();
+ // 娓呯┖ FunctionTeamSetConfig 瀛楀吀
+ ClearConfigDictionary<FunctionTeamSetConfig>();
+ // 娓呯┖ GetItemWaysConfig 瀛楀吀
+ ClearConfigDictionary<GetItemWaysConfig>();
+ // 娓呯┖ GmCmdConfig 瀛楀吀
+ ClearConfigDictionary<GmCmdConfig>();
+ // 娓呯┖ GuideConfig 瀛楀吀
+ ClearConfigDictionary<GuideConfig>();
+ // 娓呯┖ HeroAwakeConfig 瀛楀吀
+ ClearConfigDictionary<HeroAwakeConfig>();
+ // 娓呯┖ HeroBreakConfig 瀛楀吀
+ ClearConfigDictionary<HeroBreakConfig>();
+ // 娓呯┖ HeroConfig 瀛楀吀
+ ClearConfigDictionary<HeroConfig>();
+ // 娓呯┖ HeroFetterConfig 瀛楀吀
+ ClearConfigDictionary<HeroFetterConfig>();
+ // 娓呯┖ HeroQualityAwakeConfig 瀛楀吀
+ ClearConfigDictionary<HeroQualityAwakeConfig>();
+ // 娓呯┖ HeroQualityBreakConfig 瀛楀吀
+ ClearConfigDictionary<HeroQualityBreakConfig>();
+ // 娓呯┖ HeroQualityConfig 瀛楀吀
+ ClearConfigDictionary<HeroQualityConfig>();
+ // 娓呯┖ HeroSkinConfig 瀛楀吀
+ ClearConfigDictionary<HeroSkinConfig>();
+ // 娓呯┖ HeroTalentConfig 瀛楀吀
+ ClearConfigDictionary<HeroTalentConfig>();
+ // 娓呯┖ IconConfig 瀛楀吀
+ ClearConfigDictionary<IconConfig>();
+ // 娓呯┖ ItemConfig 瀛楀吀
+ ClearConfigDictionary<ItemConfig>();
+ // 娓呯┖ KickOutReasonConfig 瀛楀吀
+ ClearConfigDictionary<KickOutReasonConfig>();
+ // 娓呯┖ LanguageConfig 瀛楀吀
+ ClearConfigDictionary<LanguageConfig>();
+ // 娓呯┖ MailConfig 瀛楀吀
+ ClearConfigDictionary<MailConfig>();
+ // 娓呯┖ NPCConfig 瀛楀吀
+ ClearConfigDictionary<NPCConfig>();
+ // 娓呯┖ NPCExConfig 瀛楀吀
+ ClearConfigDictionary<NPCExConfig>();
+ // 娓呯┖ OrderInfoConfig 瀛楀吀
+ ClearConfigDictionary<OrderInfoConfig>();
+ // 娓呯┖ PlayerFaceConfig 瀛楀吀
+ ClearConfigDictionary<PlayerFaceConfig>();
+ // 娓呯┖ PlayerFacePicConfig 瀛楀吀
+ ClearConfigDictionary<PlayerFacePicConfig>();
+ // 娓呯┖ PlayerFacePicStarConfig 瀛楀吀
+ ClearConfigDictionary<PlayerFacePicStarConfig>();
+ // 娓呯┖ PlayerFaceStarConfig 瀛楀吀
+ ClearConfigDictionary<PlayerFaceStarConfig>();
+ // 娓呯┖ PlayerLVConfig 瀛楀吀
+ ClearConfigDictionary<PlayerLVConfig>();
+ // 娓呯┖ priorbundleConfig 瀛楀吀
+ ClearConfigDictionary<priorbundleConfig>();
+ // 娓呯┖ RichTextMsgReplaceConfig 瀛楀吀
+ ClearConfigDictionary<RichTextMsgReplaceConfig>();
+ // 娓呯┖ RuleConfig 瀛楀吀
+ ClearConfigDictionary<RuleConfig>();
+ // 娓呯┖ SkillConfig 瀛楀吀
+ ClearConfigDictionary<SkillConfig>();
+ // 娓呯┖ StoreConfig 瀛楀吀
+ ClearConfigDictionary<StoreConfig>();
+ // 娓呯┖ SuccessConfig 瀛楀吀
+ ClearConfigDictionary<SuccessConfig>();
+ // 娓呯┖ SysInfoConfig 瀛楀吀
+ ClearConfigDictionary<SysInfoConfig>();
+ // 娓呯┖ TitleStarUpConfig 瀛楀吀
+ ClearConfigDictionary<TitleStarUpConfig>();
+ }
+}
diff --git a/Main/Config/Configs/FirstGoldConfig.cs b/Main/Config/Configs/FirstGoldConfig.cs
new file mode 100644
index 0000000..4d1cbff
--- /dev/null
+++ b/Main/Config/Configs/FirstGoldConfig.cs
@@ -0,0 +1,41 @@
+锘�//--------------------------------------------------------
+// [Author]: YYL
+// [ Date ]: 2025骞�6鏈�15鏃�
+//--------------------------------------------------------
+
+using System.Collections.Generic;
+using System.IO;
+using System.Threading;
+using System;
+using UnityEngine;
+using LitJson;
+
+public partial class FirstGoldConfig : ConfigBase<int, FirstGoldConfig>
+{
+
+ public int Day;
+ public string JobItemInfo;
+ public string CommItemList;
+
+ 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 Day);
+
+ JobItemInfo = tables[1];
+
+ CommItemList = tables[2];
+ }
+ catch (Exception exception)
+ {
+ Debug.LogError(exception);
+ }
+ }
+}
diff --git a/Main/Config/Configs/FirstGoldConfig.cs.meta b/Main/Config/Configs/FirstGoldConfig.cs.meta
new file mode 100644
index 0000000..c52fb06
--- /dev/null
+++ b/Main/Config/Configs/FirstGoldConfig.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7a18fe9ad1e827a48859432def151470
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Config/PartialConfigs/OrderInfoConfig.cs b/Main/Config/PartialConfigs/OrderInfoConfig.cs
new file mode 100644
index 0000000..a769af4
--- /dev/null
+++ b/Main/Config/PartialConfigs/OrderInfoConfig.cs
@@ -0,0 +1,14 @@
+
+
+public partial class OrderInfoConfig : ConfigBase<int, OrderInfoConfig>
+{
+ //0.1鎶�
+ public float PayRMBNumOnSale
+ {
+ get
+ {
+ return PayRMBNum * 0.01f;
+ }
+ }
+
+}
diff --git a/Main/Config/PartialConfigs/OrderInfoConfig.cs.meta b/Main/Config/PartialConfigs/OrderInfoConfig.cs.meta
new file mode 100644
index 0000000..e2a4103
--- /dev/null
+++ b/Main/Config/PartialConfigs/OrderInfoConfig.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 90b7da475c140514491b78c0f7c3a5a9
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/GameEngine/Player/PlayerDatas.cs b/Main/Core/GameEngine/Player/PlayerDatas.cs
index 2914956..34bb5ac 100644
--- a/Main/Core/GameEngine/Player/PlayerDatas.cs
+++ b/Main/Core/GameEngine/Player/PlayerDatas.cs
@@ -78,74 +78,37 @@
}
}
- public void RefreshPlayerData(/*H0418_tagObjInfoRefresh vNetData*/)
- {
- // UpdatePlayerData(vNetData);
- // //StoreModel.RefreshTCBPlayerData(vNetData);
- // if (playerDataUpdateEvent != null)
- // {
- // playerDataUpdateEvent();
- // }
+ public void RefreshPlayerData(H0418_tagObjInfoRefresh vNetData)
+ {
+ UpdatePlayerData(vNetData);
+ //StoreModel.RefreshTCBPlayerData(vNetData);
+ if (playerDataUpdateEvent != null)
+ {
+ playerDataUpdateEvent();
+ }
}
- private void UpdatePlayerData(int temp/*H0418_tagObjInfoRefresh vNetData*/)
- {
- // if (baseData != null && vNetData.ObjID == baseData.PlayerID)
- // {
- // var deltaValue = -1; //鍙樺寲鍊肩敤浜庡鐞嗚〃鐜�
- // switch ((PlayerDataType)vNetData.RefreshType)
- // {
- // case PlayerDataType.MaxHP:
- // deltaValue = (int)(vNetData.Value + vNetData.ValueEx * Constants.ExpPointValue - extersion.MaxHP);
- // break;
- // case PlayerDataType.MAXATK:
- // deltaValue = (int)(vNetData.Value - extersion.MAXATK);
- // break;
- // case PlayerDataType.MINATK:
- // deltaValue = (int)(vNetData.Value - extersion.MINATK);
- // break;
- // case PlayerDataType.DEF:
- // deltaValue = (int)(vNetData.Value - extersion.DEF);
- // break;
- // case PlayerDataType.HIT:
- // deltaValue = (int)(vNetData.Value - extersion.HIT);
- // break;
- // case PlayerDataType.Miss:
- // deltaValue = (int)(vNetData.Value - extersion.Miss);
- // break;
- // case PlayerDataType.BattleValEx1:
- // deltaValue = (int)(vNetData.Value - extersion.battleValEx1);
- // break;
- // case PlayerDataType.SpeedValue:
- // deltaValue = (int)(vNetData.Value - extersion.SpeedValue);
- // break;
- // default:
- // deltaValue = -1;
- // break;
- // }
-
- // if (deltaValue > 0 && attributePromoteEvent != null)
- // {
- // attributePromoteEvent((PlayerDataType)vNetData.RefreshType, deltaValue);
- // }
-
- // RefreshProperty(vNetData.socketType == ServerType.Main, (PlayerDataType)vNetData.RefreshType, vNetData.Value, vNetData.ValueEx);
-
- // if (PlayerDataDict.ContainsKey((PlayerDataType)vNetData.RefreshType))
- // {
- // PlayerDataDict[(PlayerDataType)vNetData.RefreshType] = vNetData.Value + vNetData.ValueEx * Constants.ExpPointValue;
- // }
- // else
- // {
- // PlayerDataDict.Add((PlayerDataType)vNetData.RefreshType, vNetData.Value + vNetData.ValueEx * Constants.ExpPointValue);
- // }
-
- // if (playerDataRefreshEvent != null)
- // {
- // playerDataRefreshEvent((PlayerDataType)vNetData.RefreshType);
- // }
- // }
+ private void UpdatePlayerData(H0418_tagObjInfoRefresh vNetData)
+ {
+ if (baseData != null && vNetData.ObjID == baseData.PlayerID)
+ {
+ RefreshProperty((PlayerDataType)vNetData.RefreshType, vNetData.Value, vNetData.ValueEx);
+
+ if (PlayerDataDict.ContainsKey((PlayerDataType)vNetData.RefreshType))
+ {
+ PlayerDataDict[(PlayerDataType)vNetData.RefreshType] = vNetData.Value + vNetData.ValueEx * Constants.ExpPointValue;
+ }
+ else
+ {
+ PlayerDataDict.Add((PlayerDataType)vNetData.RefreshType, vNetData.Value + vNetData.ValueEx * Constants.ExpPointValue);
+ }
+
+ if (playerDataRefreshEvent != null)
+ {
+ playerDataRefreshEvent((PlayerDataType)vNetData.RefreshType);
+ }
+ }
}
public void RefreshProperty(PlayerDataType _type, uint value, uint valueEx)
@@ -158,30 +121,10 @@
case PlayerDataType.PlayerID:
baseData.PlayerID = value;
break;
- case PlayerDataType.PlayerName:
- break;
- case PlayerDataType.Sex:
- break;
case PlayerDataType.Job:
baseData.Job = (byte)value;
break;
case PlayerDataType.LV:
- if (baseData.LV != 0 && value > baseData.LV)
- {
- // TODO YYL 鍗囩骇鐗规晥
- // if (hero != null)
- // {
- // if (PlayerDatas.Instance.baseData.MapID == 31080)
- // {
- // SFXPlayUtility.Instance.PlayBattleEffect(1156, hero);
- // }
- // else
- // {
- // SFXPlayUtility.Instance.PlayBattleEffect(1039, hero);
- // }
-
- // }
- }
changeLV = value - baseData.LV;
baseData.LV = (ushort)value;
if (changeLV > 0)
@@ -199,24 +142,6 @@
SDKUtils.Instance.TraceEvent("joinalliance", "", false);
LocalSave.SetInt("FimilyReport" + PlayerDatas.Instance.baseData.PlayerID, 1);
}
- // TODO YYL
- // if (hero != null)
- // {
- // hero.ActorInfo.familyID = value;
- // ReCheckAttackTarget();
- // }
- break;
- case PlayerDataType.TeamHornor:
- break;
- case PlayerDataType.PKValue:
- break;
- case PlayerDataType.FamilyHornor:
- break;
- case PlayerDataType.FamilyActiveValue:
- break;
- case PlayerDataType.CountryHornor:
- break;
- case PlayerDataType.Mate:
break;
case PlayerDataType.Gold:
baseData.diamond = value;
@@ -227,12 +152,6 @@
case PlayerDataType.Silver:
baseData.copper = value;
break;
- case PlayerDataType.SilverPaper:
- break;
- case PlayerDataType.FightPoint:
- break;
- case PlayerDataType.HappyPoint:
- break;
case PlayerDataType.MapID:
baseData.MapID = (ushort)value;
break;
@@ -241,27 +160,6 @@
break;
case PlayerDataType.PosY:
baseData.PosY = (ushort)value;//瑙掕壊鍧愭爣y
- break;
- case PlayerDataType.State:
- break;
- case PlayerDataType.MaxHP:
- extersion.MaxHP = value + valueEx * Constants.ExpPointValue;
- // TODO YYL
- // if (hero != null)
- // {
- // hero.ActorInfo.ResetHp(-1, (long)extersion.MaxHP);
- // }
- break;
- case PlayerDataType.HP:
- baseData.HP = value + valueEx * Constants.ExpPointValue;
- break;
- case PlayerDataType.MaxMP:
- extersion.MaxMP = (int)value;
- break;
-
- case PlayerDataType.HPRestoreSetting:
- break;
- case PlayerDataType.MPRestoreSetting:
break;
case PlayerDataType.ExpRate:
extersion.ExpRate = (int)value;
@@ -293,56 +191,20 @@
case PlayerDataType.MAXATK:
extersion.MAXATK = (int)value;
break;
- case PlayerDataType.MAtkMin:
- break;
- case PlayerDataType.MAtkMax:
- break;
- case PlayerDataType.MDef:
- break;
case PlayerDataType.HIT:
extersion.HIT = (int)value;
- break;
- case PlayerDataType.POISIONATK:
- break;
- case PlayerDataType.FIREATK:
break;
case PlayerDataType.REALATK:
extersion.realATK = (int)value;
break;
- case PlayerDataType.THUNDERATK:
- break;
- case PlayerDataType.WINDATK:
- break;
- case PlayerDataType.POISIONDEF:
- break;
- case PlayerDataType.FIREDEF:
- break;
case PlayerDataType.REALDEF:
extersion.realDEF = (int)value;
- break;
- case PlayerDataType.THUNDERDEF:
- break;
- case PlayerDataType.WINDDEF:
break;
case PlayerDataType.Miss:
extersion.Miss = (int)value;
break;
case PlayerDataType.SuperHit:
extersion.SuperHit = (int)value;
- break;
- case PlayerDataType.Buff:
- break;
- case PlayerDataType.Skill:
- break;
- case PlayerDataType.Mark:
- break;
- case PlayerDataType.SettingH:
- break;
- case PlayerDataType.SettingV:
- break;
- case PlayerDataType.FightPK:
- break;
- case PlayerDataType.ActiveValue:
break;
case PlayerDataType.NameColor:
case PlayerDataType.AtkInterval:
@@ -357,16 +219,8 @@
case PlayerDataType.PickupDist:
extersion.PickupDist = (int)value;
break;
- case PlayerDataType.CountryLastWeekHornor:
- break;
- case PlayerDataType.LastWeekOnlineTime:
- break;
- case PlayerDataType.LastWeekFamilyActiveValue:
- break;
case PlayerDataType.FBID:
baseData.FBID = (byte)value;
- break;
- case PlayerDataType.FamilyLV:
break;
case PlayerDataType.RealMapID:
extersion.RealMapID = (int)value;
@@ -375,12 +229,6 @@
baseData.GMLevel = (byte)value;
break;
case PlayerDataType.TeamID:
- // TODO YYL
- // if (hero != null)
- // {
- // hero.ActorInfo.teamID = value;
- // ReCheckAttackTarget();
- // }
break;
case PlayerDataType.TeamLV:
break;
@@ -388,16 +236,6 @@
baseData.FightPoint = value + valueEx * Constants.ExpPointValue;
// TODO YYL
// ModelCenter.Instance.GetModel<PlayerMainDate>().PowerAdd(baseData.FightPoint);
- break;
- case PlayerDataType.RebornMapID:
- break;
- case PlayerDataType.RebornPosX:
- break;
- case PlayerDataType.RebornPosY:
- break;
- case PlayerDataType.Coin:
- break;
- case PlayerDataType.BillboardLV:
break;
case PlayerDataType.Tick:
#if UNITY_EDITOR
@@ -417,58 +255,15 @@
m_Tick = Environment.TickCount;
break;
- case PlayerDataType.CurrentPlayerType:
- break;
- case PlayerDataType.FriendFavor:
- break;
- case PlayerDataType.BackpackLV:
- break;
- case PlayerDataType.ReincarnationLV:
- break;
- case PlayerDataType.BaseSTR:
- break;
- case PlayerDataType.BasePNE:
- break;
- case PlayerDataType.BasePHY:
- break;
- case PlayerDataType.BaseCON:
- break;
- case PlayerDataType.ReceivedSalary:
- break;
- case PlayerDataType.WarehouseLV:
- break;
case PlayerDataType.EquipShowSwitch:
baseData.equipShowSwitch = value;
- // TODO YYL
-// if (hero != null)
-// {
-// hero.SwitchSuit();
-// hero.ReqLingGenEffect((int)(baseData.equipShowSwitch / 10 % 100), (int)(baseData.equipShowSwitch / 1000 % 1000));
-// hero.horseAwakeId = (int)(value / 1000000);
-// #if UNITY_EDITOR
-// if (hero.horseAwakeId != 0)
-// {
-// Debug.LogFormat("鐜╁楠戝疇瑙夐啋ID鏀瑰彉: {0}", hero.horseAwakeId);
-// }
-// #endif
-// }
+
break;
case PlayerDataType.LuckValue:
extersion.luckValue = (int)value;
break;
case PlayerDataType.ExAttr1:
- // TODO YYL
- // if (hero != null && !hero.ActorInfo.serverDie)
- // {
- // if (hero.aiHandler.IsAuto())
- // {
- // hero.Behaviour.StopHandupAI(true);
- // }
- // }
baseData.ExAttr1 = value;
- // TODO YYL
- // if (baseData.ExAttr1 == 0)
- // assistModel.assistGUID = string.Empty;
break;
case PlayerDataType.ExAttr2:
baseData.teamAutoOperateFlag = value;
@@ -480,111 +275,33 @@
case PlayerDataType.ExAttr4:
baseData.shield = value;
break;
- case PlayerDataType.ExAttr5:
- var oldExAttr5 = baseData.CrossServerFlag;
- baseData.CrossServerFlag = value;
-
- // TODO YYL
- // if (oldExAttr5 > 2 && value <= 2)
- // {
- // if (GameNetSystem.Instance.crossServerConnected_Loigc)
- // {
- // GameNetSystem.Instance.crossServerConnected_Loigc = false;
- // GameNetSystem.Instance.DisconnectCrossServer();
-
- // // TODO YYL
- // // if (hero != null)
- // // {
- // // StatusMgr.Instance.ReleaseActor(hero.ServerInstID);
- // // }
-
- // extersion.pkState = 0;
- // baseData.MapID = baseData.mainServerMapIdRecord;
- // baseData.dungeonLineId = 0;
- // baseData.dungeonMapId = 0;
- // ModelCenter.Instance.GetModel<DungeonModel>().ResetBufData();
-
- // StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
- // {
- // toMapId = baseData.MapID,
- // toLineId = 0,
- // needEmpty = true,
- // needLoadResource = true,
- // isClientLoadMap = true,
- // refreshPlayerDatas = true
- // });
- // }
- // }
- break;
+
case PlayerDataType.Faction:
baseData.faction = value;
- // TODO YYL
- // if (hero != null)
- // {
- // hero.ActorInfo.faction = (int)value;
- // ReCheckAttackTarget();
- // hero.SetFairyLeagueHeadUp(baseData.MapID == FairyLeagueModel.FAIRY_LEAGUE_DUNGEON);
- // }
- break;
- case PlayerDataType.InfamyValue:
break;
case PlayerDataType.RealmLevel:
baseData.realmLevel = (byte)value;
- break;
- case PlayerDataType.IsFindByLabel:
- break;
- case PlayerDataType.IsCloseFriendLabel:
break;
case PlayerDataType.ChangeCoinPointTotal:
baseData.coinPointTotal = value;
break;
case PlayerDataType.VIPLv:
- // TODO YYL
- // if (baseData.VIPLv <= 0 && value > 0)
- // {
- // ModelCenter.Instance.GetModel<SetPrivateModel>().SetVipPushNotify((int)value);
- // }
- // else if (value <= 0)
- // {
- // ModelCenter.Instance.GetModel<SetPrivateModel>().SetVipPushNotify(0);
- // }
baseData.VIPLv = (byte)value;
break;
case PlayerDataType.ExAttr6:
baseData.copperExtend = value;
break;
- case PlayerDataType.ExAttr7:
- baseData.sp = value;
- break;
- case PlayerDataType.ExAttr8:
- baseData.spExtend = value;
- break;
- case PlayerDataType.ExAttr9:
- break;
case PlayerDataType.ExAttr10:
baseData.bubbleId = value;
- break;
- case PlayerDataType.ModelMark:
- break;
- case PlayerDataType.PrizeCoin:
break;
case PlayerDataType.ExAttr11:
baseData.ExAttr11 = value;
break;
- case PlayerDataType.ExAttr12:
- break;
case PlayerDataType.ExAttr13:
baseData.ServerGroupId = value;
break;
- case PlayerDataType.ExAttr14:
- break;
case PlayerDataType.BattleValEx1:
extersion.battleValEx1 = (int)value;
- // TODO YYL
- // if (hero != null)
- // {
- // hero.CalculateAtkSpeed((ushort)extersion.battleValEx1);
- // }
break;
case PlayerDataType.BattleValEx3:
extersion.battleValEx3 = (int)value;
@@ -606,12 +323,6 @@
break;
case PlayerDataType.RuneSplinters:
extersion.runeEssence = (int)value;
- break;
- case PlayerDataType.FamilyContribution:
- // TODO YYL
- // method.CepaContribution((int)value);
- break;
- case PlayerDataType.FamilyStoreScore:
break;
case PlayerDataType.SuperHitReduce:
extersion.SuperHitReduce = (int)value;
@@ -636,13 +347,6 @@
break;
case PlayerDataType.SpeedValue:
extersion.SpeedValue = (int)value;
- // TODO YYL
- // if (hero != null)
- // {
- // hero.CalculateMoveSpeed((ushort)extersion.SpeedValue);
- // }
- break;
- case PlayerDataType.DamagePVE:
break;
case PlayerDataType.PetDamPer:
extersion.PetDamPer = (int)value;
@@ -697,42 +401,9 @@
break;
case PlayerDataType.PlayerPKState:
extersion.pkState = (int)value;
- // TODO YYL
-
- // if (baseData.MapID != 31220
- // && baseData.MapID != 32030
- // && baseData.MapID != 22030)
- // {
- // if (hero != null)
- // {
- // if (value == 1)
- // {
- // if (MapArea.IsOutMapArea(hero.CurMapArea, MapArea.E_Type.Neutral))
- // {
- // hero.SwitchGrayName(true);
- // }
- // }
- // else if (value == 0)
- // {
- // hero.SwitchGrayName(false);
- // if (StatusMgr.Instance.IsExist(PlayerId, StatusMgr.Instance.redNameBuffID))
- // {
- // hero.SwitchRedName(true);
- // }
- // }
- // }
- // }
break;
case PlayerDataType.IsAttackBossState:
extersion.bossState = (int)value;
- // TODO YYL
- // if (hero != null)
- // {
- // if (extersion.bossState == 0)
- // {
- // hero.atkBossID = 0;
- // }
- // }
break;
case PlayerDataType.BasicsMinimum:
baseData.BasicsMinimum = (int)value;
@@ -778,14 +449,7 @@
case PlayerDataType.CDBPlayerRefresh_TalentPoint:
extersion.talentPoint = (int)value;
break;
- case PlayerDataType.CDBPlayerRefresh_GodWeaponLV_1:
- break;
- case PlayerDataType.CDBPlayerRefresh_GodWeaponLV_2:
- break;
- case PlayerDataType.CDBPlayerRefresh_GodWeaponLV_3:
- break;
- case PlayerDataType.CDBPlayerRefresh_GodWeaponLV_4:
- break;
+
case PlayerDataType.CDBPlayerRefresh_SoulDust:
extersion.soulDust = value;
break;
@@ -837,13 +501,6 @@
case PlayerDataType.CDBPlayerRefresh_FinalHurtReducePer:
baseData.reduceFinalHurt = (int)value;
break;
- case PlayerDataType.CDBPlayerRefresh_YinjiTime:
- baseData.yinjiTime = (int)value;
- break;
- case PlayerDataType.CDBPlayerRefresh_YinjiCount:
- baseData.yinjiCount = (int)value;
- break;
-
case PlayerDataType.CDBPlayerRefresh_SkillAddPerA:
baseData.skillAddPerA = (int)value;
break;
diff --git a/Main/Core/NetworkPackage/ClientPack/C07_Item.meta b/Main/Core/NetworkPackage/ClientPack/C07_Item.meta
new file mode 100644
index 0000000..4d88337
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/C07_Item.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3f1fe023f8649e74d80e82731aa1fc06
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ClientPack/C07_Item/C070F_tagCItemPackReset.cs b/Main/Core/NetworkPackage/ClientPack/C07_Item/C070F_tagCItemPackReset.cs
new file mode 100644
index 0000000..ce73a45
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/C07_Item/C070F_tagCItemPackReset.cs
@@ -0,0 +1,21 @@
+using UnityEngine;
+using System.Collections;
+
+//07 0F 鑳屽寘閲嶆暣#tagCItemPackReset//瀵规�ц兘鏈夋瘮杈冨ぇ鐨勫奖鍝�
+
+public class C070F_tagCItemPackReset : GameNetPackBasic {
+ public byte Type; //鑳屽寘绫诲瀷
+ public ushort ItemBeginIndex; //鐗╁搧璧峰绱㈠紩
+ public ushort ItemEndIndex; //鐗╁搧缁撴潫绱㈠紩
+
+ public C070F_tagCItemPackReset () {
+ _cmd = (ushort)0x070F;
+ }
+
+ public override void WriteToBytes () {
+ WriteBytes (Type, NetDataType.BYTE);
+ WriteBytes (ItemBeginIndex, NetDataType.WORD);
+ WriteBytes (ItemEndIndex, NetDataType.WORD);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ClientPack/C07_Item/C070F_tagCItemPackReset.cs.meta b/Main/Core/NetworkPackage/ClientPack/C07_Item/C070F_tagCItemPackReset.cs.meta
new file mode 100644
index 0000000..0458499
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/C07_Item/C070F_tagCItemPackReset.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 834e17ffd6028e144b0392a7a6797a4d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA126_tagCMSelectCTGItem.cs b/Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA126_tagCMSelectCTGItem.cs
new file mode 100644
index 0000000..4033e49
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA126_tagCMSelectCTGItem.cs
@@ -0,0 +1,20 @@
+using UnityEngine;
+using System.Collections;
+
+// A1 26 鍏呭�艰嚜閫夌墿鍝侀�夋嫨 #tagCMSelectCTGItem
+
+public class CA126_tagCMSelectCTGItem : GameNetPackBasic {
+ public ushort RecordID; //鍏呭�糏D
+ public uint SelectItemValue; // 鑷�夌墿鍝佺储寮曞�硷紝姣忎袱浣嶅瓨鍌ㄦ瘡涓嚜閫夌储寮曞搴旈�夋嫨鐨勭墿鍝佺储寮�+1锛屽瓨鍌ㄤ綅鍊间负0浠h〃鏈�夋嫨锛屾渶澶氭敮鎸侀�夋嫨4绉嶇墿鍝�
+
+ public CA126_tagCMSelectCTGItem () {
+ combineCmd = (ushort)0x03FE;
+ _cmd = (ushort)0xA126;
+ }
+
+ public override void WriteToBytes () {
+ WriteBytes (RecordID, NetDataType.WORD);
+ WriteBytes (SelectItemValue, NetDataType.DWORD);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA126_tagCMSelectCTGItem.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA126_tagCMSelectCTGItem.cs.meta
new file mode 100644
index 0000000..7df4842
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA126_tagCMSelectCTGItem.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 31a8a659914874a4eb17680e441f666f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ClientPack/CC0_CrossRealm.meta b/Main/Core/NetworkPackage/ClientPack/CC0_CrossRealm.meta
new file mode 100644
index 0000000..0ecae9a
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/CC0_CrossRealm.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 37394482328657c438bd99896822f165
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ClientPack/CC0_CrossRealm/CC002_tagCGViewCrossPlayerInfo.cs b/Main/Core/NetworkPackage/ClientPack/CC0_CrossRealm/CC002_tagCGViewCrossPlayerInfo.cs
new file mode 100644
index 0000000..b24dbbe
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/CC0_CrossRealm/CC002_tagCGViewCrossPlayerInfo.cs
@@ -0,0 +1,20 @@
+using UnityEngine;
+using System.Collections;
+
+// C0 02 鏌ョ湅璺ㄦ湇鐜╁淇℃伅 #tagCGViewCrossPlayerInfo
+
+public class CC002_tagCGViewCrossPlayerInfo : GameNetPackBasic {
+ public uint PlayerID; // 璺ㄦ湇鐜╁ID
+ public byte EquipClassLV; //澶т簬0涓烘煡鐪嬫寚瀹氬鐣岄樁瑁呭淇℃伅, 0涓烘煡鐪嬮粯璁や俊鎭�
+
+ public CC002_tagCGViewCrossPlayerInfo () {
+ combineCmd = (ushort)0x03FE;
+ _cmd = (ushort)0xC002;
+ }
+
+ public override void WriteToBytes () {
+ WriteBytes (PlayerID, NetDataType.DWORD);
+ WriteBytes (EquipClassLV, NetDataType.BYTE);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ClientPack/CC0_CrossRealm/CC002_tagCGViewCrossPlayerInfo.cs.meta b/Main/Core/NetworkPackage/ClientPack/CC0_CrossRealm/CC002_tagCGViewCrossPlayerInfo.cs.meta
new file mode 100644
index 0000000..32ad980
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/CC0_CrossRealm/CC002_tagCGViewCrossPlayerInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 836f0e335de27464f9299c7c3e61c140
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0111_tagOnlineReply.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0111_tagOnlineReply.cs
new file mode 100644
index 0000000..411184d
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0111_tagOnlineReply.cs
@@ -0,0 +1,11 @@
+using UnityEngine;
+using System.Collections;
+
+//01 11 鍦ㄧ嚎鍥炲簲鍥炴姤#tagOnlineReply
+
+public class DTC0111_tagOnlineReply : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ H0111_tagOnlineReply vNetData = vNetPack as H0111_tagOnlineReply;
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0111_tagOnlineReply.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0111_tagOnlineReply.cs.meta
new file mode 100644
index 0000000..a52b3dd
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0111_tagOnlineReply.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a92f24a06dfc50949a89412aadcf0162
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0113_tagServerHeart.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0113_tagServerHeart.cs
new file mode 100644
index 0000000..2b7334a
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0113_tagServerHeart.cs
@@ -0,0 +1,15 @@
+using UnityEngine;
+using System.Collections;
+
+//01 13 鏈嶅姟鍣ㄥ績璺冲寘#tagServerHeart
+
+public class DTC0113_tagServerHeart : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+
+ var sendInfo = new C0104_tagCOnlineReturn();
+ sendInfo.Type = 0;
+
+ GameNetSystem.Instance.SendInfo(sendInfo);// 鍦ㄧ嚎鍥炲簲
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0113_tagServerHeart.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0113_tagServerHeart.cs.meta
new file mode 100644
index 0000000..8be8344
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0113_tagServerHeart.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 234311ac6166110479dc7cd4163bcf9a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs
new file mode 100644
index 0000000..a417869
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs
@@ -0,0 +1,28 @@
+using UnityEngine;
+using System.Collections;
+using static UnityEditor.Experimental.GraphView.GraphView;
+
+//04 18 鍛ㄥ洿瀵硅薄鍒锋柊#tagObjInfoRefresh
+
+public class DTC0418_tagObjInfoRefresh : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ H0418_tagObjInfoRefresh vNetData = vNetPack as H0418_tagObjInfoRefresh;
+ Update0418(vNetData);
+ }
+
+
+ public static void Update0418(H0418_tagObjInfoRefresh vNetData)
+ {
+ if (PlayerDatas.Instance.PlayerId == vNetData.ObjID)
+ {
+
+ PlayerDatas.Instance.RefreshPlayerData(vNetData);
+ }
+ else
+ {
+ //鍏朵粬鐜╁鏁版嵁锛屽鏋滈渶瑕佸悓鍦烘櫙澶勭悊
+ //_player.UpdateData(vNetData);
+ }
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs.meta
new file mode 100644
index 0000000..9846c47
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d93a49a087b45eb41b342b24c16e78bc
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC.meta
new file mode 100644
index 0000000..8a406c6
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6f4d48045afbd124bbeb89c4bc71706d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0605_tagObjAddBuff.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0605_tagObjAddBuff.cs
new file mode 100644
index 0000000..fefa5a6
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0605_tagObjAddBuff.cs
@@ -0,0 +1,11 @@
+using UnityEngine;
+using System.Collections;
+
+//06 05 瀵硅薄澧炲姞Buf#tagObjAddBuff
+
+public class DTC0605_tagObjAddBuff : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ H0605_tagObjAddBuff vNetData = vNetPack as H0605_tagObjAddBuff;
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0605_tagObjAddBuff.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0605_tagObjAddBuff.cs.meta
new file mode 100644
index 0000000..41346b9
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0605_tagObjAddBuff.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ab22a1e1dbaa6804ba19406c7ad3437c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0606_tagObjDelBuff.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0606_tagObjDelBuff.cs
new file mode 100644
index 0000000..8f80850
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0606_tagObjDelBuff.cs
@@ -0,0 +1,11 @@
+using UnityEngine;
+using System.Collections;
+
+//06 06 瀵硅薄鍑忓皯Buf#tagObjDelBuff
+
+public class DTC0606_tagObjDelBuff : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ H0606_tagObjDelBuff vNetData = vNetPack as H0606_tagObjDelBuff;
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0606_tagObjDelBuff.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0606_tagObjDelBuff.cs.meta
new file mode 100644
index 0000000..c06ac8f
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0606_tagObjDelBuff.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 15cb5f876af39584590fb067a6f11bc2
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0608_tagNPCDie.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0608_tagNPCDie.cs
new file mode 100644
index 0000000..e23b6fa
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0608_tagNPCDie.cs
@@ -0,0 +1,11 @@
+using UnityEngine;
+using System.Collections;
+
+//06 08 NPC姝讳骸#tagNPCDie
+
+public class DTC0608_tagNPCDie : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ H0608_tagNPCDie vNetData = vNetPack as H0608_tagNPCDie;
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0608_tagNPCDie.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0608_tagNPCDie.cs.meta
new file mode 100644
index 0000000..7ffc8ae
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0608_tagNPCDie.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ad2de856034e58348812209c01a12b49
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0612_tagClearObjBuff.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0612_tagClearObjBuff.cs
new file mode 100644
index 0000000..f93d605
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0612_tagClearObjBuff.cs
@@ -0,0 +1,11 @@
+using UnityEngine;
+using System.Collections;
+
+//06 12 鏍规嵁绫诲瀷娓呯┖瀵硅薄鐨刡uff#tagClearObjBuff
+
+public class DTC0612_tagClearObjBuff : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ H0612_tagClearObjBuff vNetData = vNetPack as H0612_tagClearObjBuff;
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0612_tagClearObjBuff.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0612_tagClearObjBuff.cs.meta
new file mode 100644
index 0000000..62c00ca
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0612_tagClearObjBuff.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4013d80ce79674c47962d9eb7de9e33b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0704_tagRolePackRefresh.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0704_tagRolePackRefresh.cs
index 2f56c40..b2e560e 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0704_tagRolePackRefresh.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0704_tagRolePackRefresh.cs
@@ -1,39 +1,13 @@
-using UnityEngine;
-using System.Collections;
-
-//07 04 锟斤拷锟角憋拷锟斤拷刷锟斤拷#tagRolePackRefresh
-
-
-
-public class DTC0704_tagRolePackRefresh : DtcBasic
-{
- public override void Done(GameNetPackBasic vNetPack)
- {
- base.Done(vNetPack);
- H0704_tagRolePackRefresh vNetData = vNetPack as H0704_tagRolePackRefresh;
- PackManager.Instance.UpdateItem(vNetData);
-
- // if (vNetData.PackType == 1)
- // {
- // var _hero = PlayerDatas.Instance.hero;
- // if (_hero != null)
- // {
- // _hero.PutonEquip(vNetData.ItemID);
-
- // if (vNetData.ItemPlace == 5)
- // {
- // if (vNetData.UserDataLen > 0)
- // {
- // var _jsonData = LitJson.JsonMapper.ToObject(vNetData.UserData);
- // if ((_jsonData as IDictionary).Contains("210"))
- // {
- // _hero.horseAwakeId = int.Parse(_jsonData["210"][0].ToString());
- // }
- // }
- // }
- // }
- // }
- }
-
-}
-
+using UnityEngine;
+using System.Collections;
+
+//07 04 涓昏鑳屽寘鍒锋柊#tagRolePackRefresh
+
+public class DTC0704_tagRolePackRefresh : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack)
+ {
+ base.Done(vNetPack);
+ H0704_tagRolePackRefresh vNetData = vNetPack as H0704_tagRolePackRefresh;
+ PackManager.Instance.UpdateItem(vNetData);
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0706_tagUseItemSuccess.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0706_tagUseItemSuccess.cs
index 1bed9d8..b6e00cb 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0706_tagUseItemSuccess.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0706_tagUseItemSuccess.cs
@@ -1,14 +1,13 @@
-using UnityEngine;
-using System.Collections;
-
-//07 06 锟斤拷锟绞癸拷锟斤拷锟狡凤拷晒锟�#tagUseItemSuccess
-public class DTC0706_tagUseItemSuccess : DtcBasic
-{
- public override void Done(GameNetPackBasic vNetPack)
- {
- base.Done(vNetPack);
- H0706_tagUseItemSuccess vNetData = vNetPack as H0706_tagUseItemSuccess;
- PackManager.Instance.UseItemSuccess(vNetData);
- }
-}
-
+using UnityEngine;
+using System.Collections;
+
+//07 06 鐜╁浣跨敤鐗╁搧鎴愬姛#tagUseItemSuccess
+
+public class DTC0706_tagUseItemSuccess : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack)
+ {
+ base.Done(vNetPack);
+ H0706_tagUseItemSuccess vNetData = vNetPack as H0706_tagUseItemSuccess;
+ PackManager.Instance.UseItemSuccess(vNetData);
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0707_tagItemCountRefresh.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0707_tagItemCountRefresh.cs
index 5a6810d..b291653 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0707_tagItemCountRefresh.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0707_tagItemCountRefresh.cs
@@ -1,18 +1,13 @@
-using UnityEngine;
-using System.Collections;
-
-//07 07 锟斤拷品锟斤拷锟斤拷刷锟斤拷#tagItemCountRefresh
-
-
-public class DTC0707_tagItemCountRefresh : DtcBasic
-{
- public override void Done(GameNetPackBasic vNetPack)
- {
- base.Done(vNetPack);
- H0707_tagItemCountRefresh vNetData = vNetPack as H0707_tagItemCountRefresh;
- Debug.Log(707 + "刷锟斤拷锟斤拷锟斤拷");
- PackManager.Instance.RefreshItemCount(vNetData);
- }
-
-}
-
+using UnityEngine;
+using System.Collections;
+
+//07 07 鐗╁搧鏁伴噺鍒锋柊#tagItemCountRefresh
+
+public class DTC0707_tagItemCountRefresh : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack)
+ {
+ base.Done(vNetPack);
+ H0707_tagItemCountRefresh vNetData = vNetPack as H0707_tagItemCountRefresh;
+ PackManager.Instance.RefreshItemCount(vNetData);
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0709_tagClearItem.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0709_tagClearItem.cs
index c70ced1..3713c9d 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0709_tagClearItem.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0709_tagClearItem.cs
@@ -1,32 +1,13 @@
-using UnityEngine;
-using System.Collections;
-
-//07 09 锟斤拷锟斤拷锟狡�#tagClearItem
-
-
-
-public class DTC0709_tagClearItem : DtcBasic
-{
- /** 删锟斤拷锟斤拷品锟铰硷拷锟斤拷锟斤拷 */
- public delegate void ItemChangeHandler(int type, int index);
- public static event ItemChangeHandler ItemChangeEvent;
- public override void Done(GameNetPackBasic vNetPack)
- {
- base.Done(vNetPack);
-
- H0709_tagClearItem vNetData = vNetPack as H0709_tagClearItem;
- PackManager.Instance.RemoveItem(vNetData);
-
- // if (vNetData.PackType == 1)
- // {
- // var _hero = PlayerDatas.Instance.hero;
- // if (_hero != null)
- // {
- // _hero.TakeoffEquip(vNetData.ItemIndex);
- // }
- // }
-
- }
-
-}
-
+using UnityEngine;
+using System.Collections;
+
+//07 09 娓呯┖鐗╁搧#tagClearItem
+
+public class DTC0709_tagClearItem : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack)
+ {
+ base.Done(vNetPack);
+ H0709_tagClearItem vNetData = vNetPack as H0709_tagClearItem;
+ PackManager.Instance.RemoveItem(vNetData);
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0711_tagClearItemPack.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0711_tagClearItemPack.cs
index 47176d8..fc2743a 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0711_tagClearItemPack.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0711_tagClearItemPack.cs
@@ -1,16 +1,13 @@
-using UnityEngine;
-using System.Collections;
-//07 11 锟斤拷毡锟斤拷锟�#tagClearItemPack
-
-
-public class DTC0711_tagClearItemPack : DtcBasic
-{
- public override void Done(GameNetPackBasic vNetPack)
- {
- base.Done(vNetPack);
- H0711_tagClearItemPack vNetData = vNetPack as H0711_tagClearItemPack;
- PackManager.Instance.ClearPack(vNetData);
- }
-
-}
-
+using UnityEngine;
+using System.Collections;
+
+//07 11 娓呯┖鑳屽寘#tagClearItemPack
+
+public class DTC0711_tagClearItemPack : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack)
+ {
+ base.Done(vNetPack);
+ H0711_tagClearItemPack vNetData = vNetPack as H0711_tagClearItemPack;
+ PackManager.Instance.ClearPack(vNetData);
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0722_tagItemDeadLockRefresh.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0722_tagItemDeadLockRefresh.cs
new file mode 100644
index 0000000..b646c97
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0722_tagItemDeadLockRefresh.cs
@@ -0,0 +1,11 @@
+using UnityEngine;
+using System.Collections;
+
+//07 22 鐗╁搧姝婚攣#tagItemDeadLockRefresh
+
+public class DTC0722_tagItemDeadLockRefresh : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ H0722_tagItemDeadLockRefresh vNetData = vNetPack as H0722_tagItemDeadLockRefresh;
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0722_tagItemDeadLockRefresh.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0722_tagItemDeadLockRefresh.cs.meta
new file mode 100644
index 0000000..ab42701
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0722_tagItemDeadLockRefresh.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f7951045c8334c6488c40a5ffe71765d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0724_tagRolePackCanUseCount.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0724_tagRolePackCanUseCount.cs
index 146cc34..8664df0 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0724_tagRolePackCanUseCount.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0724_tagRolePackCanUseCount.cs
@@ -1,7 +1,7 @@
using UnityEngine;
using System.Collections;
-//07 24 锟斤拷锟角憋拷锟斤拷锟窖匡拷锟斤拷锟斤拷锟斤拷#tagRolePackCanUseCount
+//07 24 涓昏鑳屽寘宸插紑鍚牸鏁�#tagRolePackCanUseCount
public class DTC0724_tagRolePackCanUseCount : DtcBasic
{
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0725_tagRolePackRefreshEx.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0725_tagRolePackRefreshEx.cs
index ded66fb..38d5319 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0725_tagRolePackRefreshEx.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0725_tagRolePackRefreshEx.cs
@@ -1,41 +1,13 @@
-using UnityEngine;
-using System.Collections;
-
-//07 25 锟斤拷锟角憋拷锟斤拷刷锟铰o拷通知锟斤拷锟斤拷锟斤拷品锟斤拷 #tagRolePackRefreshEx
-
-
-
-public class DTC0725_tagRolePackRefreshEx : DtcBasic
-{
- public override void Done(GameNetPackBasic vNetPack)
- {
- base.Done(vNetPack);
- H0725_tagRolePackRefreshEx vNetData = vNetPack as H0725_tagRolePackRefreshEx;
- PackManager.Instance.UpdatePack(vNetData);
-
- // if (vNetData.PackType == 1)
- // {
- // if (vNetData.ItemCount > 0)
- // {
- // foreach (var _item in vNetData.ItemInfo)
- // {
- // var _hero = PlayerDatas.Instance.hero;
- // if (_hero != null)
- // {
- // _hero.PutonEquip(_item.ItemID);
-
- // if (_item.UserDataLen > 0)
- // {
- // var _jsonData = LitJson.JsonMapper.ToObject(_item.UserData);
- // if ((_jsonData as IDictionary).Contains("210"))
- // {
- // _hero.horseAwakeId = int.Parse(_jsonData["210"][0].ToString());
- // }
- // }
- // }
- // }
- // }
- // }
- }
-}
-
+using UnityEngine;
+using System.Collections;
+
+//07 25 涓昏鑳屽寘鍒锋柊锛堥�氱煡鎵�鏈夌墿鍝侊級 #tagRolePackRefreshEx
+
+public class DTC0725_tagRolePackRefreshEx : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack)
+ {
+ base.Done(vNetPack);
+ H0725_tagRolePackRefreshEx vNetData = vNetPack as H0725_tagRolePackRefreshEx;
+ PackManager.Instance.UpdatePack(vNetData);
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA008_tagGCPlayerRecInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA008_tagGCPlayerRecInfo.cs
new file mode 100644
index 0000000..c70bd77
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA008_tagGCPlayerRecInfo.cs
@@ -0,0 +1,13 @@
+using UnityEngine;
+using System.Collections;
+
+// A0 08 鐜╁璁板綍淇℃伅 #tagGCPlayerRecInfo
+
+public class DTCA008_tagGCPlayerRecInfo : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack)
+ {
+ base.Done(vNetPack);
+ HA008_tagGCPlayerRecInfo vNetData = vNetPack as HA008_tagGCPlayerRecInfo;
+ RechargeManager.Instance.UpdatePlayerRecInfoVoucher(vNetData);
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA008_tagGCPlayerRecInfo.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA008_tagGCPlayerRecInfo.cs.meta
new file mode 100644
index 0000000..a94516d
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA008_tagGCPlayerRecInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e292325c9eafc4d41847142a9dc0b2fb
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys.meta
new file mode 100644
index 0000000..fdbbdb8
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6b59c021a2ffe494cb68dcad02eb0942
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys/DTCA110_tagMCCoinToGoldCountInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys/DTCA110_tagMCCoinToGoldCountInfo.cs
new file mode 100644
index 0000000..c0ada81
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys/DTCA110_tagMCCoinToGoldCountInfo.cs
@@ -0,0 +1,13 @@
+using UnityEngine;
+using System.Collections;
+
+// A1 10 鍏呭�艰喘涔版鏁颁俊鎭� #tagMCCoinToGoldCountInfo
+
+public class DTCA110_tagMCCoinToGoldCountInfo : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack)
+ {
+ base.Done(vNetPack);
+ HA110_tagMCCoinToGoldCountInfo vNetData = vNetPack as HA110_tagMCCoinToGoldCountInfo;
+ RechargeManager.Instance.UpdateRechargeCount(vNetData);
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys/DTCA110_tagMCCoinToGoldCountInfo.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys/DTCA110_tagMCCoinToGoldCountInfo.cs.meta
new file mode 100644
index 0000000..78ba005
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys/DTCA110_tagMCCoinToGoldCountInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d2b26239e01df3847b56b1d116cef75d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3A1_tagMCModuleFightPowerInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3A1_tagMCModuleFightPowerInfo.cs
new file mode 100644
index 0000000..2a8a353
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3A1_tagMCModuleFightPowerInfo.cs
@@ -0,0 +1,11 @@
+using UnityEngine;
+using System.Collections;
+
+//A3 A1 鍚勫姛鑳芥ā鍧楁垬鏂楀姏淇℃伅 #tagMCModuleFightPowerInfo
+
+public class DTCA3A1_tagMCModuleFightPowerInfo : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ HA3A1_tagMCModuleFightPowerInfo vNetData = vNetPack as HA3A1_tagMCModuleFightPowerInfo;
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3A1_tagMCModuleFightPowerInfo.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3A1_tagMCModuleFightPowerInfo.cs.meta
new file mode 100644
index 0000000..936d0f5
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3A1_tagMCModuleFightPowerInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 28bea9968bf0d0e4e942a2872db6ae39
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction.meta
new file mode 100644
index 0000000..fe4287c
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c8217f0911245984f9db8fcdeb70c7bb
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA705_tagSCQueryPlayerCacheResult.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA705_tagSCQueryPlayerCacheResult.cs
new file mode 100644
index 0000000..5a6623a
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA705_tagSCQueryPlayerCacheResult.cs
@@ -0,0 +1,13 @@
+using UnityEngine;
+using System.Collections;
+
+//A7 05 鏌ヨ鐜╁璇︾粏淇℃伅缁撴灉#tagSCQueryPlayerCacheResult
+
+public class DTCA705_tagSCQueryPlayerCacheResult : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack)
+ {
+ base.Done(vNetPack);
+ HA705_tagSCQueryPlayerCacheResult vNetData = vNetPack as HA705_tagSCQueryPlayerCacheResult;
+ RoleParticularModel.Instance.OnRevRoleEquip(vNetData);
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA705_tagSCQueryPlayerCacheResult.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA705_tagSCQueryPlayerCacheResult.cs.meta
new file mode 100644
index 0000000..688f8e6
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA705_tagSCQueryPlayerCacheResult.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e87ee89663569794cb9bd1b839e461c5
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA709_tagObjInfoListRefresh.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA709_tagObjInfoListRefresh.cs
new file mode 100644
index 0000000..cf3f607
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA709_tagObjInfoListRefresh.cs
@@ -0,0 +1,23 @@
+using UnityEngine;
+using System.Collections;
+
+//A7 09 鍛ㄥ洿瀵硅薄鍒锋柊鍚堝苟鍖� #tagObjInfoListRefresh
+
+public class DTCA709_tagObjInfoListRefresh : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ HA709_tagObjInfoListRefresh vNetData = vNetPack as HA709_tagObjInfoListRefresh;
+
+ for (int i = 0; i < vNetData.Count; i++)
+ {
+ var data = new H0418_tagObjInfoRefresh();
+ data.socketType = vNetData.socketType;
+ data.ObjID = vNetData.ObjID;
+ data.ObjType = vNetData.ObjType;
+ data.RefreshType = vNetData.RefreshType[i].RefreshType;
+ data.Value = vNetData.RefreshType[i].Value;
+ data.ValueEx = vNetData.RefreshType[i].ValueEx;
+ DTC0418_tagObjInfoRefresh.Update0418(data);
+ }
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA709_tagObjInfoListRefresh.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA709_tagObjInfoListRefresh.cs.meta
new file mode 100644
index 0000000..f562bfd
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA709_tagObjInfoListRefresh.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2abe2d82a9f9e564a9cad936d1314294
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA710_tagMCGuideState.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA710_tagMCGuideState.cs
new file mode 100644
index 0000000..dab5532
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA710_tagMCGuideState.cs
@@ -0,0 +1,12 @@
+using UnityEngine;
+using System.Collections;
+
+// A7 10 寮曞鐘舵�佽褰� #tagMCGuideState
+
+public class DTCA710_tagMCGuideState : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ HA710_tagMCGuideState vNetData = vNetPack as HA710_tagMCGuideState;
+ //NewBieCenter.Instance.ResetGuideRecords(vNetData.GuideState);
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA710_tagMCGuideState.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA710_tagMCGuideState.cs.meta
new file mode 100644
index 0000000..4b36b57
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA710_tagMCGuideState.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bd2d4f2c6ed22394eba955a35b713e4a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity.meta
new file mode 100644
index 0000000..0e16d66
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 33eb8c07250563944acb58984ae81c60
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA02_tagMCFirstGoldInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA02_tagMCFirstGoldInfo.cs
new file mode 100644
index 0000000..7ac6f48
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA02_tagMCFirstGoldInfo.cs
@@ -0,0 +1,13 @@
+using UnityEngine;
+using System.Collections;
+
+// AA 02 棣栧厖淇℃伅 #tagMCFirstGoldInfo
+
+public class DTCAA02_tagMCFirstGoldInfo : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack)
+ {
+ base.Done(vNetPack);
+ HAA02_tagMCFirstGoldInfo vNetData = vNetPack as HAA02_tagMCFirstGoldInfo;
+ RechargeManager.Instance.UpdateFirstChargeReward(vNetData);
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA02_tagMCFirstGoldInfo.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA02_tagMCFirstGoldInfo.cs.meta
new file mode 100644
index 0000000..6477a20
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA02_tagMCFirstGoldInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 56da7e3109f052e46860b1ed27323ab4
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA74_tagMCActBuyCountGiftInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA74_tagMCActBuyCountGiftInfo.cs
new file mode 100644
index 0000000..b235a3c
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA74_tagMCActBuyCountGiftInfo.cs
@@ -0,0 +1,11 @@
+using UnityEngine;
+using System.Collections;
+
+// AA 74 璐拱娆℃暟绀煎寘娲诲姩淇℃伅 #tagMCActBuyCountGiftInfo
+
+public class DTCAA74_tagMCActBuyCountGiftInfo : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ HAA74_tagMCActBuyCountGiftInfo vNetData = vNetPack as HAA74_tagMCActBuyCountGiftInfo;
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA74_tagMCActBuyCountGiftInfo.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA74_tagMCActBuyCountGiftInfo.cs.meta
new file mode 100644
index 0000000..3db36e8
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA74_tagMCActBuyCountGiftInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d3377004fadeadd49b4d48473ffcf291
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA75_tagMCActBuyCountGiftPlayerInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA75_tagMCActBuyCountGiftPlayerInfo.cs
new file mode 100644
index 0000000..c56d5d7
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA75_tagMCActBuyCountGiftPlayerInfo.cs
@@ -0,0 +1,11 @@
+using UnityEngine;
+using System.Collections;
+
+// AA 75 璐拱娆℃暟绀煎寘娲诲姩鐜╁淇℃伅 #tagMCActBuyCountGiftPlayerInfo
+
+public class DTCAA75_tagMCActBuyCountGiftPlayerInfo : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ HAA75_tagMCActBuyCountGiftPlayerInfo vNetData = vNetPack as HAA75_tagMCActBuyCountGiftPlayerInfo;
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA75_tagMCActBuyCountGiftPlayerInfo.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA75_tagMCActBuyCountGiftPlayerInfo.cs.meta
new file mode 100644
index 0000000..a13051d
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA75_tagMCActBuyCountGiftPlayerInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 74a099c825926fd4ab7edd9c1c40f26f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs b/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
index 9e65324..761726b 100644
--- a/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
+++ b/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
@@ -31,16 +31,39 @@
{
// 鐧昏鐩稿簲鐨勬暟鎹綋鍙婂搴旂殑鏁版嵁杞�昏緫绫�
Register(typeof(H0102_tagCDBPlayer), typeof(DTC0102_tagCDBPlayer));
- Register(typeof(HA004_tagServerDateTime), typeof(DTCA004_tagServerDateTime));
- Register(typeof(HA005_tagOpenServerDay), typeof(DTCA005_tagOpenServerDay));
- Register(typeof(H0403_tagPlayerLoginLoadOK), typeof(DTC0403_tagPlayerLoginLoadOK));
- Register(typeof(H0101_tagServerPrepared), typeof(DTC0101_tagServerPrepared));
- Register(typeof(H0104_tagServerDisconnect), typeof(DTC0104_tagServerDisconnect));
-
-
+ Register(typeof(HA004_tagServerDateTime), typeof(DTCA004_tagServerDateTime));
+ Register(typeof(HA005_tagOpenServerDay), typeof(DTCA005_tagOpenServerDay));
+ Register(typeof(H0403_tagPlayerLoginLoadOK), typeof(DTC0403_tagPlayerLoginLoadOK));
+ Register(typeof(H0101_tagServerPrepared), typeof(DTC0101_tagServerPrepared));
+ Register(typeof(H0104_tagServerDisconnect), typeof(DTC0104_tagServerDisconnect));
+ Register(typeof(H0724_tagRolePackCanUseCount), typeof(DTC0724_tagRolePackCanUseCount));
+ Register(typeof(H0725_tagRolePackRefreshEx), typeof(DTC0725_tagRolePackRefreshEx));
+ Register(typeof(H0704_tagRolePackRefresh), typeof(DTC0704_tagRolePackRefresh));
+ Register(typeof(H0706_tagUseItemSuccess), typeof(DTC0706_tagUseItemSuccess));
+ Register(typeof(H0707_tagItemCountRefresh), typeof(DTC0707_tagItemCountRefresh));
+ Register(typeof(H0709_tagClearItem), typeof(DTC0709_tagClearItem));
+ Register(typeof(H0711_tagClearItemPack), typeof(DTC0711_tagClearItemPack));
+ Register(typeof(HA204_tagMCVPackRefresh), typeof(DTCA204_tagMCVPackRefresh));
+ Register(typeof(HA205_tagMCVPackClear), typeof(DTCA205_tagMCVPackClear));
+ Register(typeof(HA206_tagMCAutoItemCountRefresh), typeof(DTCA206_tagMCAutoItemCountRefresh));
+ Register(typeof(HA710_tagMCGuideState), typeof(DTCA710_tagMCGuideState));
+ Register(typeof(H0418_tagObjInfoRefresh), typeof(DTC0418_tagObjInfoRefresh));
+ Register(typeof(HA709_tagObjInfoListRefresh), typeof(DTCA709_tagObjInfoListRefresh));
+ Register(typeof(H0113_tagServerHeart), typeof(DTC0113_tagServerHeart));
+ Register(typeof(H0111_tagOnlineReply), typeof(DTC0111_tagOnlineReply));
+ Register(typeof(H0605_tagObjAddBuff), typeof(DTC0605_tagObjAddBuff));
+ Register(typeof(H0606_tagObjDelBuff), typeof(DTC0606_tagObjDelBuff));
+ Register(typeof(H0608_tagNPCDie), typeof(DTC0608_tagNPCDie));
+ Register(typeof(H0612_tagClearObjBuff), typeof(DTC0612_tagClearObjBuff));
+ Register(typeof(HA3A1_tagMCModuleFightPowerInfo), typeof(DTCA3A1_tagMCModuleFightPowerInfo));
+ Register(typeof(HA110_tagMCCoinToGoldCountInfo), typeof(DTCA110_tagMCCoinToGoldCountInfo));
+ Register(typeof(HA008_tagGCPlayerRecInfo), typeof(DTCA008_tagGCPlayerRecInfo));
+ Register(typeof(HAA02_tagMCFirstGoldInfo), typeof(DTCAA02_tagMCFirstGoldInfo));
}
+
+
//涓诲伐绋嬫敞鍐屽皝鍖�
public static void Register(Type _pack, Type _business)
{
diff --git a/Main/Core/NetworkPackage/ServerPack/H01_System/H0111_tagOnlineReply.cs b/Main/Core/NetworkPackage/ServerPack/H01_System/H0111_tagOnlineReply.cs
new file mode 100644
index 0000000..d283e40
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H01_System/H0111_tagOnlineReply.cs
@@ -0,0 +1,17 @@
+using UnityEngine;
+using System.Collections;
+
+//01 11 鍦ㄧ嚎鍥炲簲鍥炴姤#tagOnlineReply
+
+public class H0111_tagOnlineReply : GameNetPackBasic {
+ public byte Type;
+
+ public H0111_tagOnlineReply () {
+ _cmd = (ushort)0x0111;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out Type, vBytes, NetDataType.BYTE);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/H01_System/H0111_tagOnlineReply.cs.meta b/Main/Core/NetworkPackage/ServerPack/H01_System/H0111_tagOnlineReply.cs.meta
new file mode 100644
index 0000000..21a6f51
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H01_System/H0111_tagOnlineReply.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 41e333eb338c59e4d93e35333a55ba19
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/H01_System/H0113_tagServerHeart.cs b/Main/Core/NetworkPackage/ServerPack/H01_System/H0113_tagServerHeart.cs
new file mode 100644
index 0000000..9799c6b
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H01_System/H0113_tagServerHeart.cs
@@ -0,0 +1,17 @@
+using UnityEngine;
+using System.Collections;
+
+//01 13 鏈嶅姟鍣ㄥ績璺冲寘#tagServerHeart
+
+public class H0113_tagServerHeart : GameNetPackBasic {
+ public byte Type;
+
+ public H0113_tagServerHeart () {
+ _cmd = (ushort)0x0113;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out Type, vBytes, NetDataType.BYTE);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/H01_System/H0113_tagServerHeart.cs.meta b/Main/Core/NetworkPackage/ServerPack/H01_System/H0113_tagServerHeart.cs.meta
new file mode 100644
index 0000000..67357a1
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H01_System/H0113_tagServerHeart.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 11abd8c3d3508a54eb32ea1697c7f03c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/H04_Scene/H0418_tagObjInfoRefresh.cs b/Main/Core/NetworkPackage/ServerPack/H04_Scene/H0418_tagObjInfoRefresh.cs
new file mode 100644
index 0000000..1cb8bf5
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H04_Scene/H0418_tagObjInfoRefresh.cs
@@ -0,0 +1,25 @@
+using UnityEngine;
+using System.Collections;
+
+//04 18 鍛ㄥ洿瀵硅薄鍒锋柊#tagObjInfoRefresh
+
+public class H0418_tagObjInfoRefresh : GameNetPackBasic {
+ public uint ObjID;
+ public byte ObjType;
+ public ushort RefreshType;
+ public uint Value;
+ public uint ValueEx;
+
+ public H0418_tagObjInfoRefresh () {
+ _cmd = (ushort)0x0418;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out ObjID, vBytes, NetDataType.DWORD);
+ TransBytes (out ObjType, vBytes, NetDataType.BYTE);
+ TransBytes (out RefreshType, vBytes, NetDataType.WORD);
+ TransBytes (out Value, vBytes, NetDataType.DWORD);
+ TransBytes (out ValueEx, vBytes, NetDataType.DWORD);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/H04_Scene/H0418_tagObjInfoRefresh.cs.meta b/Main/Core/NetworkPackage/ServerPack/H04_Scene/H0418_tagObjInfoRefresh.cs.meta
new file mode 100644
index 0000000..eafd390
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H04_Scene/H0418_tagObjInfoRefresh.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 71d0294c4a4ae834c9f72b44f8d71cab
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC.meta b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC.meta
new file mode 100644
index 0000000..dc66aab
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ed2af882bf8f9d24a9e74b720a181ed6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0605_tagObjAddBuff.cs b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0605_tagObjAddBuff.cs
new file mode 100644
index 0000000..f15875d
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0605_tagObjAddBuff.cs
@@ -0,0 +1,37 @@
+using UnityEngine;
+using System.Collections;
+
+//06 05 瀵硅薄澧炲姞Buf#tagObjAddBuff
+
+public class H0605_tagObjAddBuff : GameNetPackBasic {
+ public byte ObjType; //buff鐨勫彈鏁堟灉鑰�
+ public uint ObjID;
+ public byte BuffType; //Buff绫诲瀷 TBuffType
+ public ushort SkillID;
+ public uint LastTime;
+ public uint Value;
+ public uint Value1;
+ public uint Value2;
+ public byte Layer; //灞傛暟锛屼笉闇�瑕侀粯璁�0
+ public uint OwnerID; // buff鏉ユ簮鑰�
+ public byte OwnerType;
+
+ public H0605_tagObjAddBuff () {
+ _cmd = (ushort)0x0605;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out ObjType, vBytes, NetDataType.BYTE);
+ TransBytes (out ObjID, vBytes, NetDataType.DWORD);
+ TransBytes (out BuffType, vBytes, NetDataType.BYTE);
+ TransBytes (out SkillID, vBytes, NetDataType.WORD);
+ TransBytes (out LastTime, vBytes, NetDataType.DWORD);
+ TransBytes (out Value, vBytes, NetDataType.DWORD);
+ TransBytes (out Value1, vBytes, NetDataType.DWORD);
+ TransBytes (out Value2, vBytes, NetDataType.DWORD);
+ TransBytes (out Layer, vBytes, NetDataType.BYTE);
+ TransBytes (out OwnerID, vBytes, NetDataType.DWORD);
+ TransBytes (out OwnerType, vBytes, NetDataType.BYTE);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0605_tagObjAddBuff.cs.meta b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0605_tagObjAddBuff.cs.meta
new file mode 100644
index 0000000..16feec2
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0605_tagObjAddBuff.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6f36552c258dcd14fb30a3366bb16cf1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0606_tagObjDelBuff.cs b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0606_tagObjDelBuff.cs
new file mode 100644
index 0000000..1490618
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0606_tagObjDelBuff.cs
@@ -0,0 +1,23 @@
+using UnityEngine;
+using System.Collections;
+
+//06 06 瀵硅薄鍑忓皯Buf#tagObjDelBuff
+
+public class H0606_tagObjDelBuff : GameNetPackBasic {
+ public byte ObjType;
+ public uint ObjID;
+ public byte BuffType;
+ public ushort SkillID;
+
+ public H0606_tagObjDelBuff () {
+ _cmd = (ushort)0x0606;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out ObjType, vBytes, NetDataType.BYTE);
+ TransBytes (out ObjID, vBytes, NetDataType.DWORD);
+ TransBytes (out BuffType, vBytes, NetDataType.BYTE);
+ TransBytes (out SkillID, vBytes, NetDataType.WORD);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0606_tagObjDelBuff.cs.meta b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0606_tagObjDelBuff.cs.meta
new file mode 100644
index 0000000..1d33f0c
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0606_tagObjDelBuff.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b98c2ae3ef253814189edb8d9fe00b5a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0608_tagNPCDie.cs b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0608_tagNPCDie.cs
new file mode 100644
index 0000000..f0f300d
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0608_tagNPCDie.cs
@@ -0,0 +1,23 @@
+using UnityEngine;
+using System.Collections;
+
+//06 08 NPC姝讳骸#tagNPCDie
+
+public class H0608_tagNPCDie : GameNetPackBasic {
+ public uint ObjID;
+ public uint Reason;
+ public byte KillerType;
+ public uint KillerID;
+
+ public H0608_tagNPCDie () {
+ _cmd = (ushort)0x0608;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out ObjID, vBytes, NetDataType.DWORD);
+ TransBytes (out Reason, vBytes, NetDataType.DWORD);
+ TransBytes (out KillerType, vBytes, NetDataType.BYTE);
+ TransBytes (out KillerID, vBytes, NetDataType.DWORD);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0608_tagNPCDie.cs.meta b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0608_tagNPCDie.cs.meta
new file mode 100644
index 0000000..90edbfc
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0608_tagNPCDie.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1799fc498eb2730439e8bcc3d8d8ee57
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0612_tagClearObjBuff.cs b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0612_tagClearObjBuff.cs
new file mode 100644
index 0000000..7b6a377
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0612_tagClearObjBuff.cs
@@ -0,0 +1,21 @@
+using UnityEngine;
+using System.Collections;
+
+//06 12 鏍规嵁绫诲瀷娓呯┖瀵硅薄鐨刡uff#tagClearObjBuff
+
+public class H0612_tagClearObjBuff : GameNetPackBasic {
+ public byte ObjType;
+ public uint ObjID;
+ public byte BuffType; //buff绫诲瀷
+
+ public H0612_tagClearObjBuff () {
+ _cmd = (ushort)0x0612;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out ObjType, vBytes, NetDataType.BYTE);
+ TransBytes (out ObjID, vBytes, NetDataType.DWORD);
+ TransBytes (out BuffType, vBytes, NetDataType.BYTE);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0612_tagClearObjBuff.cs.meta b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0612_tagClearObjBuff.cs.meta
new file mode 100644
index 0000000..1ee56e9
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H06_PlayerVsNPC/H0612_tagClearObjBuff.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: aa4427250f1a828469c5baba3c29682a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0704_tagRolePackRefresh.cs b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0704_tagRolePackRefresh.cs
index ef2e04d..4fad8d6 100644
--- a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0704_tagRolePackRefresh.cs
+++ b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0704_tagRolePackRefresh.cs
@@ -1,39 +1,39 @@
-using UnityEngine;
-using System.Collections;
+using UnityEngine;
+using System.Collections;
+
+//07 04 涓昏鑳屽寘鍒锋柊#tagRolePackRefresh
-//07 04 主角背包刷新#tagRolePackRefresh
-
-public class H0704_tagRolePackRefresh : GameNetPackBasic {
- public byte PackType; //背包类型:rptItem, rptEquip, rptWarehouse
- public byte ItemPlace;
- public uint ItemID;
- public byte IsLocked; //是否锁定
- public ushort ItemCount; //物品数量
- public byte IsBind; //是否绑定
- public uint GearScore; //评分
- public uint RemainHour; //剩余时间(小时)
- public byte IsSuite; //是否已经套装化
- public uint UserDataLen;
- public string UserData; //size = UserDataLen
- public string ItemGUID;
-
- public H0704_tagRolePackRefresh () {
- _cmd = (ushort)0x0704;
- }
-
- public override void ReadFromBytes (byte[] vBytes) {
- TransBytes (out PackType, vBytes, NetDataType.BYTE);
- TransBytes (out ItemPlace, vBytes, NetDataType.BYTE);
- TransBytes (out ItemID, vBytes, NetDataType.DWORD);
- TransBytes (out IsLocked, vBytes, NetDataType.BYTE);
- TransBytes (out ItemCount, vBytes, NetDataType.WORD);
- TransBytes (out IsBind, vBytes, NetDataType.BYTE);
- TransBytes (out GearScore, vBytes, NetDataType.DWORD);
- TransBytes (out RemainHour, vBytes, NetDataType.DWORD);
- TransBytes (out IsSuite, vBytes, NetDataType.BYTE);
- TransBytes (out UserDataLen, vBytes, NetDataType.DWORD);
- TransBytes (out UserData, vBytes, NetDataType.Chars, UserDataLen);
- TransBytes (out ItemGUID, vBytes, NetDataType.Chars, 40);
- }
-
-}
+public class H0704_tagRolePackRefresh : GameNetPackBasic {
+ public byte PackType; //鑳屽寘绫诲瀷:rptItem, rptEquip, rptWarehouse
+ public byte ItemPlace;
+ public uint ItemID;
+ public byte IsLocked; //鏄惁閿佸畾
+ public ushort ItemCount; //鐗╁搧鏁伴噺
+ public byte IsBind; //鏄惁缁戝畾
+ public uint GearScore; //璇勫垎
+ public uint RemainHour; //鍓╀綑鏃堕棿(灏忔椂)
+ public byte IsSuite; //鏄惁宸茬粡濂楄鍖�
+ public uint UserDataLen;
+ public string UserData; //size = UserDataLen
+ public string ItemGUID;
+
+ public H0704_tagRolePackRefresh () {
+ _cmd = (ushort)0x0704;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out PackType, vBytes, NetDataType.BYTE);
+ TransBytes (out ItemPlace, vBytes, NetDataType.BYTE);
+ TransBytes (out ItemID, vBytes, NetDataType.DWORD);
+ TransBytes (out IsLocked, vBytes, NetDataType.BYTE);
+ TransBytes (out ItemCount, vBytes, NetDataType.WORD);
+ TransBytes (out IsBind, vBytes, NetDataType.BYTE);
+ TransBytes (out GearScore, vBytes, NetDataType.DWORD);
+ TransBytes (out RemainHour, vBytes, NetDataType.DWORD);
+ TransBytes (out IsSuite, vBytes, NetDataType.BYTE);
+ TransBytes (out UserDataLen, vBytes, NetDataType.DWORD);
+ TransBytes (out UserData, vBytes, NetDataType.Chars, UserDataLen);
+ TransBytes (out ItemGUID, vBytes, NetDataType.Chars, 40);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0706_tagUseItemSuccess.cs b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0706_tagUseItemSuccess.cs
index ca693a9..e52a967 100644
--- a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0706_tagUseItemSuccess.cs
+++ b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0706_tagUseItemSuccess.cs
@@ -1,39 +1,21 @@
using UnityEngine;
using System.Collections;
-//07 06 玩家使用物品成功#tagUseItemSuccess
-
-
-
-public class H0706_tagUseItemSuccess : GameNetPackBasic {
-
- public uint PlayerID;
-
- public uint ItemID;
-
- public byte ItemIndex;
-
-
-
- public H0706_tagUseItemSuccess () {
-
- _cmd = (ushort)0x0706;
-
- }
-
-
-
- public override void ReadFromBytes (byte[] vBytes) {
-
- TransBytes (out PlayerID, vBytes, NetDataType.DWORD);
-
- TransBytes (out ItemID, vBytes, NetDataType.DWORD);
-
- TransBytes (out ItemIndex, vBytes, NetDataType.BYTE);
-
- }
-
-
-
-}
-
+//07 06 鐜╁浣跨敤鐗╁搧鎴愬姛#tagUseItemSuccess
+
+public class H0706_tagUseItemSuccess : GameNetPackBasic {
+ public uint PlayerID;
+ public uint ItemID;
+ public byte ItemIndex;
+
+ public H0706_tagUseItemSuccess () {
+ _cmd = (ushort)0x0706;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out PlayerID, vBytes, NetDataType.DWORD);
+ TransBytes (out ItemID, vBytes, NetDataType.DWORD);
+ TransBytes (out ItemIndex, vBytes, NetDataType.BYTE);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0707_tagItemCountRefresh.cs b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0707_tagItemCountRefresh.cs
index a93367c..8135aef 100644
--- a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0707_tagItemCountRefresh.cs
+++ b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0707_tagItemCountRefresh.cs
@@ -1,21 +1,21 @@
-using UnityEngine;
-using System.Collections;
+using UnityEngine;
+using System.Collections;
+
+//07 07 鐗╁搧鏁伴噺鍒锋柊#tagItemCountRefresh
-//07 07 物品数量刷新#tagItemCountRefresh
-
-public class H0707_tagItemCountRefresh : GameNetPackBasic {
- public byte PackType;
- public byte ItemIndex;
- public ushort ItemCount;
-
- public H0707_tagItemCountRefresh () {
- _cmd = (ushort)0x0707;
- }
-
- public override void ReadFromBytes (byte[] vBytes) {
- TransBytes (out PackType, vBytes, NetDataType.BYTE);
- TransBytes (out ItemIndex, vBytes, NetDataType.BYTE);
- TransBytes (out ItemCount, vBytes, NetDataType.WORD);
- }
-
-}
+public class H0707_tagItemCountRefresh : GameNetPackBasic {
+ public byte PackType;
+ public byte ItemIndex;
+ public ushort ItemCount;
+
+ public H0707_tagItemCountRefresh () {
+ _cmd = (ushort)0x0707;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out PackType, vBytes, NetDataType.BYTE);
+ TransBytes (out ItemIndex, vBytes, NetDataType.BYTE);
+ TransBytes (out ItemCount, vBytes, NetDataType.WORD);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0709_tagClearItem.cs b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0709_tagClearItem.cs
index 0714894..905d378 100644
--- a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0709_tagClearItem.cs
+++ b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0709_tagClearItem.cs
@@ -1,39 +1,21 @@
using UnityEngine;
using System.Collections;
-//07 09 清空物品#tagClearItem
-
-
-
-public class H0709_tagClearItem : GameNetPackBasic {
-
- public byte PackType;
-
- public byte ItemIndex;
-
- public byte ClearType; //Type = TItemNotifyType
-
-
-
- public H0709_tagClearItem () {
-
- _cmd = (ushort)0x0709;
-
- }
-
-
-
- public override void ReadFromBytes (byte[] vBytes) {
-
- TransBytes (out PackType, vBytes, NetDataType.BYTE);
-
- TransBytes (out ItemIndex, vBytes, NetDataType.BYTE);
-
- TransBytes (out ClearType, vBytes, NetDataType.BYTE);
-
- }
-
-
-
-}
-
+//07 09 娓呯┖鐗╁搧#tagClearItem
+
+public class H0709_tagClearItem : GameNetPackBasic {
+ public byte PackType;
+ public byte ItemIndex;
+ public byte ClearType; //Type = TItemNotifyType
+
+ public H0709_tagClearItem () {
+ _cmd = (ushort)0x0709;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out PackType, vBytes, NetDataType.BYTE);
+ TransBytes (out ItemIndex, vBytes, NetDataType.BYTE);
+ TransBytes (out ClearType, vBytes, NetDataType.BYTE);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0711_tagClearItemPack.cs b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0711_tagClearItemPack.cs
index e398f8a..2e14ee8 100644
--- a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0711_tagClearItemPack.cs
+++ b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0711_tagClearItemPack.cs
@@ -1,21 +1,21 @@
-using UnityEngine;
-using System.Collections;
+using UnityEngine;
+using System.Collections;
+
+//07 11 娓呯┖鑳屽寘#tagClearItemPack
-//07 11 清空背包#tagClearItemPack
-
-public class H0711_tagClearItemPack : GameNetPackBasic {
- public byte PackIndex; //背包索引
- public ushort ItemBeginIndex; //背包格子起始索引,从0开始
- public ushort ItemEndIndex; //背包格子结索引,从0开始
-
- public H0711_tagClearItemPack () {
- _cmd = (ushort)0x0711;
- }
-
- public override void ReadFromBytes (byte[] vBytes) {
- TransBytes (out PackIndex, vBytes, NetDataType.BYTE);
- TransBytes (out ItemBeginIndex, vBytes, NetDataType.WORD);
- TransBytes (out ItemEndIndex, vBytes, NetDataType.WORD);
- }
-
-}
+public class H0711_tagClearItemPack : GameNetPackBasic {
+ public byte PackIndex; //鑳屽寘绱㈠紩
+ public ushort ItemBeginIndex; //鑳屽寘鏍煎瓙璧峰绱㈠紩锛屼粠0寮�濮�
+ public ushort ItemEndIndex; //鑳屽寘鏍煎瓙缁撶储寮曪紝浠�0寮�濮�
+
+ public H0711_tagClearItemPack () {
+ _cmd = (ushort)0x0711;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out PackIndex, vBytes, NetDataType.BYTE);
+ TransBytes (out ItemBeginIndex, vBytes, NetDataType.WORD);
+ TransBytes (out ItemEndIndex, vBytes, NetDataType.WORD);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0722_tagItemDeadLockRefresh.cs b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0722_tagItemDeadLockRefresh.cs
new file mode 100644
index 0000000..02df3da
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0722_tagItemDeadLockRefresh.cs
@@ -0,0 +1,21 @@
+using UnityEngine;
+using System.Collections;
+
+//07 22 鐗╁搧姝婚攣#tagItemDeadLockRefresh
+
+public class H0722_tagItemDeadLockRefresh : GameNetPackBasic {
+ public byte PackType;
+ public byte ItemIndex;
+ public byte IsLock;
+
+ public H0722_tagItemDeadLockRefresh () {
+ _cmd = (ushort)0x0722;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out PackType, vBytes, NetDataType.BYTE);
+ TransBytes (out ItemIndex, vBytes, NetDataType.BYTE);
+ TransBytes (out IsLock, vBytes, NetDataType.BYTE);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0722_tagItemDeadLockRefresh.cs.meta b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0722_tagItemDeadLockRefresh.cs.meta
new file mode 100644
index 0000000..640cfc4
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0722_tagItemDeadLockRefresh.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 482a2445357832a448bf99461964a148
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0724_tagRolePackCanUseCount.cs b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0724_tagRolePackCanUseCount.cs
index 5776f1c..bc15775 100644
--- a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0724_tagRolePackCanUseCount.cs
+++ b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0724_tagRolePackCanUseCount.cs
@@ -1,15 +1,15 @@
using UnityEngine;
using System.Collections;
-//07 24 主角背包已开启格数#tagRolePackCanUseCount
+//07 24 涓昏鑳屽寘宸插紑鍚牸鏁�#tagRolePackCanUseCount
public class H0724_tagRolePackCanUseCount : GameNetPackBasic {
- public byte PackType; //背包类型:rptItem, rptEquip, rptWarehouse
+ public byte PackType; //鑳屽寘绫诲瀷:rptItem, rptEquip, rptWarehouse
- public ushort CanUseCount; //背包已开启格数
+ public ushort CanUseCount; //鑳屽寘宸插紑鍚牸鏁�
diff --git a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0725_tagRolePackRefreshEx.cs b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0725_tagRolePackRefreshEx.cs
index f3d689a..1eecc03 100644
--- a/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0725_tagRolePackRefreshEx.cs
+++ b/Main/Core/NetworkPackage/ServerPack/H07_PlayerItem/H0725_tagRolePackRefreshEx.cs
@@ -1,49 +1,49 @@
-using UnityEngine;
-using System.Collections;
+using UnityEngine;
+using System.Collections;
+
+//07 25 涓昏鑳屽寘鍒锋柊锛堥�氱煡鎵�鏈夌墿鍝侊級 #tagRolePackRefreshEx
-//07 25 主角背包刷新(通知所有物品) #tagRolePackRefreshEx
-
-public class H0725_tagRolePackRefreshEx : GameNetPackBasic {
- public byte PackType; //背包类型:rptItem, rptEquip, rptWarehouse
- public ushort ItemCount;
- public tagRoleItemRefresh[] ItemInfo = null; //size = ItemCount
-
- public H0725_tagRolePackRefreshEx () {
- _cmd = (ushort)0x0725;
- }
-
- public override void ReadFromBytes (byte[] vBytes) {
- TransBytes (out PackType, vBytes, NetDataType.BYTE);
- TransBytes (out ItemCount, vBytes, NetDataType.WORD);
- ItemInfo = new tagRoleItemRefresh[ItemCount];
- for (int i = 0; i < ItemCount; i ++) {
- ItemInfo[i] = new tagRoleItemRefresh();
- TransBytes (out ItemInfo[i].ItemPlace, vBytes, NetDataType.BYTE);
- TransBytes (out ItemInfo[i].ItemID, vBytes, NetDataType.DWORD);
- TransBytes (out ItemInfo[i].IsLocked, vBytes, NetDataType.BYTE);
- TransBytes (out ItemInfo[i].ItemCount, vBytes, NetDataType.WORD);
- TransBytes (out ItemInfo[i].IsBind, vBytes, NetDataType.BYTE);
- TransBytes (out ItemInfo[i].GearScore, vBytes, NetDataType.DWORD);
- TransBytes (out ItemInfo[i].RemainHour, vBytes, NetDataType.DWORD);
- TransBytes (out ItemInfo[i].IsSuite, vBytes, NetDataType.BYTE);
- TransBytes (out ItemInfo[i].UserDataLen, vBytes, NetDataType.DWORD);
- TransBytes (out ItemInfo[i].UserData, vBytes, NetDataType.Chars, ItemInfo[i].UserDataLen);
- TransBytes (out ItemInfo[i].ItemGUID, vBytes, NetDataType.Chars, 40);
- }
- }
-
- public struct tagRoleItemRefresh {
- public byte ItemPlace;
- public uint ItemID;
- public byte IsLocked; //是否锁定
- public ushort ItemCount; //物品数量
- public byte IsBind; //是否绑定
- public uint GearScore; //评分
- public uint RemainHour; //剩余时间(小时)
- public byte IsSuite; //是否已经套装化
- public uint UserDataLen;
- public string UserData; //size = UserDataLen
- public string ItemGUID;
- }
-
-}
+public class H0725_tagRolePackRefreshEx : GameNetPackBasic {
+ public byte PackType; //鑳屽寘绫诲瀷:rptItem, rptEquip, rptWarehouse
+ public ushort ItemCount;
+ public tagRoleItemRefresh[] ItemInfo; //size = ItemCount
+
+ public H0725_tagRolePackRefreshEx () {
+ _cmd = (ushort)0x0725;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out PackType, vBytes, NetDataType.BYTE);
+ TransBytes (out ItemCount, vBytes, NetDataType.WORD);
+ ItemInfo = new tagRoleItemRefresh[ItemCount];
+ for (int i = 0; i < ItemCount; i ++) {
+ ItemInfo[i] = new tagRoleItemRefresh();
+ TransBytes (out ItemInfo[i].ItemPlace, vBytes, NetDataType.BYTE);
+ TransBytes (out ItemInfo[i].ItemID, vBytes, NetDataType.DWORD);
+ TransBytes (out ItemInfo[i].IsLocked, vBytes, NetDataType.BYTE);
+ TransBytes (out ItemInfo[i].ItemCount, vBytes, NetDataType.WORD);
+ TransBytes (out ItemInfo[i].IsBind, vBytes, NetDataType.BYTE);
+ TransBytes (out ItemInfo[i].GearScore, vBytes, NetDataType.DWORD);
+ TransBytes (out ItemInfo[i].RemainHour, vBytes, NetDataType.DWORD);
+ TransBytes (out ItemInfo[i].IsSuite, vBytes, NetDataType.BYTE);
+ TransBytes (out ItemInfo[i].UserDataLen, vBytes, NetDataType.DWORD);
+ TransBytes (out ItemInfo[i].UserData, vBytes, NetDataType.Chars, ItemInfo[i].UserDataLen);
+ TransBytes (out ItemInfo[i].ItemGUID, vBytes, NetDataType.Chars, 40);
+ }
+ }
+
+ public struct tagRoleItemRefresh {
+ public byte ItemPlace;
+ public uint ItemID;
+ public byte IsLocked; //鏄惁閿佸畾
+ public ushort ItemCount; //鐗╁搧鏁伴噺
+ public byte IsBind; //鏄惁缁戝畾
+ public uint GearScore; //璇勫垎
+ public uint RemainHour; //鍓╀綑鏃堕棿(灏忔椂)
+ public byte IsSuite; //鏄惁宸茬粡濂楄鍖�
+ public uint UserDataLen;
+ public string UserData; //size = UserDataLen
+ public string ItemGUID;
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA008_tagGCPlayerRecInfo.cs b/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA008_tagGCPlayerRecInfo.cs
new file mode 100644
index 0000000..9f874de
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA008_tagGCPlayerRecInfo.cs
@@ -0,0 +1,49 @@
+using UnityEngine;
+using System.Collections;
+
+// A0 08 鐜╁璁板綍淇℃伅 #tagGCPlayerRecInfo
+
+public class HA008_tagGCPlayerRecInfo : GameNetPackBasic {
+ public byte Type; //绫诲瀷
+ public ushort Count; //鏁伴噺
+ public tagGCPlayerRec[] PlayerRecList;
+
+ public HA008_tagGCPlayerRecInfo () {
+ _cmd = (ushort)0xA008;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out Type, vBytes, NetDataType.BYTE);
+ TransBytes (out Count, vBytes, NetDataType.WORD);
+ PlayerRecList = new tagGCPlayerRec[Count];
+ for (int i = 0; i < Count; i ++) {
+ PlayerRecList[i] = new tagGCPlayerRec();
+ TransBytes (out PlayerRecList[i].Time, vBytes, NetDataType.DWORD);
+ TransBytes (out PlayerRecList[i].Value1, vBytes, NetDataType.DWORD);
+ TransBytes (out PlayerRecList[i].Value2, vBytes, NetDataType.DWORD);
+ TransBytes (out PlayerRecList[i].Value3, vBytes, NetDataType.DWORD);
+ TransBytes (out PlayerRecList[i].Value4, vBytes, NetDataType.DWORD);
+ TransBytes (out PlayerRecList[i].Value5, vBytes, NetDataType.DWORD);
+ TransBytes (out PlayerRecList[i].Value6, vBytes, NetDataType.DWORD);
+ TransBytes (out PlayerRecList[i].Value7, vBytes, NetDataType.DWORD);
+ TransBytes (out PlayerRecList[i].Value8, vBytes, NetDataType.DWORD);
+ TransBytes (out PlayerRecList[i].UserDataLen, vBytes, NetDataType.WORD);
+ TransBytes (out PlayerRecList[i].UserData, vBytes, NetDataType.Chars, PlayerRecList[i].UserDataLen);
+ }
+ }
+
+ public struct tagGCPlayerRec {
+ public uint Time; //鏃堕棿
+ public uint Value1; //鍊�1
+ public uint Value2; //鍊�2
+ public uint Value3; //鍊�3
+ public uint Value4; //鍊�4
+ public uint Value5; //鍊�5
+ public uint Value6; //鍊�6
+ public uint Value7; //鍊�7
+ public uint Value8; //鍊�8
+ public ushort UserDataLen; //鎵╁睍鏁版嵁闀垮害
+ public string UserData; //鎵╁睍鏁版嵁
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA008_tagGCPlayerRecInfo.cs.meta b/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA008_tagGCPlayerRecInfo.cs.meta
new file mode 100644
index 0000000..7219573
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA008_tagGCPlayerRecInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a48c1bcaf98ce744ba6ef8d12221ae76
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/HA1_Sys.meta b/Main/Core/NetworkPackage/ServerPack/HA1_Sys.meta
new file mode 100644
index 0000000..18e17e5
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA1_Sys.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6297fb5ba860acb499c26db8cfe3b58f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/HA1_Sys/HA110_tagMCCoinToGoldCountInfo.cs b/Main/Core/NetworkPackage/ServerPack/HA1_Sys/HA110_tagMCCoinToGoldCountInfo.cs
new file mode 100644
index 0000000..5aab3e6
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA1_Sys/HA110_tagMCCoinToGoldCountInfo.cs
@@ -0,0 +1,43 @@
+using UnityEngine;
+using System.Collections;
+
+// A1 10 鍏呭�艰喘涔版鏁颁俊鎭� #tagMCCoinToGoldCountInfo
+
+public class HA110_tagMCCoinToGoldCountInfo : GameNetPackBasic {
+ public uint RealFirstTime; // 棣栨鐪熷疄鍏呭�兼椂闂存埑
+ public uint RealToday; // 浠婃棩鐪熷疄鍏呭�糲oin
+ public uint RealTotal; // 绱鐪熷疄鍏呭�糲oin
+ public ushort RecordCount;
+ public tagMCCoinToGoldCount[] CTGCountInfoList;
+
+ public HA110_tagMCCoinToGoldCountInfo () {
+ _cmd = (ushort)0xA110;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out RealFirstTime, vBytes, NetDataType.DWORD);
+ TransBytes (out RealToday, vBytes, NetDataType.DWORD);
+ TransBytes (out RealTotal, vBytes, NetDataType.DWORD);
+ TransBytes (out RecordCount, vBytes, NetDataType.WORD);
+ CTGCountInfoList = new tagMCCoinToGoldCount[RecordCount];
+ for (int i = 0; i < RecordCount; i ++) {
+ CTGCountInfoList[i] = new tagMCCoinToGoldCount();
+ TransBytes (out CTGCountInfoList[i].RecordID, vBytes, NetDataType.WORD);
+ TransBytes (out CTGCountInfoList[i].TodayPayCount, vBytes, NetDataType.WORD);
+ TransBytes (out CTGCountInfoList[i].TotalPayCount, vBytes, NetDataType.DWORD);
+ TransBytes (out CTGCountInfoList[i].WeekPayCount, vBytes, NetDataType.WORD);
+ TransBytes (out CTGCountInfoList[i].MonthPayCount, vBytes, NetDataType.WORD);
+ TransBytes (out CTGCountInfoList[i].SelectItemValue, vBytes, NetDataType.DWORD);
+ }
+ }
+
+ public struct tagMCCoinToGoldCount {
+ public ushort RecordID;
+ public ushort TodayPayCount; // 浠婃棩宸茶喘涔版鏁�
+ public uint TotalPayCount; // 绱鎬昏喘涔版鏁�
+ public ushort WeekPayCount; // 鍛ㄦ�昏喘涔版鏁�
+ public ushort MonthPayCount; // 鏈堟�昏喘涔版鏁�
+ public uint SelectItemValue; // 鑷�夌墿鍝佺储寮曞�硷紝姣忎袱浣嶅瓨鍌ㄦ瘡涓嚜閫夌储寮曞搴旈�夋嫨鐨勭墿鍝佺储寮�+1锛屽瓨鍌ㄤ綅鍊间负0浠h〃鏈�夋嫨锛屾渶澶氭敮鎸侀�夋嫨4绉嶇墿鍝�
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA1_Sys/HA110_tagMCCoinToGoldCountInfo.cs.meta b/Main/Core/NetworkPackage/ServerPack/HA1_Sys/HA110_tagMCCoinToGoldCountInfo.cs.meta
new file mode 100644
index 0000000..5d04d1b
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA1_Sys/HA110_tagMCCoinToGoldCountInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 825c271b181b2084bbbb204d3d67e9b8
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs b/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs
new file mode 100644
index 0000000..774e59e
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs
@@ -0,0 +1,35 @@
+using UnityEngine;
+using System.Collections;
+
+//A3 A1 鍚勫姛鑳芥ā鍧楁垬鏂楀姏淇℃伅 #tagMCModuleFightPowerInfo
+
+public class HA3A1_tagMCModuleFightPowerInfo : GameNetPackBasic {
+ public uint TotalFightPower; //鎬绘垬鏂楀姏锛屾眰浣欎嚎閮ㄥ垎
+ public uint TotalFightPoweEx; //鎬绘垬鏂楀姏锛屾暣闄や嚎閮ㄥ垎锛�1浠h〃1浜�
+ public byte MFPCnt; //妯″潡鎴樻枟鍔涙�绘暟
+ public tagMCModuleFightPower[] MFPList;
+
+ public HA3A1_tagMCModuleFightPowerInfo () {
+ _cmd = (ushort)0xA3A1;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out TotalFightPower, vBytes, NetDataType.DWORD);
+ TransBytes (out TotalFightPoweEx, vBytes, NetDataType.DWORD);
+ TransBytes (out MFPCnt, vBytes, NetDataType.BYTE);
+ MFPList = new tagMCModuleFightPower[MFPCnt];
+ for (int i = 0; i < MFPCnt; i ++) {
+ MFPList[i] = new tagMCModuleFightPower();
+ TransBytes (out MFPList[i].MfpType, vBytes, NetDataType.BYTE);
+ TransBytes (out MFPList[i].FightPower, vBytes, NetDataType.DWORD);
+ TransBytes (out MFPList[i].FightPowerEx, vBytes, NetDataType.DWORD);
+ }
+ }
+
+ public struct tagMCModuleFightPower {
+ public byte MfpType; //妯″潡缂栧彿绫诲瀷
+ public uint FightPower; //鏈ā鍧楁垬鏂楀姏锛屾眰浣欎嚎閮ㄥ垎
+ public uint FightPowerEx; //鏈ā鍧楁垬鏂楀姏锛屾暣闄や嚎閮ㄥ垎锛�1浠h〃1浜�
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta b/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
new file mode 100644
index 0000000..f878724
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6fb2c77abf75d964d82b4b15659602b9
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA705_tagSCQueryPlayerCacheResult.cs b/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA705_tagSCQueryPlayerCacheResult.cs
new file mode 100644
index 0000000..94bfb02
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA705_tagSCQueryPlayerCacheResult.cs
@@ -0,0 +1,47 @@
+using UnityEngine;
+using System.Collections;
+
+//A7 05 鏌ヨ鐜╁璇︾粏淇℃伅缁撴灉#tagSCQueryPlayerCacheResult
+
+public class HA705_tagSCQueryPlayerCacheResult : GameNetPackBasic {
+ public uint PlayerID;
+ public string PlayerName;
+ public ushort LV;
+ public byte Job;
+ public byte RealmLV;
+ public uint Face;
+ public uint FacePic;
+ public uint TitleID; //浣╂埓鐨勭О鍙�
+ public uint ServerID;
+ public uint FightPower;
+ public uint FightPowerEx;
+ public uint FamilyID;
+ public string FamilyName;
+ public uint FamilyEmblemID; //浠欑洘寰界珷ID
+ public uint PlusDataSize;
+ public string PlusData; //鎵╁睍璁板綍
+
+ public HA705_tagSCQueryPlayerCacheResult () {
+ _cmd = (ushort)0xA705;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out PlayerID, vBytes, NetDataType.DWORD);
+ TransBytes (out PlayerName, vBytes, NetDataType.Chars, 33);
+ TransBytes (out LV, vBytes, NetDataType.WORD);
+ TransBytes (out Job, vBytes, NetDataType.BYTE);
+ TransBytes (out RealmLV, vBytes, NetDataType.BYTE);
+ TransBytes (out Face, vBytes, NetDataType.DWORD);
+ TransBytes (out FacePic, vBytes, NetDataType.DWORD);
+ TransBytes (out TitleID, vBytes, NetDataType.DWORD);
+ TransBytes (out ServerID, vBytes, NetDataType.DWORD);
+ TransBytes (out FightPower, vBytes, NetDataType.DWORD);
+ TransBytes (out FightPowerEx, vBytes, NetDataType.DWORD);
+ TransBytes (out FamilyID, vBytes, NetDataType.DWORD);
+ TransBytes (out FamilyName, vBytes, NetDataType.Chars, 33);
+ TransBytes (out FamilyEmblemID, vBytes, NetDataType.DWORD);
+ TransBytes (out PlusDataSize, vBytes, NetDataType.DWORD);
+ TransBytes (out PlusData, vBytes, NetDataType.Chars, PlusDataSize);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA705_tagSCQueryPlayerCacheResult.cs.meta b/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA705_tagSCQueryPlayerCacheResult.cs.meta
new file mode 100644
index 0000000..1395759
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA705_tagSCQueryPlayerCacheResult.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3e1df4d0627000245b6d07c34859acd5
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA709_tagObjInfoListRefresh.cs b/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA709_tagObjInfoListRefresh.cs
new file mode 100644
index 0000000..15227d2
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA709_tagObjInfoListRefresh.cs
@@ -0,0 +1,35 @@
+using UnityEngine;
+using System.Collections;
+
+//A7 09 鍛ㄥ洿瀵硅薄鍒锋柊鍚堝苟鍖� #tagObjInfoListRefresh
+
+public class HA709_tagObjInfoListRefresh : GameNetPackBasic {
+ public uint ObjID;
+ public byte ObjType;
+ public byte Count;
+ public tagRefreshType[] RefreshType;
+
+ public HA709_tagObjInfoListRefresh () {
+ _cmd = (ushort)0xA709;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out ObjID, vBytes, NetDataType.DWORD);
+ TransBytes (out ObjType, vBytes, NetDataType.BYTE);
+ TransBytes (out Count, vBytes, NetDataType.BYTE);
+ RefreshType = new tagRefreshType[Count];
+ for (int i = 0; i < Count; i ++) {
+ RefreshType[i] = new tagRefreshType();
+ TransBytes (out RefreshType[i].RefreshType, vBytes, NetDataType.WORD);
+ TransBytes (out RefreshType[i].Value, vBytes, NetDataType.DWORD);
+ TransBytes (out RefreshType[i].ValueEx, vBytes, NetDataType.DWORD);
+ }
+ }
+
+ public struct tagRefreshType {
+ public ushort RefreshType;
+ public uint Value;
+ public uint ValueEx;
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA709_tagObjInfoListRefresh.cs.meta b/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA709_tagObjInfoListRefresh.cs.meta
new file mode 100644
index 0000000..8bb3b36
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA709_tagObjInfoListRefresh.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c0ae500874519ab468b615dd7dea93b5
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA710_tagMCGuideState.cs b/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA710_tagMCGuideState.cs
new file mode 100644
index 0000000..8865247
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA710_tagMCGuideState.cs
@@ -0,0 +1,19 @@
+using UnityEngine;
+using System.Collections;
+
+// A7 10 寮曞鐘舵�佽褰� #tagMCGuideState
+
+public class HA710_tagMCGuideState : GameNetPackBasic {
+ public byte Count;
+ public uint[] GuideState; // 姣忎釜鏁板�煎瓨鍌�31浣�(0~30)锛岀洰鍓嶆渶澶氬瓨鍌–ount*31浣�
+
+ public HA710_tagMCGuideState () {
+ _cmd = (ushort)0xA710;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out Count, vBytes, NetDataType.BYTE);
+ TransBytes (out GuideState, vBytes, NetDataType.DWORD, Count);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA710_tagMCGuideState.cs.meta b/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA710_tagMCGuideState.cs.meta
new file mode 100644
index 0000000..3b022ab
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA710_tagMCGuideState.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 244c237180326f048a3d24e5d837c6f4
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity.meta b/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity.meta
new file mode 100644
index 0000000..aff593e
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c196f23036a29764fb14008db0077457
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA02_tagMCFirstGoldInfo.cs b/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA02_tagMCFirstGoldInfo.cs
new file mode 100644
index 0000000..0ce01d3
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA02_tagMCFirstGoldInfo.cs
@@ -0,0 +1,21 @@
+using UnityEngine;
+using System.Collections;
+
+// AA 02 棣栧厖淇℃伅 #tagMCFirstGoldInfo
+
+public class HAA02_tagMCFirstGoldInfo : GameNetPackBasic {
+ public byte FirstGoldRewardState; //棣栧厖濂栧姳棰嗗璁板綍锛屾寜浣嶈褰曢鍏呯X澶╂槸鍚﹀凡棰嗗彇锛岀1澶╀负绗�0绱㈠紩浣�
+ public byte FirstGoldTry; //棣栧厖璇曠敤鐘舵��0-涓嶅彲璇曠敤 1-鍙瘯鐢� 2-宸茶瘯鐢�
+ public ushort FirstGoldServerDay; //棣栧厖鏃舵槸寮�鏈嶇鍑犲ぉ锛屼粠1寮�濮嬶紝0浠h〃鏈褰曞厖鍊�
+
+ public HAA02_tagMCFirstGoldInfo () {
+ _cmd = (ushort)0xAA02;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out FirstGoldRewardState, vBytes, NetDataType.BYTE);
+ TransBytes (out FirstGoldTry, vBytes, NetDataType.BYTE);
+ TransBytes (out FirstGoldServerDay, vBytes, NetDataType.WORD);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA02_tagMCFirstGoldInfo.cs.meta b/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA02_tagMCFirstGoldInfo.cs.meta
new file mode 100644
index 0000000..264b785
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA02_tagMCFirstGoldInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 23a1bc83dc491c34e96dccbd6a1e4beb
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA74_tagMCActBuyCountGiftInfo.cs b/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA74_tagMCActBuyCountGiftInfo.cs
new file mode 100644
index 0000000..92589db
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA74_tagMCActBuyCountGiftInfo.cs
@@ -0,0 +1,61 @@
+using UnityEngine;
+using System.Collections;
+
+// AA 74 璐拱娆℃暟绀煎寘娲诲姩淇℃伅 #tagMCActBuyCountGiftInfo
+
+public class HAA74_tagMCActBuyCountGiftInfo : GameNetPackBasic {
+ public byte ActNum; // 娲诲姩缂栧彿
+ public string StartDate; // 寮�濮嬫棩鏈� y-m-d
+ public string EndtDate; // 缁撴潫鏃ユ湡 y-m-d
+ public byte IsDayReset; // 鏄惁姣忓ぉ閲嶇疆
+ public byte ResetType; // 閲嶇疆绫诲瀷锛�0-0鐐归噸缃紱1-5鐐归噸缃�
+ public ushort LimitLV; // 闄愬埗绛夌骇
+ public byte CTGIDCount;
+ public ushort[] CTGIDList; // CTGID鍒楄〃锛涙�昏喘涔版鏁板墠绔嚜宸辩粺璁★紝鐩存帴鍙朇TGID瀵瑰簲鐨勭疮璁¤喘涔版鏁扮疮鍔�
+ public byte GiftCount;
+ public tagMCActBuyCountGift[] BuyCountGiftList; // 璐拱娆℃暟绀煎寘鍒楄〃
+ public ushort ShopType; // 寮�鏀惧晢搴楃被鍨嬶紝鍙兘涓�0涓嶅紑鏀�
+
+ public HAA74_tagMCActBuyCountGiftInfo () {
+ _cmd = (ushort)0xAA74;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out ActNum, vBytes, NetDataType.BYTE);
+ TransBytes (out StartDate, vBytes, NetDataType.Chars, 10);
+ TransBytes (out EndtDate, vBytes, NetDataType.Chars, 10);
+ TransBytes (out IsDayReset, vBytes, NetDataType.BYTE);
+ TransBytes (out ResetType, vBytes, NetDataType.BYTE);
+ TransBytes (out LimitLV, vBytes, NetDataType.WORD);
+ TransBytes (out CTGIDCount, vBytes, NetDataType.BYTE);
+ TransBytes (out CTGIDList, vBytes, NetDataType.WORD, CTGIDCount);
+ TransBytes (out GiftCount, vBytes, NetDataType.BYTE);
+ BuyCountGiftList = new tagMCActBuyCountGift[GiftCount];
+ for (int i = 0; i < GiftCount; i ++) {
+ BuyCountGiftList[i] = new tagMCActBuyCountGift();
+ TransBytes (out BuyCountGiftList[i].NeedBuyCount, vBytes, NetDataType.BYTE);
+ TransBytes (out BuyCountGiftList[i].Count, vBytes, NetDataType.BYTE);
+ BuyCountGiftList[i].AwardItemList = new tagMCActBuyCountGiftItem[BuyCountGiftList[i].Count];
+ for (int j = 0; j < BuyCountGiftList[i].Count; j ++) {
+ BuyCountGiftList[i].AwardItemList[j] = new tagMCActBuyCountGiftItem();
+ TransBytes (out BuyCountGiftList[i].AwardItemList[j].ItemID, vBytes, NetDataType.DWORD);
+ TransBytes (out BuyCountGiftList[i].AwardItemList[j].ItemCount, vBytes, NetDataType.WORD);
+ TransBytes (out BuyCountGiftList[i].AwardItemList[j].IsBind, vBytes, NetDataType.BYTE);
+ }
+ }
+ TransBytes (out ShopType, vBytes, NetDataType.WORD);
+ }
+
+ public struct tagMCActBuyCountGiftItem {
+ public uint ItemID;
+ public ushort ItemCount;
+ public byte IsBind;
+ }
+
+ public struct tagMCActBuyCountGift {
+ public byte NeedBuyCount; // 鎵�闇�鎬昏喘涔版鏁帮紝0涓哄厤璐归鍙栫殑妗f
+ public byte Count; // 濂栧姳鐗╁搧鏁�
+ public tagMCActBuyCountGiftItem[] AwardItemList; // 濂栧姳鐗╁搧鍒楄〃
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA74_tagMCActBuyCountGiftInfo.cs.meta b/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA74_tagMCActBuyCountGiftInfo.cs.meta
new file mode 100644
index 0000000..ecbb5a5
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA74_tagMCActBuyCountGiftInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5c68ca6a422b00f4a8f5985299beb9c9
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA75_tagMCActBuyCountGiftPlayerInfo.cs b/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA75_tagMCActBuyCountGiftPlayerInfo.cs
new file mode 100644
index 0000000..43a65a1
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA75_tagMCActBuyCountGiftPlayerInfo.cs
@@ -0,0 +1,19 @@
+using UnityEngine;
+using System.Collections;
+
+// AA 75 璐拱娆℃暟绀煎寘娲诲姩鐜╁淇℃伅 #tagMCActBuyCountGiftPlayerInfo
+
+public class HAA75_tagMCActBuyCountGiftPlayerInfo : GameNetPackBasic {
+ public byte ActNum; // 娲诲姩缂栧彿
+ public uint GiftAwardRecord; // 璐拱娆℃暟绀煎寘棰嗗璁板綍锛岀洿鎺ョ敤璐拱娆℃暟鍋氫綅杩愮畻鍒ゆ柇鏄惁宸查鍙�
+
+ public HAA75_tagMCActBuyCountGiftPlayerInfo () {
+ _cmd = (ushort)0xAA75;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out ActNum, vBytes, NetDataType.BYTE);
+ TransBytes (out GiftAwardRecord, vBytes, NetDataType.DWORD);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA75_tagMCActBuyCountGiftPlayerInfo.cs.meta b/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA75_tagMCActBuyCountGiftPlayerInfo.cs.meta
new file mode 100644
index 0000000..5404b9f
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA75_tagMCActBuyCountGiftPlayerInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: dc6e07b3871072b428e384ff1e25b85b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Main.cs b/Main/Main.cs
index 08b0d3c..6260096 100644
--- a/Main/Main.cs
+++ b/Main/Main.cs
@@ -33,6 +33,9 @@
Debug.Log("鍒囨崲鍒扮櫥褰曞満鏅�");
ConfigManager.Instance.Init();
StageManager.Instance.ToLoginScene();
+
+ DTC0403_tagPlayerLoginLoadOK.finishedLogin = false;
+ DTC0102_tagCDBPlayer.isAfterPlayerDataInitialize = false;
}
public static async UniTask InitManagers()
@@ -41,6 +44,10 @@
// 鍒濆鍖栨父鎴忕郴缁�
managers.Add(BattleManager.Instance);
+ managers.Add(VirtualPackManager.Instance);
+ managers.Add(RoleParticularModel.Instance);
+ managers.Add(RechargeManager.Instance);
+ managers.Add(RoleParticularModel.Instance);
foreach (var manager in managers)
{
diff --git a/Main/System/CustomizedGift.meta b/Main/System/CustomizedGift.meta
new file mode 100644
index 0000000..e060345
--- /dev/null
+++ b/Main/System/CustomizedGift.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3bec9fa3bab3d9e43a9d88be500ac926
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/CustomizedGift/CustomizedGiftCell.cs b/Main/System/CustomizedGift/CustomizedGiftCell.cs
new file mode 100644
index 0000000..247a394
--- /dev/null
+++ b/Main/System/CustomizedGift/CustomizedGiftCell.cs
@@ -0,0 +1,131 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Wednesday, September 26, 2018
+//--------------------------------------------------------
+using UnityEngine;
+using UnityEngine.UI;
+using System.Collections.Generic;
+
+
+public class CustomizedGiftCell : CellView
+{
+ [SerializeField] Text title;
+ [SerializeField] Text saleValue;
+ [SerializeField] Text limiteBuyCntText;
+ [SerializeField] List<CustomizedItemCell> itemCells;
+ [SerializeField] Button buyBtn;
+ [SerializeField] Text priceText;
+ [SerializeField] Button haveBtn;
+ [SerializeField] Image buyYetImg;
+ [SerializeField] Image haveYetImg;
+ [SerializeField] ImageEx ImgSale;
+ int girdIndex = 0;
+ TextEx orgPrice;
+
+
+
+
+
+ public void Display(int index)
+ {
+ OperationRechargeGiftAct act;
+ if (!OperationTimeHepler.Instance.TryGetOperation(CustomizedGiftModel.operaType, out act))
+ {
+ return;
+ }
+ //鍏嶈垂绀煎寘
+ if (CustomizedGiftModel.Instance.IsFree(index))
+ {
+ ImgSale.SetActive(false);
+ buyBtn.SetActive(false);
+ buyYetImg.SetActive(false);
+ limiteBuyCntText.SetActive(false);
+ haveBtn.SetActive(true);
+ title.text = Language.Get("CustomizedGift02");
+ int totalBuyCnt = CustomizedGiftModel.Instance.GetBuyTotalCnt();
+ var awardInfo = act.buyCountGifts[index];
+ for (int i = 0; i < itemCells.Count; i++)
+ {
+ if (i < awardInfo.AwardItemList.Length)
+ {
+ var award = awardInfo.AwardItemList[i];
+ itemCells[i].button.interactable = true;
+ itemCells[i].SetActive(true);
+ var itemData = new ItemCellModel((int)award.ItemID, false, award.ItemCount);
+ itemCells[i].Init(itemData);
+ itemCells[i].button.SetListener(() =>
+ {
+ ItemTipUtility.Show((int)award.ItemID);
+ });
+ }
+ else
+ {
+ itemCells[i].SetActive(false);
+ }
+ }
+ haveBtn.SetColorful(null, totalBuyCnt >= awardInfo.NeedBuyCount);
+ haveBtn.interactable = totalBuyCnt >= awardInfo.NeedBuyCount;
+ haveBtn.SetListener(() =>
+ {
+ CustomizedGiftModel.Instance.SendGetAward(awardInfo.NeedBuyCount);
+ });
+
+ if (index == act.buyCountGifts.Count - 1 && CustomizedGiftModel.Instance.GetBuyGiftState(awardInfo.NeedBuyCount) == 2)
+ {
+ haveYetImg.SetActive(true);
+ haveBtn.SetActive(false);
+ }
+ else
+ {
+ haveYetImg.SetActive(false);
+ haveBtn.SetActive(true);
+ }
+ }
+ //浠樿垂绀煎寘
+ else
+ {
+ haveBtn.SetActive(false);
+ haveYetImg.SetActive(false);
+ limiteBuyCntText.SetActive(true);
+ ImgSale.SetActive(true);
+
+ int actCtgIndex = index - 1;
+ int ctgID = act.ctgIDs[actCtgIndex];
+
+ CustomizedRechargeModel.Instance.ShowUIItems(itemCells, ctgID);
+
+ var ctgConfig = CTGConfig.Get(ctgID);
+ title.text = ctgConfig.Title;
+ saleValue.text = Language.Get("RechargeGiftActWin3", ctgConfig.Percentage);
+ var countInfo = CustomizedGiftModel.Instance.GetBuyCntInfo(ctgID);
+ int buyCnt = countInfo.x;
+ int totalCnt = countInfo.y;
+ limiteBuyCntText.text = Language.Get("RechargeGiftActWin4", UIHelper.AppendColor(buyCnt >= totalCnt ? TextColType.Red : TextColType.Green, buyCnt + "/" + totalCnt, true));
+ buyBtn.SetActive(buyCnt < totalCnt);
+ buyBtn.SetListener(() =>
+ {
+ RechargeManager.Instance.CTG(ctgID);
+ });
+ buyYetImg.SetActive(buyCnt >= totalCnt);
+ OrderInfoConfig orderConfig;
+ RechargeManager.Instance.TryGetOrderInfo(ctgID, out orderConfig);
+ priceText.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(orderConfig.PayRMBNumOnSale));
+
+ var obj = buyBtn.FindComponent("Text", "Txt_orgPrice");
+ if (obj != null)
+ orgPrice = obj as TextEx;
+
+ if (orgPrice != null)
+ {
+ orgPrice.SetActive(PlayerDatas.Instance.baseData.IsActive90Off);
+ orgPrice.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(orderConfig.PayRMBNum));
+ }
+ }
+ }
+
+
+}
+
+
+
+
diff --git a/Main/System/CustomizedGift/CustomizedGiftCell.cs.meta b/Main/System/CustomizedGift/CustomizedGiftCell.cs.meta
new file mode 100644
index 0000000..9838de6
--- /dev/null
+++ b/Main/System/CustomizedGift/CustomizedGiftCell.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ea483c50174ddc745b563ae438a3b538
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/CustomizedGift/CustomizedGiftChooseCell.cs b/Main/System/CustomizedGift/CustomizedGiftChooseCell.cs
new file mode 100644
index 0000000..1b5a8d1
--- /dev/null
+++ b/Main/System/CustomizedGift/CustomizedGiftChooseCell.cs
@@ -0,0 +1,59 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Wednesday, September 26, 2018
+//--------------------------------------------------------
+using UnityEngine;
+using System.Collections.Generic;
+
+
+
+public class CustomizedGiftChooseCell : CellView
+{
+ [SerializeField] List<ItemCell> itemCells;
+ [SerializeField] List<ImageEx> images;
+
+
+ public void Display(int index)
+ {
+ var selectItemInfo = CTGConfig.Get(CustomizedRechargeModel.Instance.chooseCTGID).SelectItemInfo;
+ int chooseCount = selectItemInfo.Length;
+
+ for (int i = 0; i < itemCells.Count; i++)
+ {
+ int itemIndex = index * 7 + i;
+ if (itemIndex < selectItemInfo[CustomizedRechargeModel.Instance.chooseWinIndex].Length)
+ {
+ int selectID = selectItemInfo[CustomizedRechargeModel.Instance.chooseWinIndex][itemIndex];
+ int itemId = CTGSelectItemConfig.Get(selectID).ItemID;
+ int count = CTGSelectItemConfig.Get(selectID).ItemCount;
+ var itemData = new ItemCellModel((int)itemId, false, (ulong)count);
+ images[i].SetActive(CustomizedRechargeModel.Instance.GetChooseSubIndex(CustomizedRechargeModel.Instance.chooseWinIndex) - 1 == i);
+ itemCells[i].SetActive(true);
+ itemCells[i].Init(itemData);
+ itemCells[i].button.SetListener(() =>
+ {
+ CustomizedRechargeModel.Instance.chooseIndexDict[CustomizedRechargeModel.Instance.chooseWinIndex] = itemIndex + 1;
+ //閫変腑鍚庤烦涓嬩竴涓�
+ if (CustomizedRechargeModel.Instance.chooseWinIndex + 1 < chooseCount)
+ {
+ CustomizedRechargeModel.Instance.chooseWinIndex += 1;
+ }
+ else
+ {
+ CustomizedRechargeModel.Instance.chooseWinIndex = 0;
+ }
+
+ CustomizedRechargeModel.Instance.UpdateWin?.Invoke();
+ });
+ }
+ else
+ {
+ images[i].SetActive(false);
+ itemCells[i].SetActive(false);
+ }
+ }
+ }
+}
+
+
+
diff --git a/Main/System/CustomizedGift/CustomizedGiftChooseCell.cs.meta b/Main/System/CustomizedGift/CustomizedGiftChooseCell.cs.meta
new file mode 100644
index 0000000..59c1a13
--- /dev/null
+++ b/Main/System/CustomizedGift/CustomizedGiftChooseCell.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 83b64748aceec7741b3e4942be3a462f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/CustomizedGift/CustomizedGiftChooseWin.cs b/Main/System/CustomizedGift/CustomizedGiftChooseWin.cs
new file mode 100644
index 0000000..9377078
--- /dev/null
+++ b/Main/System/CustomizedGift/CustomizedGiftChooseWin.cs
@@ -0,0 +1,173 @@
+锘縰sing System;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+public class CustomizedGiftChooseWin : UIBase
+{
+ [SerializeField] ScrollerController m_Controller;
+ [SerializeField] Text txtTitle;
+ [SerializeField] RichText txtInfo;
+ [SerializeField] List<CustomizedItemCell> itemCellList;
+ [SerializeField] List<ImageEx> imageList;
+ [SerializeField] Button closeBtn;
+ [SerializeField] Button closeBtn2;
+ [SerializeField] Button okBtn;
+
+ int index;
+ int actCtgIndex;
+ #region Built-in
+ protected override void InitComponent()
+ {
+ closeBtn.SetListener(CloseWindow);
+
+ closeBtn2.SetListener(CloseWindow);
+
+ okBtn.SetListener(ChooseItem);
+ }
+
+ protected override void OnPreOpen()
+ {
+ CustomizedRechargeModel.Instance.InitChoose();
+ m_Controller.OnRefreshCell += OnRefreshCell;
+ CustomizedRechargeModel.Instance.UpdateWin += OnUpdateWin;
+ RechargeManager.Instance.rechargeCountEvent += VipModel_rechargeCountEvent;
+ Display();
+ }
+ void VipModel_rechargeCountEvent(int obj)
+ {
+ if (CustomizedRechargeModel.Instance.chooseCTGID == obj)
+ {
+ CloseWindow();
+ }
+ }
+
+ protected override void OnOpen()
+ {
+ DisplayScroll();
+ }
+
+ protected override void OnPreClose()
+ {
+ m_Controller.OnRefreshCell -= OnRefreshCell;
+ CustomizedRechargeModel.Instance.UpdateWin -= OnUpdateWin;
+ RechargeManager.Instance.rechargeCountEvent -= VipModel_rechargeCountEvent;
+ }
+
+ void OnUpdateWin()
+ {
+ Display();
+ m_Controller.m_Scorller.RefreshActiveCellViews();
+ }
+
+
+ #endregion
+
+ private void OnRefreshCell(ScrollerDataType type, CellView cell)
+ {
+ var _cell = cell as CustomizedGiftChooseCell;
+ _cell.Display(_cell.index);
+ }
+
+ void DisplayScroll()
+ {
+ m_Controller.Refresh();
+ var ctgConfig = CTGConfig.Get(CustomizedRechargeModel.Instance.chooseCTGID);
+ var selectItemInfo = ctgConfig.SelectItemInfo[CustomizedRechargeModel.Instance.chooseWinIndex];
+ int count = selectItemInfo.Length;
+ int lineCount = (int)Math.Ceiling((double)count / 7);
+ for (int i = 0; i < lineCount; i++)
+ {
+ m_Controller.AddCell(ScrollerDataType.Header, i);
+ }
+ m_Controller.Restart();
+ }
+
+ void Display()
+ {
+ for (int i = 0; i < imageList.Count; i++)
+ {
+ imageList[i].SetActive(false);
+ }
+
+ var ctgConfig = CTGConfig.Get(CustomizedRechargeModel.Instance.chooseCTGID);
+ var selectItemInfo = ctgConfig.SelectItemInfo[CustomizedRechargeModel.Instance.chooseWinIndex];
+
+ int selectItemID = 0;
+ int selectIemCount = 0;
+ for (int i = 0; i < itemCellList.Count; i++)
+ {
+ if (i < ctgConfig.SelectItemInfo.Length)
+ {
+ itemCellList[i].SetActive(true);
+ int chooseIndex = CustomizedRechargeModel.Instance.GetChooseSubIndex(i);
+ if (chooseIndex != 0)
+ {
+ int selectID = ctgConfig.SelectItemInfo[i][chooseIndex - 1];
+ var itemData = new ItemCellModel(CTGSelectItemConfig.Get(selectID).ItemID, false, (ulong)CTGSelectItemConfig.Get(selectID).ItemCount);
+ itemCellList[i].Init(itemData);
+ if (i == CustomizedRechargeModel.Instance.chooseWinIndex)
+ {
+ selectItemID = CTGSelectItemConfig.Get(selectID).ItemID;
+ selectIemCount = CTGSelectItemConfig.Get(selectID).ItemCount;
+ }
+ }
+ else
+ {
+ itemCellList[i].Init(null);
+ }
+
+ int index = i;
+ itemCellList[i].button.SetListener(() =>
+ {
+ if (CustomizedRechargeModel.Instance.chooseWinIndex != index)
+ {
+ CustomizedRechargeModel.Instance.chooseWinIndex = index;
+ Display();
+ DisplayScroll();
+ }
+ });
+
+ imageList[i].SetActive(i == CustomizedRechargeModel.Instance.chooseWinIndex);
+
+ }
+ else
+ {
+ itemCellList[i].SetActive(false);
+ }
+ }
+
+ if (selectItemID > 0)
+ {
+ txtTitle.SetActive(true);
+ txtInfo.SetActive(true);
+ txtTitle.text = StringUtility.Contact(ItemConfig.Get(selectItemID).ItemName, " x", selectIemCount);
+ txtInfo.text = ItemConfig.Get(selectItemID).Description;
+ }
+ else
+ {
+ txtTitle.SetActive(false);
+ txtInfo.SetActive(false);
+ }
+ }
+
+ void ChooseItem()
+ {
+ var ctgConfig = CTGConfig.Get(CustomizedRechargeModel.Instance.chooseCTGID);
+ if (ctgConfig.SelectItemInfo.Length != CustomizedRechargeModel.Instance.chooseIndexDict.Count)
+ {
+ SysNotifyMgr.Instance.ShowTip("CustomizedGift01");
+ return;
+ }
+
+ CA126_tagCMSelectCTGItem pack = new CA126_tagCMSelectCTGItem();
+ pack.RecordID = (ushort)CustomizedRechargeModel.Instance.chooseCTGID;
+ pack.SelectItemValue = CustomizedRechargeModel.Instance.GetSelectedItemValue();
+ GameNetSystem.Instance.SendInfo(pack);
+ }
+}
+
+
+
+
diff --git a/Main/System/CustomizedGift/CustomizedGiftChooseWin.cs.meta b/Main/System/CustomizedGift/CustomizedGiftChooseWin.cs.meta
new file mode 100644
index 0000000..607a373
--- /dev/null
+++ b/Main/System/CustomizedGift/CustomizedGiftChooseWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: cca8090830ee61e4783982674ff9c1b9
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/CustomizedGift/CustomizedGiftModel.cs b/Main/System/CustomizedGift/CustomizedGiftModel.cs
new file mode 100644
index 0000000..5f70623
--- /dev/null
+++ b/Main/System/CustomizedGift/CustomizedGiftModel.cs
@@ -0,0 +1,205 @@
+锘縰sing System;
+using System.Collections.Generic;
+
+
+//鑷�夌ぜ鍖呯殑娲诲姩
+public class CustomizedGiftModel : GameSystemManager<CustomizedGiftModel>, IOpenServerActivity
+{
+ public event Action<int> onStateUpdate;
+ public Redpoint enRedPoint = new Redpoint(MainRedDot.CustomizedGiftRedpoint);
+ public const int redPointID = MainRedDot.CustomizedGiftRedpoint * 10 + 2;
+ public Redpoint redPoint = new Redpoint(MainRedDot.CustomizedGiftRedpoint, redPointID); //鍙兘鎸傚涓埗绾㈢偣
+
+ private int GiftAwardRecord; //棰嗗彇鐘舵��
+
+ public const int activityType = (int)OpenServerActivityCenter.ActivityType.AT_Activity2;
+ public const int activityID = (int)NewDayActivityID.CustomizedGiftWin;
+ public static Operation operaType = Operation.default35;
+
+ public int actNum; //瀵瑰簲鐣岄潰
+ public event Action UpdateRechargeGiftActEvent;
+
+
+ public override void Init()
+ {
+ OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent;
+ OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent;
+ OperationTimeHepler.Instance.operationAdvanceEvent += OperationAdvanceEvent;
+ OpenServerActivityCenter.Instance.Register(activityID, this, activityType);
+
+ }
+
+
+
+
+ public bool IsOpen
+ {
+ get
+ {
+ return OperationTimeHepler.Instance.SatisfyOpenCondition(operaType);
+ }
+ }
+
+ public bool priorityOpen
+ {
+ get
+ {
+ return redPoint.state == RedPointState.Simple;
+ }
+ }
+
+ public bool IsAdvance
+ {
+ get
+ {
+ return OperationTimeHepler.Instance.SatisfyAdvanceCondition(operaType);
+ }
+ }
+
+ private void OperationEndEvent(Operation type, int state)
+ {
+ if (type == operaType && state == 0)
+ {
+ if (onStateUpdate != null)
+ {
+ onStateUpdate(activityID);
+ }
+ UpdateRedpoint();
+ }
+ }
+
+ private void OperationAdvanceEvent(Operation type)
+ {
+ if (type == operaType)
+ {
+ if (onStateUpdate != null)
+ {
+ onStateUpdate(activityID);
+ }
+ }
+ }
+
+ private void OperationStartEvent(Operation type, int state)
+ {
+ if (type == operaType && state == 0)
+ {
+
+ if (onStateUpdate != null)
+ {
+ onStateUpdate(activityID);
+ }
+ }
+ }
+
+
+
+
+
+ //鏄笉鏄厤璐圭ぜ鍖�
+ public bool IsFree(int index)
+ {
+ return index == 0;
+ }
+
+
+ //0 涓嶅彲棰嗗彇 1 鍙鍙� 2 宸查鍙�
+ public int GetBuyGiftState(int count)
+ {
+ OperationRechargeGiftAct act;
+ OperationTimeHepler.Instance.TryGetOperation(operaType, out act);
+
+ if (act == null) return 0;
+ if (GetBuyTotalCnt() < count) return 0;
+ if (((int)Math.Pow(2, count) & GiftAwardRecord) == 0)
+ {
+ return 1;
+ }
+ return 2;
+ }
+
+ public int GetBuyTotalCnt()
+ {
+ OperationRechargeGiftAct act;
+ OperationTimeHepler.Instance.TryGetOperation(operaType, out act);
+
+ if (act == null) return 0;
+ int total = 0;
+ for (int i = 0; i < act.ctgIDs.Count; i++)
+ {
+ int ctgID = act.ctgIDs[i];
+ RechargeManager.RechargeCount rechargeCount;
+ if (RechargeManager.Instance.TryGetRechargeCount(ctgID, out rechargeCount))
+ {
+ total += rechargeCount.totalCount;
+ }
+
+ }
+ return total;
+ }
+
+ public Int2 GetBuyCntInfo(int ctgID)
+ {
+ OperationRechargeGiftAct act;
+ OperationTimeHepler.Instance.TryGetOperation(operaType, out act);
+
+ RechargeManager.RechargeCount rechargeCount;
+ RechargeManager.Instance.TryGetRechargeCount(ctgID, out rechargeCount);
+
+ var ctgConfig = CTGConfig.Get(ctgID);
+ int buyCnt = 0;
+ int totalCnt = 0;
+ if (ctgConfig.DailyBuyCount != 0)
+ {
+ buyCnt = rechargeCount.todayCount;
+ totalCnt = ctgConfig.DailyBuyCount;
+ }
+ else
+ {
+ buyCnt = rechargeCount.totalCount;
+ totalCnt = ctgConfig.TotalBuyCount;
+ }
+
+ return new Int2(buyCnt, totalCnt);
+ }
+
+ void UpdateRedpoint()
+ {
+ redPoint.state = RedPointState.None;
+ if (!IsOpen) return;
+ OperationRechargeGiftAct act;
+ OperationTimeHepler.Instance.TryGetOperation(operaType, out act);
+ if (act == null) return; //灏佸寘椤哄簭濡傛灉鏈夐棶棰� 姝ゅ涓虹┖
+
+ for (int i = 0; i < act.buyCountGifts.Count; i++)
+ {
+ if (GetBuyGiftState(act.buyCountGifts[i].NeedBuyCount) == 1)
+ {
+ redPoint.state = RedPointState.Simple;
+ return;
+ }
+ }
+
+ }
+
+ public void UpdateBuyCountGiftPlayerInfo(HAA75_tagMCActBuyCountGiftPlayerInfo netPack)
+ {
+ if (netPack.ActNum != 10)
+ return;
+ actNum = netPack.ActNum;
+ GiftAwardRecord = (int)netPack.GiftAwardRecord;
+ UpdateRechargeGiftActEvent?.Invoke();
+ UpdateRedpoint();
+ }
+
+
+ public void SendGetAward(int count)
+ {
+ CA504_tagCMPlayerGetReward getReward = new CA504_tagCMPlayerGetReward();
+ getReward.RewardType = 72;
+ getReward.DataEx = (uint)count;
+ getReward.DataExStr = actNum.ToString();
+ getReward.DataExStrLen = (byte)getReward.DataExStr.Length;
+ GameNetSystem.Instance.SendInfo(getReward);
+ }
+
+}
diff --git a/Main/System/CustomizedGift/CustomizedGiftModel.cs.meta b/Main/System/CustomizedGift/CustomizedGiftModel.cs.meta
new file mode 100644
index 0000000..e9d5ffb
--- /dev/null
+++ b/Main/System/CustomizedGift/CustomizedGiftModel.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a61783b8a3ca5dc4e8cc5a3e8a2b2071
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/CustomizedGift/CustomizedGiftWin.cs b/Main/System/CustomizedGift/CustomizedGiftWin.cs
new file mode 100644
index 0000000..8c039da
--- /dev/null
+++ b/Main/System/CustomizedGift/CustomizedGiftWin.cs
@@ -0,0 +1,82 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Thursday, April 18, 2019
+//--------------------------------------------------------
+
+using UnityEngine;
+using UnityEngine.UI;
+
+
+public class CustomizedGiftWin : UIBase
+{
+ [SerializeField] ScrollerController m_Controller;
+ [SerializeField] Button CloseBtn;
+ [SerializeField] TextEx actTime;
+
+ protected override void InitComponent()
+ {
+ CloseBtn.SetListener(CloseWindow);
+ }
+
+ protected override void OnPreOpen()
+ {
+ m_Controller.OnRefreshCell += OnRefreshCell;
+ RechargeManager.Instance.rechargeCountEvent += VipModel_rechargeCountEvent;
+ CustomizedGiftModel.Instance.UpdateRechargeGiftActEvent += OnUpdateRechargeGiftActEvent;
+ GlobalTimeEvent.Instance.secondEvent += secondEvent;
+ secondEvent();
+ DisplayScroll();
+ }
+
+ void VipModel_rechargeCountEvent(int obj)
+ {
+ m_Controller.m_Scorller.RefreshActiveCellViews();
+ }
+
+
+ protected override void OnPreClose()
+ {
+ m_Controller.OnRefreshCell -= OnRefreshCell;
+ RechargeManager.Instance.rechargeCountEvent -= VipModel_rechargeCountEvent;
+ CustomizedGiftModel.Instance.UpdateRechargeGiftActEvent -= OnUpdateRechargeGiftActEvent;
+ GlobalTimeEvent.Instance.secondEvent -= secondEvent;
+ }
+ void secondEvent()
+ {
+ OperationBase holiday;
+ if (!OperationTimeHepler.Instance.TryGetOperation(CustomizedGiftModel.operaType, out holiday))
+ {
+ return;
+ }
+ actTime.text = Language.Get("BossFHLanguage2", TimeUtility.SecondsToHMS(holiday.GetResetSurplusTime()));
+ }
+
+ void OnUpdateRechargeGiftActEvent()
+ {
+ m_Controller.m_Scorller.RefreshActiveCellViews();
+ }
+
+ void DisplayScroll()
+ {
+ m_Controller.Refresh();
+ OperationRechargeGiftAct act;
+ OperationTimeHepler.Instance.TryGetOperation(CustomizedGiftModel.operaType, out act);
+
+ for (int i = 0; i <= act.ctgIDs.Count; i++)
+ {
+ m_Controller.AddCell(ScrollerDataType.Header, i);
+ }
+ m_Controller.Restart();
+
+ }
+
+ private void OnRefreshCell(ScrollerDataType type, CellView cell)
+ {
+ var _cell = cell as CustomizedGiftCell;
+ _cell.Display(_cell.index);
+ }
+}
+
+
+
+
diff --git a/Main/System/CustomizedGift/CustomizedGiftWin.cs.meta b/Main/System/CustomizedGift/CustomizedGiftWin.cs.meta
new file mode 100644
index 0000000..0b4e010
--- /dev/null
+++ b/Main/System/CustomizedGift/CustomizedGiftWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5aa4d2b8fc7462240babdc13f8111fbb
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/CustomizedGift/CustomizedItemCell.cs b/Main/System/CustomizedGift/CustomizedItemCell.cs
new file mode 100644
index 0000000..1377ab8
--- /dev/null
+++ b/Main/System/CustomizedGift/CustomizedItemCell.cs
@@ -0,0 +1,35 @@
+锘�
+using UnityEngine;
+using UnityEngine.UI;
+
+
+//鑷�夊晢鍝佺殑UI鏄剧ず锛屽鍔犲搴旂殑閫夋嫨鍥剧墖鍗冲彲
+public class CustomizedItemCell : ItemCell
+{
+
+ [SerializeField] Image addImage; //鍥剧墖鍙傝�� ItemNormal_a 鍜� zxlb_+
+
+
+ public override void Init(ItemCellModel model)
+ {
+ if (model == null)
+ {
+ for (int i = 0; i < transform.childCount; i++)
+ {
+ transform.GetChild(i).SetActive(false);
+ }
+ button.SetActive(true);
+ addImage?.SetActive(true); //娉ㄦ剰鍥剧墖璁剧疆涓轰笉鍙偣鍑�
+ }
+ else
+ {
+ for (int i = 0; i < transform.childCount; i++)
+ {
+ transform.GetChild(i).SetActive(true);
+ }
+ base.Init(model);
+ addImage?.SetActive(false);
+ }
+
+ }
+}
diff --git a/Main/System/CustomizedGift/CustomizedItemCell.cs.meta b/Main/System/CustomizedGift/CustomizedItemCell.cs.meta
new file mode 100644
index 0000000..0116370
--- /dev/null
+++ b/Main/System/CustomizedGift/CustomizedItemCell.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 34e1dcbb05ab0a5489087b2de193ed80
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/CustomizedGift/CustomizedRechargeModel.cs b/Main/System/CustomizedGift/CustomizedRechargeModel.cs
new file mode 100644
index 0000000..3aabd1a
--- /dev/null
+++ b/Main/System/CustomizedGift/CustomizedRechargeModel.cs
@@ -0,0 +1,179 @@
+锘縰sing System;
+using System.Collections.Generic;
+
+
+//鍏呭�艰嚜閫夊姛鑳�
+public class CustomizedRechargeModel : GameSystemManager<CustomizedRechargeModel>
+{
+ public const int MaxGridCount = 4; //鏈�澶�4涓彲閫夋牸瀛�
+
+ //鐢ㄦ埛閫夋嫨闈㈡澘
+ public int chooseWinIndex = 0; //鐢ㄦ埛閫夋嫨闈㈡澘 褰撳墠閫変腑鐨勬牸瀛�(鑷�変綅绱㈠紩)
+ public int chooseCTGID = 0; //鐢ㄦ埛閫夋嫨闈㈡澘 褰撳墠閫変腑鐨勭ぜ鍖卛d
+ public Dictionary<int, int> chooseIndexDict = new Dictionary<int, int>(); //鐢ㄦ埛鍦ㄩ�夋嫨闈㈡澘涓凡閫変腑鐗╁搧鏍忎腑鐨勭储寮�
+
+ public Action UpdateWin;
+
+ public override void Init()
+ {
+ }
+
+
+ //鑷�夌ぜ鍖� 鐗╁搧淇℃伅
+ //count涓哄浐瀹氱殑鏁伴噺锛宻umCount鍖呭惈鑷�夋牸瀛愭�绘暟閲忎笉绠℃槸鍚﹀凡閫�
+ public bool TryGetRechargeItemEx(int ctgId, out List<Item> items, out int count, out int sumCount)
+ {
+ count = 0;
+ sumCount = 0;
+ items = new List<Item>();
+ List<Item> awards = new List<Item>();
+ if (!RechargeManager.Instance.TryGetRechargeItem(ctgId, out awards))
+ return false;
+
+ RechargeManager.RechargeCount rechargeCount;
+ if (!RechargeManager.Instance.TryGetRechargeCount(ctgId, out rechargeCount))
+ {
+ return false;
+ }
+
+ count = awards.Count;
+ for (int i = 0; i < awards.Count; i++)
+ {
+ items.Add(awards[i]);
+ }
+ var selectItemInfo = CTGConfig.Get(ctgId).SelectItemInfo;
+ if (selectItemInfo != null && selectItemInfo.Length != 0)
+ {
+ sumCount = selectItemInfo.Length + items.Count;
+
+ var selectedItemIndexs = GetSelectedItems(rechargeCount.selectItemValue);
+ //鑷��
+ for (int j = 0; j < selectedItemIndexs.Count; j++)
+ {
+ int selectID = selectItemInfo[j][selectedItemIndexs[j] - 1];
+
+ items.Add(new Item(CTGSelectItemConfig.Get(selectID).ItemID, CTGSelectItemConfig.Get(selectID).ItemCount));
+ }
+ }
+ else
+ {
+ sumCount = count;
+ }
+
+ return true;
+ }
+
+ //绾﹀畾鏈�澶�4涓彲閫�, 鍙湁鍏ㄩ�夊拰鏈�変袱绉嶇姸鎬�
+ public List<int> GetSelectedItems(int SelectItemValue)
+ {
+ if (SelectItemValue <= 0)
+ return new List<int>();
+ var list = new List<int>();
+
+ for (int i = 0; i < MaxGridCount; i++)
+ {
+ int itemIndex = (int)(SelectItemValue % 100);
+ if (itemIndex == 0)
+ break;
+ SelectItemValue /= 100;
+ list.Add(itemIndex);
+ }
+
+ return list;
+ }
+
+ public uint GetSelectedItemValue()
+ {
+ uint SelectItemValue = 0;
+
+ for (int i = 0; i < MaxGridCount; i++)
+ {
+ if (chooseIndexDict.ContainsKey(i))
+ {
+ SelectItemValue += (uint)(chooseIndexDict[i] * Math.Pow(100, i));
+ }
+ }
+
+ return SelectItemValue;
+ }
+
+
+
+ public void InitChoose()
+ {
+ RechargeManager.RechargeCount rechargeCount;
+ RechargeManager.Instance.TryGetRechargeCount(chooseCTGID, out rechargeCount);
+
+ var selectedItemIndexs = CustomizedRechargeModel.Instance.GetSelectedItems(rechargeCount.selectItemValue);
+
+ if (selectedItemIndexs.Count == 0)
+ {
+ chooseIndexDict.Clear();
+ return;
+ }
+
+ for (int i = 0; i < selectedItemIndexs.Count; i++)
+ {
+ chooseIndexDict[i] = selectedItemIndexs[i];
+ }
+ }
+
+ //0 鏈�変腑锛屼粠1寮�濮�
+ public int GetChooseSubIndex(int index)
+ {
+ if (chooseIndexDict.ContainsKey(index))
+ return chooseIndexDict[index];
+ return 0;
+ }
+
+ public void ShowUIItems(List<CustomizedItemCell> itemCells, int ctgID)
+ {
+ int goodsCount; //鍥哄畾鍟嗗搧绉嶇被鏁伴噺
+ int goodsSumCount; //鍟嗗搧鎬绘暟閲�
+ List<Item> awards = new List<Item>();
+ TryGetRechargeItemEx(ctgID, out awards, out goodsCount, out goodsSumCount);
+ RechargeManager.RechargeCount rechargeCount;
+ RechargeManager.Instance.TryGetRechargeCount(ctgID, out rechargeCount);
+ for (int i = 0; i < itemCells.Count; i++)
+ {
+ if (i < goodsSumCount)
+ {
+ itemCells[i].SetActive(true);
+ int index = i;
+ if (i < awards.Count)
+ {
+ var award = awards[i];
+ var itemData = new ItemCellModel(award.id, false, (ulong)award.count);
+ itemCells[i].Init(itemData);
+ itemCells[i].button.SetListener(() =>
+ {
+ if (index < goodsCount)
+ ItemTipUtility.Show(award.id);
+ else
+ {
+ //鍙嚜閫�
+ chooseWinIndex = index - goodsCount;
+ chooseCTGID = ctgID;
+ UIManager.Instance.OpenWindow<CustomizedGiftChooseWin>();
+ }
+
+ });
+ }
+ else
+ {
+ itemCells[i].Init(null);
+ itemCells[i].button.SetListener(() =>
+ {
+ chooseWinIndex = index - goodsCount;
+ chooseCTGID = ctgID;
+ UIManager.Instance.OpenWindow<CustomizedGiftChooseWin>();
+ });
+ }
+ }
+ else
+ {
+ itemCells[i].SetActive(false);
+ }
+ }
+ }
+}
diff --git a/Main/System/CustomizedGift/CustomizedRechargeModel.cs.meta b/Main/System/CustomizedGift/CustomizedRechargeModel.cs.meta
new file mode 100644
index 0000000..9efb481
--- /dev/null
+++ b/Main/System/CustomizedGift/CustomizedRechargeModel.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: cb2a950b178a4f04892b127390d7f517
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/GeneralConfig/DayRemind.cs b/Main/System/GeneralConfig/DayRemind.cs
new file mode 100644
index 0000000..107b885
--- /dev/null
+++ b/Main/System/GeneralConfig/DayRemind.cs
@@ -0,0 +1,89 @@
+锘縰sing System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+
+
+public class DayRemind
+{
+
+ private static DayRemind m_Instance = null;
+
+ public static DayRemind Instance
+ {
+ get
+ {
+ if (m_Instance == null)
+ {
+ m_Instance = new DayRemind();
+ }
+ return m_Instance;
+ }
+ }
+
+ protected DayRemind()
+ {
+ GetPlayerDayRemind();
+ DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent += AfterPlayerDataInitializeEvent;
+ }
+
+ private void AfterPlayerDataInitializeEvent()
+ {
+ GetPlayerDayRemind();
+ }
+
+ public const string DJQTip = "DJQTip"; // 浠i噾鍒告彁绀�
+
+ public Dictionary<string, int[]> dayRemindDic = new Dictionary<string, int[]>();
+
+ public bool GetDayRemind(string _remindKey)
+ {
+ int[] intarray = null;
+ dayRemindDic.TryGetValue(_remindKey, out intarray);
+ if (intarray == null)
+ {
+ SetDayRemind(_remindKey);
+ }
+ if (intarray != null && intarray.Length == 3)
+ {
+ if (intarray[0] != TimeUtility.ServerNow.Month || intarray[1] != TimeUtility.ServerNow.Day)
+ {
+ SetDayRemind(_remindKey, false);
+ return false;
+ }
+ return intarray[2] == 1;
+ }
+ return false;
+ }
+
+ public void SetDayRemind(string _remindKey, bool _remind)
+ {
+ int[] intarray = null;
+ dayRemindDic.TryGetValue(_remindKey, out intarray);
+ if (intarray == null)
+ {
+ intarray = new int[3];
+ dayRemindDic[_remindKey] = intarray;
+ }
+ intarray[0] = TimeUtility.ServerNow.Month;
+ intarray[1] = TimeUtility.ServerNow.Day;
+ intarray[2] = _remind ? 1 : 0;
+ LocalSave.SetIntArray(StringUtility.Contact(_remindKey, PlayerDatas.Instance.baseData.PlayerID), intarray);
+ }
+
+ private void GetPlayerDayRemind()
+ {
+ SetDayRemind(DJQTip);
+ }
+
+ public void SetDayRemind(string _key)
+ {
+ var intarray = LocalSave.GetIntArray(StringUtility.Contact(_key, PlayerDatas.Instance.baseData.PlayerID));
+ if (dayRemindDic.ContainsKey(_key))
+ {
+ dayRemindDic[_key] = intarray;
+ return;
+ }
+ dayRemindDic.Add(_key, intarray);
+ }
+}
diff --git a/Main/System/GeneralConfig/DayRemind.cs.meta b/Main/System/GeneralConfig/DayRemind.cs.meta
new file mode 100644
index 0000000..3e155f5
--- /dev/null
+++ b/Main/System/GeneralConfig/DayRemind.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 0fadc227d46f3b9498a26159494f538f
+timeCreated: 1512524149
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/KnapSack/Logic/ItemLogicUtility.cs b/Main/System/KnapSack/Logic/ItemLogicUtility.cs
index f7dbecb..829d8c5 100644
--- a/Main/System/KnapSack/Logic/ItemLogicUtility.cs
+++ b/Main/System/KnapSack/Logic/ItemLogicUtility.cs
@@ -1262,29 +1262,25 @@
public bool isPackResetOk { get; set; }
public void ResetPack(PackType type)
{
- // if (lookLineIndex > -1)
- // {
- // SetLookIndex(null);
- // }
+ if (lookLineIndex > -1)
+ {
+ SetLookIndex(null);
+ }
- // if (KnapSackWin.titleType == KnapsackFuncTitle.bag)
- // {
- // packModel.isPlayBetterEquipEffect = true;
- // }
- // SinglePack singlePack = packModel.GetSinglePack(type);
- // if (singlePack != null)
- // {
- // var packReset = new C070F_tagCItemPackReset();
- // packReset.Type = (byte)type;
- // packReset.ItemBeginIndex = 0;
- // packReset.ItemEndIndex = (ushort)(singlePack.unlockedGridCount - 1);
- // GameNetSystem.Instance.SendInfo(packReset); //鏁寸悊鐗╁搧
- // if (type == PackType.Item)
- // {
- // isPackResetOk = false;
- // }
- // }
+ SinglePack singlePack = packModel.GetSinglePack(type);
+ if (singlePack != null)
+ {
+ var packReset = new C070F_tagCItemPackReset();
+ packReset.Type = (byte)type;
+ packReset.ItemBeginIndex = 0;
+ packReset.ItemEndIndex = (ushort)(singlePack.unlockedGridCount - 1);
+ GameNetSystem.Instance.SendInfo(packReset); //鏁寸悊鐗╁搧
+ if (type == PackType.Item)
+ {
+ isPackResetOk = false;
+ }
+ }
}
#endregion
diff --git a/Main/System/KnapSack/Logic/ItemModel.cs b/Main/System/KnapSack/Logic/ItemModel.cs
index 833bc56..4b926c8 100644
--- a/Main/System/KnapSack/Logic/ItemModel.cs
+++ b/Main/System/KnapSack/Logic/ItemModel.cs
@@ -21,8 +21,6 @@
public int auctionSurplusTime {
get {
- return 0;
- /*
var createTime = GetUseDataFirstValue(50);
if (createTime > 0)
{
@@ -33,7 +31,6 @@
{
return 0;
}
- */
}
}
diff --git a/Main/System/OpenServerActivity.meta b/Main/System/OpenServerActivity.meta
new file mode 100644
index 0000000..7c660fc
--- /dev/null
+++ b/Main/System/OpenServerActivity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d33e244e9be6fe1458ef78c0181b3ac4
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/OpenServerActivity/OpenServerActivityCenter.cs b/Main/System/OpenServerActivity/OpenServerActivityCenter.cs
new file mode 100644
index 0000000..8abb28f
--- /dev/null
+++ b/Main/System/OpenServerActivity/OpenServerActivityCenter.cs
@@ -0,0 +1,206 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+//淇敼鎴愭帶鍒跺涓椿鍔ㄦā鍧楋紝濡傜簿褰╂椿鍔ㄦā鏉�1锛岀簿褰╂椿鍔ㄦā鏉�2
+
+public class OpenServerActivityCenter : Singleton<OpenServerActivityCenter>
+{
+ public event Action openServerActivityStateChange;
+
+ //{娲诲姩妯℃澘锛歿娲诲姩ID锛氭椿鍔ㄦ帴鍙}
+ Dictionary<int, Dictionary<int, IOpenServerActivity>> GameServerActivitys = new Dictionary<int, Dictionary<int, IOpenServerActivity>>();
+
+ public int selectFuncOrder = -1;
+
+ public enum ActivityType
+ {
+ AT_JCHD = 0, //绮惧僵娲诲姩
+ AT_JRZF, //鑺傛棩绁濈
+ AT_HFHD, //鍚堟湇娲诲姩
+ AT_Activity1, //棰勫娲诲姩1
+ AT_Activity2, //鏃ユ湡鍨嬫椿鍔�- 鎸夋棩鏈熷紑鏀剧殑鎺掕姒滅郴鍒楁椿鍔ㄧ浉鍏� id浠�200寮�濮嬶紙涓庡叾浠栨椿鍔ㄥ尯鍒嗭紝铏界劧id閲嶅骞舵病鏈夊叧绯伙級锛� 绫诲悓鑺傛棩娲诲姩
+ AT_Activity3, //棰勫娲诲姩3
+ //鍚庣画IL寮�鍙戞坊鍔犻璁�
+ default1,
+ default2,
+ default3,
+ default4,
+ default5,
+ default6,
+ default7,
+ default8,
+ default9,
+ default10,
+ }
+
+ public OpenServerActivityCenter()
+ {
+ TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
+ }
+
+ public void Register(int funcOrder, IOpenServerActivity activity, int activityType = (int)ActivityType.AT_JCHD)
+ {
+ if (!GameServerActivitys.ContainsKey(activityType))
+ {
+ GameServerActivitys.Add(activityType, new Dictionary<int, IOpenServerActivity>());
+ }
+
+ var openServerActivitys = GameServerActivitys[activityType];
+ if (!openServerActivitys.ContainsKey(funcOrder))
+ {
+ openServerActivitys.Add(funcOrder, activity);
+ activity.onStateUpdate += OnStateUpdate;
+ }
+ }
+
+ private void OnStateUpdate(int _order)
+ {
+ if (openServerActivityStateChange != null)
+ {
+ openServerActivityStateChange();
+ }
+ }
+
+ private void OnServerOpenDayRefresh()
+ {
+ if (openServerActivityStateChange != null)
+ {
+ openServerActivityStateChange();
+ }
+ }
+
+ public bool IsAnyActivityOpen(out int _functionOrder, int activityType = (int)ActivityType.AT_JCHD)
+ {
+ if (!GameServerActivitys.ContainsKey(activityType))
+ {
+ GameServerActivitys.Add(activityType, new Dictionary<int, IOpenServerActivity>());
+ }
+
+ var openServerActivitys = GameServerActivitys[activityType];
+ _functionOrder = 0;
+ foreach (var _order in openServerActivitys.Keys)
+ {
+ if (openServerActivitys[_order].IsOpen || openServerActivitys[_order].IsAdvance)
+ {
+ _functionOrder = _order;
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public bool IsActivityOpen(int _funcOrder, int activityType = (int)ActivityType.AT_JCHD)
+ {
+ if (!GameServerActivitys.ContainsKey(activityType))
+ {
+ GameServerActivitys.Add(activityType, new Dictionary<int, IOpenServerActivity>());
+ }
+
+ bool isOpen = false;
+ var openServerActivitys = GameServerActivitys[activityType];
+ if (openServerActivitys.ContainsKey(_funcOrder))
+ {
+ isOpen = openServerActivitys[_funcOrder].IsOpen || openServerActivitys[_funcOrder].IsAdvance;
+ }
+
+ return isOpen;
+ }
+
+ public bool IsPriorityOpenOpen(int _funcOrder, int activityType = (int)ActivityType.AT_JCHD)
+ {
+ if (!GameServerActivitys.ContainsKey(activityType))
+ {
+ GameServerActivitys.Add(activityType, new Dictionary<int, IOpenServerActivity>());
+ }
+
+ var openServerActivitys = GameServerActivitys[activityType];
+ if (openServerActivitys.ContainsKey(_funcOrder))
+ {
+ return openServerActivitys[_funcOrder].priorityOpen;
+ }
+ return false;
+ }
+
+
+
+
+ public void ProcessErrorTip()
+ {
+ SysNotifyMgr.Instance.ShowTip("ActiveOutTime");
+ }
+
+ //AT_Activity2 鏃ユ湡鍨嬫椿鍔�-榛樿璁捐閮芥槸鍚屼竴涓叆鍙o紝鏍规嵁娲诲姩鏇挎崲鍥炬爣鍜屽悕绉帮紝鎵撳紑涓嶅悓鐣岄潰
+ public NewDayActivityInfo GetNewDayActionEnterInfo()
+ {
+ if (IsActivityOpen((int)NewDayActivityID.BossTrial, (int)ActivityType.AT_Activity2))
+ {
+ return new NewDayActivityInfo() { activityID = (int)NewDayActivityID.BossTrial, redpointID = MainRedDot.BossTrialRepoint, winName = "BossTrialActWin" };
+ }
+ else if (IsActivityOpen((int)NewDayActivityID.SecretPlaceXB, (int)ActivityType.AT_Activity2))
+ {
+ return new NewDayActivityInfo() { activityID = (int)NewDayActivityID.SecretPlaceXB, redpointID = MainRedDot.MjxbRedpoint, winName = "SecretPlaceActWin" };
+ }
+ else if (IsActivityOpen((int)NewDayActivityID.PetHorseAct, (int)ActivityType.AT_Activity2))
+ {
+ return new NewDayActivityInfo() { activityID = (int)NewDayActivityID.PetHorseAct, redpointID = MainRedDot.QCTrainActRedpoint, winName = "PetHorseActWin" };
+ }
+ else if (IsActivityOpen((int)NewDayActivityID.TreasurePavilionAct, (int)ActivityType.AT_Activity2))
+ {
+ return new NewDayActivityInfo() { activityID = (int)NewDayActivityID.TreasurePavilionAct, redpointID = MainRedDot.TreasurePavilionRankActRepoint, winName = "TreasurePavilionRankActWin" };
+ }
+
+ return new NewDayActivityInfo() { activityID = 0 };
+ }
+
+ //AT_Activity2 鍏ュ彛淇℃伅
+ public struct NewDayActivityInfo
+ {
+ public int activityID;
+ public int redpointID;
+ public string winName;
+ }
+}
+
+public interface IOpenServerActivity
+{
+ bool IsOpen { get; }
+ bool IsAdvance { get; }
+ bool priorityOpen { get; }
+
+ event Action<int> onStateUpdate;
+}
+
+public class ILOpenServerActivityProxy : IOpenServerActivity
+{
+ public bool IsOpen => funcIsOpen();
+
+ public bool IsAdvance => funcIsAdvance();
+
+ public bool priorityOpen => funcPriorityOpen();
+
+ public event Action<int> onStateUpdate;
+
+ private Func<bool> funcIsOpen;
+ private Func<bool> funcIsAdvance;
+ private Func<bool> funcPriorityOpen;
+
+ public ILOpenServerActivityProxy(Func<bool> isOpen, Func<bool> isAdvance, Func<bool> priorityOpen)
+ {
+ funcIsOpen = isOpen;
+ funcIsAdvance = isAdvance;
+ funcPriorityOpen = priorityOpen;
+ }
+
+
+ public void StateUpdate(int id)
+ {
+ if (onStateUpdate != null)
+ {
+ onStateUpdate(id);
+ }
+ }
+
+}
+
+
diff --git a/Main/System/OpenServerActivity/OpenServerActivityCenter.cs.meta b/Main/System/OpenServerActivity/OpenServerActivityCenter.cs.meta
new file mode 100644
index 0000000..0b6047f
--- /dev/null
+++ b/Main/System/OpenServerActivity/OpenServerActivityCenter.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 8c3fdbb5fddadb4439b0d3a3fc985963
+timeCreated: 1560857826
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/OpenServerActivity/OperationBase.cs b/Main/System/OpenServerActivity/OperationBase.cs
new file mode 100644
index 0000000..1d3f978
--- /dev/null
+++ b/Main/System/OpenServerActivity/OperationBase.cs
@@ -0,0 +1,508 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+//娲诲姩鏃堕棿瀛樺湪涓ょ
+// 1. 鍙備笌鏃舵鍜岄濂栨椂娈碉紝姣忔棩涓嶉噸缃� 濡� 1鏈�1鍙� 1鐐� - 1鏈�3鍙� 22鐐逛负娲诲姩鏃堕棿锛�1鏈�3鍙� 22鐐� - 24鐐逛负灞曠ず鏃堕棿
+// 姣忔棩閲嶇疆 濡� 1鏈�1鍙� - 1鏈�3鍙� 涓瘡鏃� 1鐐�- 22鐐逛负娲诲姩鏃堕棿锛� 22鐐� - 24鐐逛负灞曠ず鏃堕棿
+// 2. 姣忔棩鐨勬椂闂存锛屽姣忔棩鐨勫弻鍊嶇粡楠屾椿鍔ㄦ槸 18鐐�-20鐐癸紝娲诲姩鏁翠釜鍛ㄦ湡涓� 1鏈�1鍙�-1鏈�3鍙�
+public class OperationBase
+{
+ public OperationDate startDate;
+ public OperationDate endDate;
+ public List<OperationTime> times = new List<OperationTime>(); //涓�瀹氭槸姣忔棩閲岀殑娲诲姩鏃堕棿娈�
+
+ //褰撴湰鏈嶅拰璺ㄦ湇涓哄叡鍚屾椿鍔ㄦ椂锛屾瘡鏃ュ紑鍚椂闂翠細閰嶇疆鏅氬嚑鍒嗛挓寮�鏀撅紝浠ヤ究浜庡悓姝ヨ法鏈嶄笉浼氶�犳垚涓嶅悓鏈嶅姟鍣ㄧ殑鏃堕棿宸棶棰�
+ public int joinStartHour; //鍙弬涓庢椿鍔ㄧ殑鏃堕棿娈碉紝褰撴瘡鏃ラ噸缃椂涓烘瘡鏃ョ殑鏃堕棿娈碉紱褰撲笉閲嶇疆鏃讹紝涓烘椿鍔ㄧ涓�澶╃殑寮�濮嬫椂鍒嗗拰鏈�鍚庝竴澶╃殑缁撴潫鏃跺垎
+ public int joinStartMinute;
+ public int joinEndHour;
+ public int joinEndMinute;
+
+
+ /// <summary>
+ /// 鏄惁姣忔棩閲嶇疆
+ /// </summary>
+ public bool dayReset = false;
+ /// <summary>
+ /// 0-0鐐归噸缃紝1-5鐐归噸缃�
+ /// </summary>
+ public int resetType = 0;
+
+ public const int DayResetHour = 5;
+
+ public bool stepTimeNotify = false;
+ public bool stepDateNotify = false;
+
+ public bool inTimeNotify = false;
+ public bool inDateNotify = false;
+
+ public int inAdvanceMinute = 0;
+ public bool inAdvanceNotify = false;
+
+ public int limitLv;
+ public int ActNum; //娲诲姩缂栧彿 鍐冲畾浜嗕娇鐢ㄥ摢涓椿鍔ㄧ晫闈�
+
+ public bool allDay
+ {
+ get { return times.Count <= 0; }
+ }
+
+ public int totalDays
+ {
+ get { return endDate - startDate; }
+ }
+
+ public bool IsLastDay
+ {
+ get
+ {
+ return IndexOfDays(TimeUtility.ServerNow) == totalDays;
+ }
+ }
+
+ public bool InTime(DateTime time)
+ {
+ if (!InDay(time))
+ {
+ return false;
+ }
+ if (allDay)
+ {
+ return InDayResetTime(time);
+ }
+ for (int i = 0; i < times.Count; i++)
+ {
+ if (times[i].InTime(time))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ bool InDayResetTime(DateTime time)
+ {
+ if (!InDay(time))
+ {
+ return false;
+ }
+ switch (resetType)
+ {
+ case 0:
+ {
+ return true;
+ }
+ case 1:
+ {
+ var indexOfDays = IndexOfDays(time);
+ if (indexOfDays == 0)
+ {
+ return time.Hour >= DayResetHour;
+ }
+ if (indexOfDays == totalDays)
+ {
+ return time.Hour < DayResetHour;
+ }
+ if (indexOfDays < totalDays)
+ {
+ return true;
+ }
+ }
+ break;
+ case 2:
+ {
+ var indexOfDays = IndexOfDays(time);
+ if (indexOfDays == 0)
+ {
+ return time.Hour >= DayResetHour;
+ }
+ return true;
+ }
+
+ }
+ return false;
+ }
+
+ public bool InDay(DateTime time)
+ {
+ OperationDate date = new OperationDate()
+ {
+ year = time.Year,
+ month = time.Month,
+ day = time.Day,
+ };
+ return date >= startDate && date <= endDate;
+ }
+
+ //鏃ユ湡鑼冨洿InDay - 鏃舵鑼冨洿 - 閲嶇疆鏃堕棿鑼冨洿
+ public bool InJoinTime(DateTime time)
+ {
+ if (!InDay(time))
+ {
+ return false;
+ }
+
+ if (!InJoinHourMinute(time))
+ {
+ return false;
+ }
+
+ if (allDay)
+ {
+ return InDayResetTime(time);
+ }
+ for (int i = 0; i < times.Count; i++)
+ {
+ if (times[i].InTime(time))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ //鏃ユ湡鑼冨洿InDay - 鏃舵鑼冨洿 - 閲嶇疆鏃堕棿鑼冨洿
+ //鍙弬涓庢椿鍔ㄧ殑鏃堕棿娈碉紝褰撴瘡鏃ラ噸缃椂涓烘瘡鏃ョ殑鏃堕棿娈碉紱褰撲笉閲嶇疆鏃讹紝涓烘椿鍔ㄧ涓�澶╃殑寮�濮嬫椂鍒嗗拰鏈�鍚庝竴澶╃殑缁撴潫鏃跺垎
+ //灞炰簬 鏃舵鑼冨洿 鐨勫垽鏂紝鍦↖nday涔嬪悗
+ public bool InJoinHourMinute(DateTime time)
+ {
+ OperationDate date = new OperationDate()
+ {
+ year = time.Year,
+ month = time.Month,
+ day = time.Day,
+ };
+ if (joinStartHour != 0 || joinStartMinute != 0 || joinEndHour != 0 || joinEndMinute != 0)
+ {
+ if (dayReset)
+ {
+ //姣忔棩閲嶇疆,鍒ゆ柇鏃跺垎
+ if (time.Hour * 60 + time.Minute >= joinStartHour * 60 + joinStartMinute &&
+ time.Hour * 60 + time.Minute < joinEndHour * 60 + joinEndMinute)
+ {
+ return true;
+ }
+ return false;
+ }
+ else
+ {
+ //涓嶉噸缃紝鍒ゆ柇鏃ユ湡
+ if (date == startDate)
+ {
+ if (time.Hour * 60 + time.Minute >= joinStartHour * 60 + joinStartMinute)
+ {
+ return true;
+ }
+ }
+ else if (date == endDate)
+ {
+ if (time.Hour * 60 + time.Minute < joinEndHour * 60 + joinEndMinute)
+ {
+ return true;
+ }
+ }
+ else if (date > startDate && date < endDate)
+ {
+ return true;
+ }
+ return false;
+ }
+ }
+ return true;
+ }
+
+ //鏄惁鍑嗗鏃堕棿锛氭椿鍔ㄥ紑濮嬪埌鍙弬涓庢椿鍔ㄧ殑鏃堕棿娈�
+ public bool IsPrepareTime(DateTime time)
+ {
+ OperationDate date = new OperationDate()
+ {
+ year = time.Year,
+ month = time.Month,
+ day = time.Day,
+ };
+
+ if (date == startDate)
+ {
+ if (time.Hour * 60 + time.Minute < joinStartHour * 60 + joinStartMinute)
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ public int IndexOfDays(DateTime time)
+ {
+ if (!InDay(time))
+ {
+ return -1;
+ }
+ DateTime s = new DateTime(startDate.year, startDate.month, startDate.day);
+ return (time - s).Days;
+ }
+
+ protected virtual int IndexOfTime(DateTime time, int compare = 0)
+ {
+ if (allDay)
+ {
+ if (!dayReset)
+ {
+ return 0;
+ }
+ var index = Mathf.Max(0, IndexOfDays(time));
+ switch (resetType)
+ {
+ case 0:
+ return index;
+ case 1:
+ case 2:
+ return time.Hour < DayResetHour ? Mathf.Max(0, index - 1) : index;
+ default:
+ return index;
+ }
+ }
+ else
+ {
+ var index = 0;
+ bool equalCompare = false;
+ for (int i = 0; i < times.Count; i++)
+ {
+ if (times[i].InTime(time))
+ {
+ index = i;
+ break;
+ }
+ if (!equalCompare && times[i].CompareTime(TimeUtility.ServerNow) == compare)
+ {
+ index = i;
+ equalCompare = true;
+ }
+ }
+ return index;
+ }
+ }
+
+ public int GetSurplusTime(DateTime time)
+ {
+ var seconds = 0;
+ if (InTime(time))
+ {
+ if (allDay)
+ {
+ seconds += GetSurplusDayResetTime(time);
+ }
+ else
+ {
+ for (int i = 0; i < times.Count; i++)
+ {
+ if (times[i].InTime(time))
+ {
+ seconds += times[i] - time;
+ break;
+ }
+ }
+ }
+ }
+ return seconds;
+ }
+
+ int GetSurplusDayResetTime(DateTime time)
+ {
+ switch (resetType)
+ {
+ case 0:
+ case 2:
+ return (int)(endDate.AddSeconds(24 * 60 * 60) - time).TotalSeconds;
+ case 1:
+ var endTime = new DateTime(endDate.year, endDate.month, endDate.day, DayResetHour, 0, 0);
+ return (int)(endTime - time).TotalSeconds;
+ }
+ return 0;
+ }
+
+ public bool InAdvanceTime(DateTime time)
+ {
+ if (inAdvanceMinute <= 0)
+ {
+ return false;
+ }
+ var advanceSeconds = inAdvanceMinute * 60;
+ var beforeStartSeconds = GetSecondsBeforeStart(time);
+ return beforeStartSeconds > 0 && beforeStartSeconds <= advanceSeconds;
+ }
+
+ public int GetSecondsBeforeStart(DateTime time)
+ {
+ var seconds = 0;
+ if (InTime(time))
+ {
+ return 0;
+ }
+ if (allDay)
+ {
+ var startHour = 0;
+ switch (resetType)
+ {
+ case 0:
+ startHour = 0;
+ break;
+ case 1:
+ case 2:
+ startHour = DayResetHour;
+ break;
+ }
+ var startTime = new DateTime(startDate.year, startDate.month, startDate.day, startHour, 0, 0);
+ seconds = Mathf.CeilToInt((float)(startTime - time).TotalSeconds);
+ }
+ else
+ {
+ var index = IndexOfDays(time);
+ var date = startDate.AddDays(index);
+ for (int i = 0; i < times.Count; i++)
+ {
+ var startTime = new DateTime(date.year, date.month, date.day, times[i].startHour, times[i].startMinute, 0);
+ seconds = Mathf.CeilToInt((float)(startTime - time).TotalSeconds);
+ if (seconds > 0)
+ {
+ break;
+ }
+ }
+ }
+ return seconds;
+ }
+
+ public int GetResetSurplusTime()
+ {
+ var time = TimeUtility.ServerNow;
+ if (!InTime(time))
+ {
+ return 0;
+ }
+ var seconds = 0;
+ if (allDay)
+ {
+ if (!dayReset)
+ {
+ return GetSurplusTime(time);
+ }
+ switch (resetType)
+ {
+ case 0:
+ {
+ DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
+ TimeUtility.Day, 0, 0, 0);
+ endOperationTime = endOperationTime.AddDays(1);
+ seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
+ }
+ break;
+ case 1:
+ {
+ DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
+ TimeUtility.Day, DayResetHour, 0, 0);
+ if (time.Hour >= DayResetHour)
+ {
+ endOperationTime = endOperationTime.AddDays(1);
+ }
+ seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
+ }
+ break;
+ case 2:
+ {
+ var indexOfDays = IndexOfDays(time);
+ DateTime endOperationTime = DateTime.Now;
+ if (indexOfDays == totalDays)
+ {
+ if (time.Hour >= DayResetHour)
+ {
+ endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
+ TimeUtility.Day, 0, 0, 0);
+ endOperationTime = endOperationTime.AddDays(1);
+ }
+ else
+ {
+ endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
+ TimeUtility.Day, DayResetHour, 0, 0);
+ }
+ }
+ else
+ {
+ endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
+ TimeUtility.Day, DayResetHour, 0, 0);
+ if (time.Hour >= DayResetHour)
+ {
+ endOperationTime = endOperationTime.AddDays(1);
+ }
+ }
+ seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
+ }
+ break;
+ }
+ }
+ else
+ {
+ for (int i = 0; i < times.Count; i++)
+ {
+ if (times[i].InTime(time))
+ {
+ DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
+ TimeUtility.Day, times[i].endHour, times[i].endMinute, 0);
+ seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
+ break;
+ }
+ }
+ }
+ return seconds;
+ }
+
+ public virtual string ToDisplayTime()
+ {
+ return string.Empty;
+ }
+
+ public virtual void Reset()
+ {
+ stepTimeNotify = false;
+ stepDateNotify = false;
+ inTimeNotify = false;
+ inDateNotify = false;
+ dayReset = false;
+ resetType = 0;
+ limitLv = 0;
+ inAdvanceNotify = false;
+ inAdvanceMinute = 0;
+ ActNum = 0;
+ times.Clear();
+ }
+
+ public virtual bool SatisfyOpenCondition()
+ {
+ return PlayerDatas.Instance.baseData.LV >= limitLv;
+ }
+
+ public void ParseJoinTime(string joinStart, string joinEnd)
+ {
+ joinStart = UIHelper.ServerStringTrim(joinStart);
+ joinEnd = UIHelper.ServerStringTrim(joinEnd);
+
+ if (string.IsNullOrEmpty(joinStart) || string.IsNullOrEmpty(joinEnd))
+ return;
+ var joinStarts = joinStart.Split(':');
+ var joinEnds = joinEnd.Split(':');
+ joinStartHour = int.Parse(joinStarts[0]);
+ joinStartMinute = int.Parse(joinStarts[1]);
+ joinEndHour = int.Parse(joinEnds[0]);
+ joinEndMinute = int.Parse(joinEnds[1]);
+ }
+}
+
+
+//娲诲姩鎺掕姒滃鍔� 鏈夌Н鍒嗛檺鍒跺拰棰濆濂栧姳
+public struct ActBillboardAwards
+{
+ public int needScore; // 涓婃鎵�闇�绉垎
+ public List<Item> awardItemList; // 濂栧姳鐗╁搧鍒楄〃
+ public int needScoreEx; // 棰濆濂栧姳鎵�闇�绉垎
+ public List<Item> awardItemListEx; // 棰濆濂栧姳鍒楄〃
+}
+
diff --git a/Main/System/OpenServerActivity/OperationBase.cs.meta b/Main/System/OpenServerActivity/OperationBase.cs.meta
new file mode 100644
index 0000000..2c25357
--- /dev/null
+++ b/Main/System/OpenServerActivity/OperationBase.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: d7a32da08ee54c94aa3e7054a83a2446
+timeCreated: 1536804239
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/OpenServerActivity/OperationRechargeGiftAct.cs b/Main/System/OpenServerActivity/OperationRechargeGiftAct.cs
new file mode 100644
index 0000000..8704b53
--- /dev/null
+++ b/Main/System/OpenServerActivity/OperationRechargeGiftAct.cs
@@ -0,0 +1,71 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+
+
+public class OperationRechargeGiftAct : OperationBase
+{
+ public List<int> ctgIDs = new List<int>();
+ public List<HAA74_tagMCActBuyCountGiftInfo.tagMCActBuyCountGift> buyCountGifts = new List<HAA74_tagMCActBuyCountGiftInfo.tagMCActBuyCountGift>();
+ public int shopType;
+
+ public override bool SatisfyOpenCondition()
+ {
+ return PlayerDatas.Instance.baseData.LV >= limitLv;
+ }
+
+ public override string ToDisplayTime()
+ {
+ var textBuilder = OperationTimeHepler.textBuilder;
+ textBuilder.Length = 0;
+ textBuilder.Append(startDate.ToDisplay());
+ if (startDate != endDate)
+ {
+ textBuilder.Append("鈥�");
+ textBuilder.Append(endDate.ToDisplay());
+ }
+ return textBuilder.ToString();
+ }
+ public string ToDisplayTimeEx()
+ {
+ var textBuilder = OperationTimeHepler.textBuilder;
+ textBuilder.Length = 0;
+ textBuilder.Append(startDate.ToDisplay(false));
+ textBuilder.Append(string.Format(" {0}:{1}", joinStartHour.ToString("D2"), joinStartMinute.ToString("D2")));
+ if (startDate != endDate)
+ {
+ textBuilder.Append(" - ");
+ textBuilder.Append(endDate.ToDisplay(false));
+ textBuilder.Append(string.Format(" {0}:{1}", joinEndHour.ToString("D2"), joinEndMinute.ToString("D2")));
+ }
+ return textBuilder.ToString();
+ }
+ public override void Reset()
+ {
+ base.Reset();
+ }
+
+ public void ParsePackage(HAA74_tagMCActBuyCountGiftInfo package)
+ {
+ ctgIDs.Clear();
+ buyCountGifts.Clear();
+ for (int i = 0; i < package.CTGIDCount; i++)
+ {
+ ctgIDs.Add(package.CTGIDList[i]);
+ }
+ for (int i = 0; i < package.GiftCount; i++)
+ {
+ buyCountGifts.Add(package.BuyCountGiftList[i]);
+ }
+ shopType = package.ShopType;
+
+ buyCountGifts.Sort(SortCount);
+ }
+
+
+
+ int SortCount(HAA74_tagMCActBuyCountGiftInfo.tagMCActBuyCountGift dataA, HAA74_tagMCActBuyCountGiftInfo.tagMCActBuyCountGift dataB)
+ {
+ return dataA.NeedBuyCount.CompareTo(dataB.NeedBuyCount);
+ }
+}
diff --git a/Main/System/OpenServerActivity/OperationRechargeGiftAct.cs.meta b/Main/System/OpenServerActivity/OperationRechargeGiftAct.cs.meta
new file mode 100644
index 0000000..3a153b1
--- /dev/null
+++ b/Main/System/OpenServerActivity/OperationRechargeGiftAct.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 706234ffb8039464ea944a81f0f99131
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/OpenServerActivity/OperationTimeHepler.cs b/Main/System/OpenServerActivity/OperationTimeHepler.cs
new file mode 100644
index 0000000..94ecc3c
--- /dev/null
+++ b/Main/System/OpenServerActivity/OperationTimeHepler.cs
@@ -0,0 +1,1135 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Text;
+using UnityEngine;
+
+public class OperationTimeHepler : Singleton<OperationTimeHepler>
+{
+ public Dictionary<Operation, OperationBase> operationDict = new Dictionary<Operation, OperationBase>();
+
+ public static StringBuilder textBuilder = new StringBuilder();
+
+ public event Action<Operation> operationTimeUpdateEvent;
+ public event Action<Operation> operationServerCloseEvent;//鐗规畩鎯呭喌涓嬭Е鍙�
+ public event Action<Operation, int> operationEndEvent;//娲诲姩缁撴潫鏃堕棿瑙﹀彂 绗簩涓弬鏁�0--杩囨椿鍔ㄦ椂闂磋Е鍙� 1--杩囨椿鍔ㄥぉ瑙﹀彂
+ public event Action<Operation, int> operationStartEvent;//娲诲姩寮�濮嬫椂闂村苟涓旀弧瓒冲紑鍚潯浠惰Е鍙� 绗簩涓弬鏁�0--娲诲姩鏃堕棿瑙﹀彂 1--娲诲姩澶╄Е鍙�
+ public event Action<int> dayResetEvent;//娲诲姩閲嶇疆浜嬩欢0-0鐐� 1-5鐐�
+ public event Action<Operation> operationAdvanceEvent;//娲诲姩鍦ㄦ彁鍓嶅紑鍚殑鏃堕棿鍐�
+
+ public OperationTimeHepler()
+ {
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent;
+ GlobalTimeEvent.Instance.secondEvent += SecondEvent;
+ TimeMgr.Instance.OnHourEvent += HourEvent;
+ }
+
+ private void BeforePlayerDataInitializeEvent()
+ {
+ operationDict.Clear();
+ }
+
+ private void SecondEvent()
+ {
+ if (!ConfigManager.Instance.isLoadFinished)
+ return;
+
+ if (!DTC0403_tagPlayerLoginLoadOK.finishedLogin)
+ {
+ return;
+ }
+ for (int i = 0; i < (int)Operation.max; i++)
+ {
+ if (operationDict.ContainsKey((Operation)i))
+ {
+ var operation = operationDict[(Operation)i];
+ if (!operation.inDateNotify && operation.SatisfyOpenCondition()
+ && operation.InDay(TimeUtility.ServerNow))
+ {
+ operation.inDateNotify = true;
+ operation.stepDateNotify = false;
+ Debug.LogFormat("{0} 娲诲姩澶╁紑濮�", (Operation)i);
+ if (operationStartEvent != null)
+ {
+ operationStartEvent((Operation)i, 1);
+ }
+ }
+ else if (!operation.stepDateNotify && !operation.InDay(TimeUtility.ServerNow))
+ {
+ operation.inDateNotify = false;
+ operation.stepDateNotify = true;
+ Debug.LogFormat("{0} 娲诲姩澶╃粨鏉�", (Operation)i);
+ if (operationEndEvent != null)
+ {
+ operationEndEvent((Operation)i, 1);
+ }
+ }
+ if (!operation.inTimeNotify && operation.SatisfyOpenCondition()
+ && operation.InTime(TimeUtility.ServerNow))
+ {
+ operation.inTimeNotify = true;
+ operation.stepTimeNotify = false;
+ Debug.LogFormat("{0} 娲诲姩鏃堕棿寮�濮�", (Operation)i);
+ if (operationStartEvent != null)
+ {
+ operationStartEvent((Operation)i, 0);
+ }
+ }
+ else if (!operation.stepTimeNotify && !operation.InTime(TimeUtility.ServerNow))
+ {
+ operation.inTimeNotify = false;
+ operation.stepTimeNotify = true;
+ operation.inAdvanceNotify = false;
+ Debug.LogFormat("{0} 娲诲姩鏃堕棿缁撴潫", (Operation)i);
+ if (operationEndEvent != null)
+ {
+ operationEndEvent((Operation)i, 0);
+ }
+ }
+
+ if (!operation.inAdvanceNotify && operation.SatisfyOpenCondition()
+ && operation.InAdvanceTime(TimeUtility.ServerNow))
+ {
+ operation.inAdvanceNotify = true;
+ Debug.LogFormat("{0} 娲诲姩鎻愬墠寮�鍚�", (Operation)i);
+ if (operationAdvanceEvent != null)
+ {
+ operationAdvanceEvent((Operation)i);
+ }
+ }
+ }
+ }
+ }
+
+ private void HourEvent()
+ {
+ if (!DTC0403_tagPlayerLoginLoadOK.finishedLogin)
+ {
+ return;
+ }
+ if (TimeUtility.Hour == 0 && dayResetEvent != null)
+ {
+ dayResetEvent(0);
+ }
+ if (TimeUtility.Hour == 5 && dayResetEvent != null)
+ {
+ dayResetEvent(1);
+ }
+ }
+
+
+
+ // /// <summary>
+ // /// 绱鍏呭��
+ // /// </summary>
+ // /// <param name="package"></param>
+
+ // public void UpdateAccumulateRecharge(HAA1D_tagMCActTotalRechargeInfo package)
+ // {
+ // OperationBase operationBase = null;
+
+ // Operation opreationType = Operation.AccumulateRecharge;
+ // if (package.ActNum == 10)
+ // {
+ // //绮惧僵娲诲姩-鍗曟棩绱厖
+ // opreationType = Operation.AccumulateRecharge;
+ // }
+ // else if (package.ActNum == 11)
+ // {
+ // //绮惧僵娲诲姩-澶氭棩绱厖
+ // opreationType = Operation.DaysAccumulateRecharge;
+ // }
+ // else if (package.ActNum == 20)
+ // {
+ // //鍚堟湇-绂忓埄锛堝鏃ョ疮鍏�1妗o級
+ // opreationType = Operation.default8;
+ // }
+ // else if (package.ActNum == 30)
+ // {
+ // //鑺傛棩-鍗曟棩绱厖
+ // opreationType = Operation.HolidayAccumulateRecharge;
+ // }
+ // else if (package.ActNum == 31)
+ // {
+ // //鑺傛棩-澶氭棩绱厖
+ // opreationType = Operation.HolidayMultiRecharge;
+ // }
+ // else if (package.ActNum == 34)
+ // {
+ // // 鑺傛棩-鎸囧畾1妗e厖鍊�
+ // opreationType = Operation.default20;
+ // }
+ // else if (package.ActNum == 35)
+ // {
+ // // 绂忕紭- 闀夸箙绱厖锛堝嚑涓湀鎴栨洿闀匡級
+ // opreationType = Operation.default32;
+ // }
+
+ // operationDict.TryGetValue(opreationType, out operationBase);
+ // if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ // {
+ // ForceStopOperation(opreationType);
+ // }
+ // else
+ // {
+ // if (operationBase == null)
+ // {
+ // operationBase = new OperationAccumulateRecharge();
+ // operationDict.Add(opreationType, operationBase);
+ // }
+ // OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
+ // operation.Reset();
+ // operation.limitLv = package.LimitLV;
+ // operation.startDate = ParseOperationDate(package.StartDate);
+ // operation.endDate = ParseOperationDate(package.EndtDate);
+ // operation.dayReset = package.IsDayReset == 1;
+ // operation.ParseAccumulateRecharge(package);
+ // operation.ActNum = package.ActNum;
+ // if (operationTimeUpdateEvent != null)
+ // {
+ // operationTimeUpdateEvent(opreationType);
+ // }
+ // }
+ // }
+
+
+
+ // public void UpdateCollectWordsPackage(HAA40_tagMCActCollectWordsInfo package)
+ // {
+ // OperationBase operationBase = null;
+
+ // var opreationType = Operation.CollectWords;
+
+ // switch (package.ActNum)
+ // {
+ // case 10:
+ // opreationType = Operation.CollectWords;
+ // break;
+ // case 20:
+ // opreationType = Operation.default10;
+ // break;
+ // case 30:
+ // opreationType = Operation.HolidayCollectWords;
+ // break;
+ // }
+
+ // operationDict.TryGetValue(opreationType, out operationBase);
+ // if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ // {
+ // ForceStopOperation(opreationType);
+ // }
+ // else
+ // {
+ // if (operationBase == null)
+ // {
+ // operationBase = new OperationCollectWords();
+ // operationDict.Add(opreationType, operationBase);
+ // }
+ // OperationCollectWords operation = operationBase as OperationCollectWords;
+ // operation.Reset();
+ // operation.limitLv = package.LimitLV;
+ // operation.startDate = ParseOperationDate(package.StartDate);
+ // operation.endDate = ParseOperationDate(package.EndtDate);
+ // operation.ActNum = package.ActNum;
+ // operation.LastDayOnlyExchange = package.LastDayOnlyExchange;
+ // operation.ParseCollectWords(package);
+ // if (operationTimeUpdateEvent != null)
+ // {
+ // operationTimeUpdateEvent(opreationType);
+ // }
+ // }
+ // }
+
+ // public void UpdateSingleRechargeInfo(HAA50_tagMCActSingleRechargeInfo package)
+ // {
+ // OperationBase operationBase = null;
+
+ // var opreationType = Operation.default28;
+
+ // operationDict.TryGetValue(opreationType, out operationBase);
+ // if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ // {
+ // ForceStopOperation(opreationType);
+ // }
+ // else
+ // {
+ // if (operationBase == null)
+ // {
+ // operationBase = new OperationSingleRecharge();
+ // operationDict.Add(opreationType, operationBase);
+ // }
+ // OperationSingleRecharge operation = operationBase as OperationSingleRecharge;
+ // operation.Reset();
+ // operation.limitLv = package.LimitLV;
+ // operation.startDate = ParseOperationDate(package.StartDate);
+ // operation.endDate = ParseOperationDate(package.EndtDate);
+ // operation.ActNum = package.ActNum;
+ // operation.dayReset = package.IsDayReset == 1;
+ // operation.ParseSingleRecharge(package);
+ // if (operationTimeUpdateEvent != null)
+ // {
+ // operationTimeUpdateEvent(opreationType);
+ // }
+ // }
+ // }
+
+ // public void UpdateHolidayLogin(HAA42_tagMCFeastLoginInfo package)
+ // {
+ // OperationBase operationBase = null;
+ // operationDict.TryGetValue(Operation.HolidayLogin, out operationBase);
+ // if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ // {
+ // ForceStopOperation(Operation.HolidayLogin);
+ // }
+ // else
+ // {
+ // if (operationBase == null)
+ // {
+ // operationBase = new OperationHolidayLogin();
+ // operationDict.Add(Operation.HolidayLogin, operationBase);
+ // }
+ // var operation = operationBase as OperationHolidayLogin;
+ // operation.Reset();
+ // operation.startDate = ParseOperationDate(package.StartDate);
+ // operation.endDate = ParseOperationDate(package.EndtDate);
+ // operation.limitLv = package.LimitLV;
+ // operation.ParsePackage(package);
+ // if (operationTimeUpdateEvent != null)
+ // {
+ // operationTimeUpdateEvent(Operation.HolidayLogin);
+ // }
+ // }
+ // }
+
+
+
+ // public void UpdateMultiRechargePackage(HAA27_tagMCActRechargePrizeInfo package)
+ // {
+ // OperationBase operationBase = null;
+ // operationDict.TryGetValue(Operation.MultiRecharge, out operationBase);
+ // if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ // {
+ // ForceStopOperation(Operation.MultiRecharge);
+ // }
+ // else
+ // {
+ // if (operationBase == null)
+ // {
+ // operationBase = new OperationMultiRecharge();
+ // operationDict.Add(Operation.MultiRecharge, operationBase);
+ // }
+ // OperationMultiRecharge operation = operationBase as OperationMultiRecharge;
+ // operation.Reset();
+ // operation.limitLv = package.LimitLV;
+ // operation.startDate = ParseOperationDate(package.StartDate);
+ // operation.endDate = ParseOperationDate(package.EndtDate);
+ // operation.dayReset = package.IsDayReset == 1;
+ // operation.ParseMultiRecharge(package);
+ // if (operationTimeUpdateEvent != null)
+ // {
+ // operationTimeUpdateEvent(Operation.MultiRecharge);
+ // }
+ // }
+ // }
+
+ // /// <summary>
+ // /// 闄愭椂绀煎寘
+ // /// </summary>
+ // /// <param name="package"></param>
+
+ // public void UpdateGiftPackage(HAA12_tagMCFlashGiftbagInfo package)
+ // {
+ // OperationBase operationBase = null;
+ // Operation operationType = Operation.GiftPackage;
+
+ // switch (package.ActNum)
+ // {
+ // case 10:
+ // operationType = Operation.GiftPackage;
+ // break;
+ // case 20:
+ // operationType = Operation.default13;
+ // break;
+ // case 30:
+ // operationType = Operation.HolidayGiftPackage;
+ // break;
+ // }
+
+ // operationDict.TryGetValue(operationType, out operationBase);
+ // if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ // {
+ // ForceStopOperation(operationType);
+ // }
+ // else
+ // {
+ // if (operationBase == null)
+ // {
+ // operationBase = new GiftPackageClass();
+ // operationDict.Add(operationType, operationBase);
+ // }
+ // GiftPackageClass operation = operationBase as GiftPackageClass;
+ // operation.Reset();
+ // operation.limitLv = package.LimitLV;
+ // operation.startDate = ParseOperationDate(package.StartDate);
+ // operation.endDate = ParseOperationDate(package.EndtDate);
+ // operation.dayReset = package.IsDayReset == 1;
+ // operation.inAdvanceMinute = package.AdvanceMinutes;
+ // operation.ActNum = package.ActNum;
+ // for (int i = 0; i < package.ActivityTimeCount; i++)
+ // {
+ // operation.times.Add(ParseOperationTime(package.ActivityTime[i].StartTime,
+ // package.ActivityTime[i].EndtTime));
+ // }
+ // operation.ParsePackage(package);
+ // if (operationTimeUpdateEvent != null)
+ // {
+ // operationTimeUpdateEvent(operationType);
+ // }
+ // }
+ // }
+
+
+
+
+
+ // public void UpdateCrossActLianQiInfo(HAA90_tagMCCrossActLianqiInfo package)
+ // {
+ // OperationBase operationBase = null;
+ // operationDict.TryGetValue(Operation.default51, out operationBase);
+ // if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ // {
+ // ForceStopOperation(Operation.default51);
+ // }
+ // else
+ // {
+ // if (operationBase == null)
+ // {
+ // operationBase = new OperationLianQiCross();
+ // operationDict.Add(Operation.default51, operationBase);
+ // }
+ // OperationLianQiCross operation = operationBase as OperationLianQiCross;
+ // operation.Reset();
+ // operation.m_ServerListStr = UIHelper.GetServers(package.ServerIDRangeInfo);
+ // operation.m_GroupValue1 = package.GroupValue1;
+ // operation.startDate = ParseOperationDate(package.StartDate);
+ // operation.endDate = ParseOperationDate(package.EndtDate);
+ // operation.dayReset = true;
+ // operation.limitLv = package.LimitLV;
+ // operation.ParseJoinTime(package.JoinStartTime, package.JoinEndTime);
+ // operation.ParseCrossActHorsePetTrainInfo(package);
+ // //for (int i = 0; i < package.ActivityTimeCount; i++)
+ // //{
+ // // operation.times.Add(ParseOperationTime(package.ActivityTime[i].StartTime,
+ // // package.ActivityTime[i].EndtTime));
+ // //}
+ // if (operationTimeUpdateEvent != null)
+ // {
+ // operationTimeUpdateEvent(Operation.default51);
+ // }
+ // }
+ // }
+
+ // public void UpdateActLunhuidianInfo(HAA88_tagMCActLunhuidianInfo package)
+ // {
+ // OperationBase operationBase = null;
+ // operationDict.TryGetValue(Operation.default47, out operationBase);
+ // if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ // {
+ // ForceStopOperation(Operation.default47);
+ // }
+ // else
+ // {
+ // if (operationBase == null)
+ // {
+ // operationBase = new OperationCycleHall();
+ // operationDict.Add(Operation.default47, operationBase);
+ // }
+ // OperationCycleHall operation = operationBase as OperationCycleHall;
+ // operation.Reset();
+ // operation.startDate = ParseOperationDate(package.StartDate);
+ // operation.endDate = ParseOperationDate(package.EndtDate);
+ // operation.resetType = package.ResetType;
+ // operation.limitLv = package.LimitLV;
+ // operation.ParseCycleHallInfo(package);
+ // if (operationTimeUpdateEvent != null)
+ // {
+ // operationTimeUpdateEvent(Operation.default47);
+ // }
+ // }
+ // }
+
+ // public void UpdateActYunShiInfo(HAA87_tagMCActYunshiInfo package)
+ // {
+ // Operation operationType = Operation.default48;
+
+ // switch (package.ActNum)
+ // {
+ // case 10:
+ // operationType = Operation.default48;
+ // break;
+ // }
+ // OperationBase operationBase = null;
+ // operationDict.TryGetValue(operationType, out operationBase);
+ // if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ // {
+ // ForceStopOperation(operationType);
+ // }
+ // else
+ // {
+ // if (operationBase == null)
+ // {
+ // operationBase = new OperationYunShi();
+ // operationDict.Add(operationType, operationBase);
+ // }
+ // OperationYunShi operation = operationBase as OperationYunShi;
+ // operation.Reset();
+ // operation.startDate = ParseOperationDate(package.StartDate);
+ // operation.endDate = ParseOperationDate(package.EndtDate);
+ // operation.resetType = package.ResetType;
+ // operation.limitLv = package.LimitLV;
+ // operation.treasureType = package.TreasureType;
+ // if (operationTimeUpdateEvent != null)
+ // {
+ // operationTimeUpdateEvent(operationType);
+ // }
+ // }
+ // }
+
+
+ // public void UpdateLoginAct(HAA69_tagMCActLoginNew package)
+ // {
+ // OperationBase operationBase = null;
+ // Operation operationType = Operation.default29;
+
+ // switch (package.ActNum)
+ // {
+ // case 11:
+ // operationType = Operation.default44;
+ // break;
+ // case 30:
+ // operationType = Operation.default29;
+ // break;
+ // }
+
+ // operationDict.TryGetValue(operationType, out operationBase);
+ // if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ // {
+ // ForceStopOperation(operationType);
+ // }
+ // else
+ // {
+ // if (operationBase == null)
+ // {
+ // operationBase = new OperationLoginAct();
+ // operationDict.Add(operationType, operationBase);
+ // }
+ // var operation = operationBase as OperationLoginAct;
+ // operation.Reset();
+ // operation.startDate = ParseOperationDate(package.StartDate);
+ // operation.endDate = ParseOperationDate(package.EndtDate);
+ // operation.limitLv = package.LimitLV;
+ // operation.ActNum = package.ActNum;
+ // operation.ParsePackage(package);
+ // if (operationTimeUpdateEvent != null)
+ // {
+ // operationTimeUpdateEvent(operationType);
+ // }
+ // }
+ // }
+
+ // public void UpdateMissionAct(HAA71_tagMCActTaskInfo package)
+ // {
+ // OperationBase operationBase = null;
+
+ // var opreationType = Operation.default30;
+ // switch (package.ActNum)
+ // {
+ // case 11:
+ // opreationType = Operation.default45;
+ // break;
+ // case 12:
+ // opreationType = Operation.default49;
+ // break;
+ // case 30:
+ // opreationType = Operation.default30;
+ // break;
+ // }
+ // operationDict.TryGetValue(opreationType, out operationBase);
+
+ // if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ // {
+ // ForceStopOperation(opreationType);
+ // }
+ // else
+ // {
+ // if (operationBase == null)
+ // {
+ // operationBase = new OperationMissionAct();
+ // operationDict.Add(opreationType, operationBase);
+ // }
+ // var operation = operationBase as OperationMissionAct;
+ // operation.Reset();
+ // operation.startDate = ParseOperationDate(package.StartDate);
+ // operation.endDate = ParseOperationDate(package.EndtDate);
+ // operation.limitLv = package.LimitLV;
+ // operation.dayReset = package.IsDayReset == 1;
+ // operation.resetType = package.ResetType;
+ // operation.ActNum = package.ActNum;
+ // operation.ParsePackage(package);
+ // if (operationTimeUpdateEvent != null)
+ // {
+ // operationTimeUpdateEvent(Operation.default30);
+ // }
+ // }
+ // }
+
+ // public void UpdateRechargeGiftAct(HAA74_tagMCActBuyCountGiftInfo package)
+ // {
+ // OperationBase operationBase = null;
+
+ // Operation operationType = Operation.default31;
+
+ // switch (package.ActNum)
+ // {
+ // case 30:
+ // operationType = Operation.default31;
+ // break;
+ // case 10:
+ // operationType = Operation.default35;
+ // break;
+ // case 31:
+ // operationType = Operation.default38;
+ // break;
+ // case 11:
+ // operationType = Operation.default46;
+ // break;
+ // case 12:
+ // operationType = Operation.default50;
+ // break;
+ // case 13:
+ // operationType = Operation.default52;
+ // break;
+ // default:
+ // return;
+ // }
+ // operationDict.TryGetValue(operationType, out operationBase);
+ // if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ // {
+ // ForceStopOperation(operationType);
+ // }
+ // else
+ // {
+ // if (operationBase == null)
+ // {
+ // operationBase = new OperationRechargeGiftAct();
+ // operationDict.Add(operationType, operationBase);
+ // }
+ // var operation = operationBase as OperationRechargeGiftAct;
+ // operation.Reset();
+ // operation.startDate = ParseOperationDate(package.StartDate);
+ // operation.endDate = ParseOperationDate(package.EndtDate);
+ // operation.limitLv = package.LimitLV;
+ // operation.dayReset = package.IsDayReset == 1;
+ // operation.resetType = package.ResetType;
+ // operation.ActNum = package.ActNum;
+ // operation.ParsePackage(package);
+ // if (operationTimeUpdateEvent != null)
+ // {
+ // operationTimeUpdateEvent(operationType);
+ // }
+ // }
+ // }
+
+ // public void UpdateActFamilyCTGAssistInfo(HAA77_tagMCActFamilyCTGAssistInfo package)
+ // {
+ // OperationBase operationBase = null;
+
+ // Operation operationType = Operation.default34;
+
+ // switch (package.ActNum)
+ // {
+ // case 30:
+ // operationType = Operation.default34;
+ // break;
+ // case 32:
+ // operationType = Operation.default54;
+ // break;
+ // default:
+ // return;
+ // }
+ // operationDict.TryGetValue(operationType, out operationBase);
+ // if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ // {
+ // ForceStopOperation(operationType);
+ // }
+ // else
+ // {
+ // if (operationBase == null)
+ // {
+ // operationBase = new OperationFamilyRechargeConn();
+ // operationDict.Add(operationType, operationBase);
+ // }
+ // var operation = operationBase as OperationFamilyRechargeConn;
+ // operation.Reset();
+ // operation.startDate = ParseOperationDate(package.StartDate);
+ // operation.endDate = ParseOperationDate(package.EndtDate);
+ // operation.limitLv = package.LimitLV;
+ // operation.dayReset = package.IsDayReset == 1;
+ // operation.ActNum = package.ActNum;
+ // operation.ParseActFamilyCTGAssistInfo(package);
+ // if (operationTimeUpdateEvent != null)
+ // {
+ // operationTimeUpdateEvent(operationType);
+ // }
+ // }
+ // }
+
+ public void ForceStopOperation(Operation operationType)
+ {
+ if (operationDict.ContainsKey(operationType))
+ {
+ operationDict.Remove(operationType);
+ }
+ if (operationServerCloseEvent != null)
+ {
+ operationServerCloseEvent(operationType);
+ }
+ if (operationEndEvent != null)
+ {
+ operationEndEvent(operationType, 0);
+ operationEndEvent(operationType, 1);
+ }
+ }
+
+ public bool TryGetOperationTime(Operation type, out OperationBase operation)
+ {
+ return operationDict.TryGetValue(type, out operation);
+ }
+
+ public bool TryGetOperation<T>(Operation type, out T operation) where T : OperationBase
+ {
+ operation = null;
+ if (operationDict.ContainsKey(type))
+ {
+ operation = operationDict[type] as T;
+ return operation is T;
+ }
+ return false;
+ }
+
+ public bool InOperationTime(Operation type)
+ {
+ OperationBase operation;
+ if (TryGetOperationTime(type, out operation))
+ {
+ return operation.InTime(TimeUtility.ServerNow);
+ }
+ return false;
+ }
+
+ public bool InOperationTime(Operation type, DateTime time)
+ {
+ OperationBase operation;
+ if (TryGetOperationTime(type, out operation))
+ {
+ return operation.InTime(time);
+ }
+ return false;
+ }
+
+ public bool InOperationJoinTime(Operation type, DateTime time)
+ {
+ OperationBase operation;
+ if (TryGetOperationTime(type, out operation))
+ {
+ return operation.InJoinTime(time);
+ }
+ return false;
+ }
+
+ public bool InOperationDay(Operation type)
+ {
+ OperationBase operation;
+ if (TryGetOperationTime(type, out operation))
+ {
+ return operation.InDay(TimeUtility.ServerNow);
+ }
+ return false;
+ }
+
+ public int GetOperationSurplusTime(Operation type)
+ {
+ OperationBase operation;
+ if (TryGetOperationTime(type, out operation))
+ {
+ return operation.GetSurplusTime(TimeUtility.ServerNow);
+ }
+ return 0;
+ }
+
+ public bool InOperationAdvance(Operation type)
+ {
+ OperationBase operation;
+ if (TryGetOperationTime(type, out operation))
+ {
+ return operation.InAdvanceTime(TimeUtility.ServerNow);
+ }
+ return false;
+ }
+
+ public int GetOperationSecondsBeforeStart(Operation type)
+ {
+ OperationBase operation;
+ if (TryGetOperationTime(type, out operation))
+ {
+ return operation.GetSecondsBeforeStart(TimeUtility.ServerNow);
+ }
+ return 0;
+ }
+
+ public bool SatisfyOpenCondition(Operation type)
+ {
+ OperationBase operation;
+ if (TryGetOperationTime(type, out operation))
+ {
+ return operation.SatisfyOpenCondition() && InOperationTime(type);
+ }
+ return false;
+ }
+
+ public bool SatisfyOpenCondition(Operation type, DateTime time)
+ {
+ OperationBase operation;
+ if (TryGetOperationTime(type, out operation))
+ {
+ return operation.SatisfyOpenCondition() && InOperationTime(type, time);
+ }
+ return false;
+ }
+
+ //娲诲姩寮�鍚腑锛屾湁鍙備笌杩涜鏃堕棿娈�
+ public bool SatisfyJoinCondition(Operation type, DateTime time)
+ {
+ OperationBase operation;
+ if (TryGetOperationTime(type, out operation))
+ {
+ return InOperationJoinTime(type, time);
+ }
+ return false;
+ }
+
+ public bool IsPrepareTime(Operation type, DateTime time)
+ {
+ OperationBase operation;
+ if (TryGetOperationTime(type, out operation))
+ {
+ return operation.IsPrepareTime(time);
+ }
+ return false;
+ }
+
+ public bool SatisfyAdvanceCondition(Operation type)
+ {
+ OperationBase operation;
+ if (TryGetOperationTime(type, out operation))
+ {
+ return operation.SatisfyOpenCondition() && InOperationAdvance(type);
+ }
+ return false;
+ }
+
+ public void ProcessConditionError(Operation type)
+ {
+ if (SatisfyOpenCondition(type))
+ {
+ return;
+ }
+ OperationBase operation;
+ if (TryGetOperationTime(type, out operation))
+ {
+ if (!InOperationTime(type))
+ {
+ SysNotifyMgr.Instance.ShowTip("InOperationTimeError");
+ }
+ else if (!operation.SatisfyOpenCondition())
+ {
+ SysNotifyMgr.Instance.ShowTip(StringUtility.Contact("OperationLevelLimit_", type), operation.limitLv);
+ }
+ }
+ else
+ {
+ SysNotifyMgr.Instance.ShowTip("InOperationTimeError");
+ }
+ }
+
+ public OperationDate ParseOperationDate(string date)
+ {
+ string[] dateArray = date.Split('-');
+ if (dateArray != null && dateArray.Length == 3)
+ {
+ return new OperationDate()
+ {
+ year = int.Parse(dateArray[0].Trim()),
+ month = int.Parse(dateArray[1].Trim()),
+ day = int.Parse(dateArray[2].Trim())
+ };
+ }
+ //else if (dateArray != null && dateArray.Length == 1)
+ //{
+ // var time = TimeUtility.openServerTime;
+ // if (time.Equals(default(DateTime)))
+ // {
+ // Debug.Log("鏈嶅姟鏈熷紑鏈嶆椂闂翠笅鍙戦『搴忔湁闂");
+ // }
+ // var days = 0;
+ // int.TryParse(date, out days);
+ // days = Mathf.Max(1, days);
+ // time = time.AddDays(days - 1);
+ // return new OperationDate()
+ // {
+ // year = time.Year,
+ // month = time.Month,
+ // day = time.Day,
+ // };
+ //}
+ return default(OperationDate);
+ }
+
+ private OperationTime ParseOperationTime(string startTime, string endTime)
+ {
+ var startTimeArray = startTime.Split(':');
+ var endTimeArray = endTime.Split(':');
+ if (startTimeArray != null && startTimeArray.Length == 2
+ && endTimeArray != null && endTimeArray.Length == 2)
+ {
+ return new OperationTime()
+ {
+ startHour = int.Parse(startTimeArray[0].Trim()),
+ startMinute = int.Parse(startTimeArray[1].Trim()),
+ endHour = int.Parse(endTimeArray[0].Trim()),
+ endMinute = int.Parse(endTimeArray[1].Trim()),
+ };
+ }
+ return default(OperationTime);
+ }
+}
+
+public struct OperationDate
+{
+ public int year;
+ public int month;
+ public int day;
+
+ public static bool operator ==(OperationDate x, OperationDate y)
+ {
+ return x.year == y.year && x.month == y.month && x.day == y.day;
+ }
+
+ public static bool operator !=(OperationDate x, OperationDate y)
+ {
+ return !(x == y);
+ }
+
+ public static bool operator >(OperationDate x, OperationDate y)
+ {
+ if (x.year > y.year)
+ {
+ return true;
+ }
+ if (x.year == y.year)
+ {
+ if (x.month > y.month)
+ {
+ return true;
+ }
+ if (x.month == y.month)
+ {
+ return x.day > y.day;
+ }
+ }
+ return false;
+ }
+
+ public static bool operator <(OperationDate x, OperationDate y)
+ {
+ return !(x > y) && x != y;
+ }
+
+ public static bool operator >=(OperationDate x, OperationDate y)
+ {
+ return x > y || x == y;
+ }
+
+ public static bool operator <=(OperationDate x, OperationDate y)
+ {
+ return x < y || x == y;
+ }
+
+ public DateTime AddSeconds(int _seconds)
+ {
+ DateTime d = new DateTime(year, month, day);
+ return d.AddTicks(_seconds * TimeSpan.TicksPerSecond);
+ }
+
+ public OperationDate AddDays(int _days)
+ {
+ DateTime d = new DateTime(year, month, day);
+ d = d.AddTicks(_days * TimeSpan.TicksPerDay);
+ return new OperationDate()
+ {
+ year = d.Year,
+ month = d.Month,
+ day = d.Day,
+ };
+ }
+
+ public string ToDisplay(bool showYear = true)
+ {
+ if (showYear)
+ {
+ return StringUtility.Contact(year, "/", month, "/", day);
+ }
+
+ return StringUtility.Contact(month, "/", day);
+
+ //var yearString = StringUtility.Contact(year, Language.Get("Year"));
+ //return StringUtility.Contact(showYear ? yearString : string.Empty, month, Language.Get("Month"), day, Language.Get("Day"));
+ }
+
+ public static int operator -(OperationDate x, OperationDate y)
+ {
+ DateTime _x = new DateTime(x.year, x.month, x.day);
+ DateTime _y = new DateTime(y.year, y.month, y.day);
+ return (int)(_x - _y).TotalDays;
+ }
+}
+
+public struct OperationTime
+{
+ public int startHour;
+ public int startMinute;
+
+ public int endHour;
+ public int endMinute;
+
+ public bool InTime(DateTime time)
+ {
+ return CompareTime(time) == 0;
+ }
+
+ public int CompareTime(DateTime time)
+ {
+ if (time.Hour < startHour || (time.Hour == startHour && time.Minute < startMinute))
+ {
+ return -1;
+ }
+ if (time.Hour > endHour || (time.Hour == endHour && time.Minute >= endMinute))
+ {
+ return 1;
+ }
+ return 0;
+ }
+
+ public override string ToString()
+ {
+ return StringUtility.Contact(startHour.ToString("D2"), ":", startMinute.ToString("D2"),
+ "-", endHour.ToString("D2"), ":", endMinute.ToString("D2"));
+ }
+
+ public static int operator -(OperationTime x, DateTime y)
+ {
+ DateTime d = new DateTime(y.Year, y.Month, y.Day, x.endHour, x.endMinute, 0);
+ return Mathf.Max(0, (int)(d - y).TotalSeconds);
+ }
+}
+
+public enum Operation
+{
+ MultipleExp,
+ ConsumeRebate,
+ FlashSale,//闄愭椂鐗规儬
+ BossReborn,
+ GiftPackage,
+ FairyCeremony, //浠欑晫鐩涘吀
+ MultipRealmPoint, //N鍊嶄慨琛岀偣
+ FlashRushToBuy, //闄愭椂鎶㈣喘
+ WishingWellInfo, //璁告効姹�
+ AccumulateRecharge,//绱鍏呭�硷紝鍗曟棩
+ LoginReward,//鐧诲綍濂栧姳
+ FestivalRedpack,//鑺傛棩绾㈠寘
+ NewYearFairyCeremony, //鏄ヨ妭浠欑晫鐩涘吀
+ SpringFestival,//鏄ヨ妭宸$ぜ
+ OpenServiceAchievement,//涓冩棩宸$ぜ
+ LuckyTreasure,//骞歌繍閴村疂
+ MultiRecharge, //浠欑帀鍏呭�艰繑鍒� 锛堥鍏呭弻鍊嶏級
+ CZBMGift, // 鎴愰暱蹇呬拱绀煎寘
+ DaysAccumulateRecharge, //绱鍏呭�硷紝澶氭棩
+ CollectWords, //鏀堕泦鏂囧瓧
+ HolidayLogin, //鑺傛棩鐧诲綍
+ HolidayWish, //鑺傛棩绁濈鐏
+ HolidayMultiRecharge,//鑺傛棩绁濈鐨勫鏃ョ疮璁″厖鍊� 鍖呭惈浠绘剰鍏呭�肩晫闈㈠拰澶氭棩绱厖鐣岄潰
+ HolidayTravel, //鑺傛棩娓稿巻
+ HolidayAccumulateRecharge, //鑺傛棩-鍗曟棩鐨勭疮绉厖鍊�
+ HolidayCollectWords, //鑺傛棩-闆嗗瓧
+ HolidayGiftPackage, //鑺傛棩绁濈-闄愭椂绀煎寘
+ HolidayFlashRushToBuy, //鑺傛棩-闄愭椂鎶㈣喘
+ HolidayFlashSale, //鑺傛棩绁濈-闄愭椂鐗规儬
+ HolidayConsumeRebate, //鑺傛棩绁濈-娑堣垂杩斿埄
+
+ //鍚庣画IL寮�鍙戞坊鍔犻璁�
+ default1, // 杩炵画澶氭棩绱厖
+ default2,
+ default3, // 鑺傛棩-鍨冨溇鍒嗙被
+ default4, // 鑺傛棩-缈荤墝
+ default5,
+ default6,
+ default7, // 绮惧僵娲诲姩-璺ㄦ湇鍏呭��
+ default8, // 鍚堟湇-绂忓埄锛堝鏃ョ疮鍏�1妗o級
+ default9, // 鍚堟湇-杞洏
+ default10, // 鍚堟湇-闆嗗瓧鐙傛
+ default11, // 鍚堟湇-鍧愰獞鐩涘
+ default12, // 鍚堟湇-瓒呭�奸檺璐�
+ default13, // 鍚堟湇-闄愭椂绀煎寘
+ default14,
+ default15,
+ default16,
+ default17,
+ default18, // 骞歌繍浜戣喘
+ default19,
+ default20, //鑺傛棩鎸囧畾绱鍏呭�奸搴︼紝鍜岃妭鏃ヤ换鎰忓厖鍊肩嫭绔嬩袱涓晫闈�
+ default21,
+ default22, //澶╁笣绀煎寘
+ default23,
+ default24,
+ default25, //涔�1閫�5
+ default26,
+ default27, //鏃ユ湡鍨嬫椿鍔�- boss鍘嗙粌娲诲姩
+ default28, //绮惧僵娲诲姩-鍗曠瑪鍏呭��
+ default29, //鏃ユ湡鍨嬫椿鍔�- 鐧诲綍锛屽彲琛ョ
+ default30, //鏃ユ湡鍨嬫椿鍔�- 浠诲姟
+ default31, //鏃ユ湡鍨嬫椿鍔�- 绀煎寘锛屽彲绱璐拱娆℃暟棰嗗彇
+ default32, //绂忕紭- 闀夸箙绱厖锛堝嚑涓湀鎴栨洿闀匡級 鐙珛鐣岄潰
+ default33, //鏃ユ湡鍨嬫椿鍔�- boss 鍘嗙粌娲诲姩(璺ㄦ湇) 蹇呴』鍜屾椿鍔╠efault27涓�璧蜂娇鐢�
+ default34, //鏃ユ湡鍨嬫椿鍔�- 浠欑洘鍏呭�间簰鍔╋紝鐗规畩锛氬厑璁稿涓椿鍔ㄥ悓鏃跺紑鍚�
+ default35, //鑷�夌ぜ鍖�
+ default36, //鏃ユ湡鍨嬫椿鍔�- 绉樺瀵诲疂锛堢被浠欏專锛� 涓绘椿鍔�
+ default37, //鏃ユ湡鍨嬫椿鍔�- 绉樺瀵诲疂锛堢被浠欏專锛� 璺ㄦ湇
+ default38, //鏃ユ湡鍨嬫椿鍔�- 鑷�夌ぜ鍖� + 鍟嗗簵
+ default39, //鏃ユ湡鍨嬫椿鍔�- 楠戝疇鍩瑰吇鏈湇
+ default40, //鏃ユ湡鍨嬫椿鍔�- 楠戝疇鍩瑰吇璺ㄦ湇
+ default41, //鏃ユ湡鍨嬫椿鍔�- 鍙ゅ疂鍏绘垚鏈湇
+ default42, //鏃ユ湡鍨嬫椿鍔�- 鍙ゅ疂鍏绘垚璺ㄦ湇
+ default43, ////鏃ユ湡鍨嬫椿鍔�- 浠诲姟鐜�
+ default44, //鏃ユ湡鍨嬫椿鍔� - 浠欑紭鐧婚檰,鍙ˉ绛�
+ default45, //鏃ユ湡鍨嬫椿鍔� - 浠欑紭浠诲姟
+ default46, //鏃ユ湡鍨嬫椿鍔� - 浠欑紭绀煎寘
+ default47, //鏃ユ湡鍨嬫椿鍔� - 杞洖娈�
+ default48, //鏃ユ湡鍨嬫椿鍔� - 杩愬娍瀵诲疂
+ default49, //鏃ユ湡鍨嬫椿鍔� - 杩愬娍浠诲姟
+ default50, //鏃ユ湡鍨嬫椿鍔� - 杩愬娍绀煎寘
+ default51, //鏃ユ湡鍨嬫椿鍔� - 浠欏尃澶т細鐐煎櫒
+ default52, //鏃ユ湡鍨嬫椿鍔� - 浠欏尃澶т細绀煎寘
+ default53, //鏃ユ湡鍨嬫椿鍔� - 浠欑洘鏀诲煄鎴� 璺ㄦ湇
+ default54, //鏃ユ湡鍨嬫椿鍔� - 浠欑洘鏀诲煄鎴樹粰鐩熷崗鍔╁拰绀煎寘
+ max,
+}
\ No newline at end of file
diff --git a/Main/System/OpenServerActivity/OperationTimeHepler.cs.meta b/Main/System/OpenServerActivity/OperationTimeHepler.cs.meta
new file mode 100644
index 0000000..4e1c109
--- /dev/null
+++ b/Main/System/OpenServerActivity/OperationTimeHepler.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: d2095de53afc244429c13d31ffcc6db9
+timeCreated: 1531287451
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/Recharge.meta b/Main/System/Recharge.meta
new file mode 100644
index 0000000..c28b9b1
--- /dev/null
+++ b/Main/System/Recharge.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4a97e38ab5f3549439e76af195da7c18
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/Recharge/RechargeManager.cs b/Main/System/Recharge/RechargeManager.cs
new file mode 100644
index 0000000..d1d2ad3
--- /dev/null
+++ b/Main/System/Recharge/RechargeManager.cs
@@ -0,0 +1,776 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+using UnityEngine;
+using LitJson;
+using System.Linq;
+
+
+public class RechargeManager : GameSystemManager<RechargeManager>
+{
+ private Dictionary<string, List<int>> m_CTGConfigDict = new Dictionary<string, List<int>>();
+ public List<int> voucherCTGList = new List<int>();
+
+ public event Action OnVipOpenPayWinEvent;
+
+ public event Action firstChargeRewardEvent;
+ public event Action<int> rechargeCountEvent;
+
+ private bool serverInited = false;
+
+ private bool waitingJump = false;
+
+ public int realRecharge = 0; //鐪熷疄鍏呭�奸噾棰�
+ public event Action rechargeChangeEvent;
+
+ //浠i噾鍒歌褰�
+ public List<HA008_tagGCPlayerRecInfo.tagGCPlayerRec> m_PlayerRecsVoucher = new List<HA008_tagGCPlayerRecInfo.tagGCPlayerRec>();
+
+
+ public override void Init()
+ {
+ ParseConfig();
+ ParseCTGConfig();
+ ParseFirstCharge();
+ PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshInfoEvent;
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
+ SDKUtils.Instance.onFreePlatformPayCancel += OnChargeFail;
+ SDKUtils.Instance.onFreePlatformPayFail += OnChargeFail;
+ SDKUtils.Instance.onFreePlatformPayOk += OnChargeComplete;
+ TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
+ DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
+ }
+
+
+ public override void Release()
+ {
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
+ PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshInfoEvent;
+ SDKUtils.Instance.onFreePlatformPayCancel -= OnChargeFail;
+ SDKUtils.Instance.onFreePlatformPayFail -= OnChargeFail;
+ SDKUtils.Instance.onFreePlatformPayOk -= OnChargeComplete;
+ TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh;
+ DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk;
+ }
+
+ public void OnBeforePlayerDataInitialize()
+ {
+ TimeMgr.Instance.UnRegister(TimeMgr.SyntonyType.VipExperirnceOverdue);
+ // if (UIManager.Instance.IsOpened<GotoChargeWin>())
+ // {
+ // UIManager.Instance.CloseWindow<GotoChargeWin>();
+ // }
+ m_RechargeCountDict.Clear();
+ m_ChargeReset = true;
+ serverInited = false;
+ firstRechargeOpen = false;
+ waitingJump = false;
+ RechargeTimeLismit.Clear();
+ m_PlayerRecsVoucher.Clear();
+ realRecharge = 0;
+ }
+
+ private void PlayerDataRefreshInfoEvent(PlayerDataType _type)
+ {
+ if (_type == PlayerDataType.ChangeCoinPointTotal)
+ {
+ if (serverInited && FirstGoldServerDay > 0
+ && !beforeRecharge)
+ {
+ firstRechargeOpen = true;
+ }
+ m_ChargeReset = true;
+ UpdateRedpoint();
+ }
+
+ }
+
+
+ private void OnChargeComplete()
+ {
+ m_ChargeReset = true;
+ // if (UIManager.Instance.IsOpened<RechargeBoxWin>())
+ // {
+ // UIManager.Instance.CloseWindow<RechargeBoxWin>();
+ // }
+
+ }
+
+ private void OnChargeFail()
+ {
+ m_ChargeReset = true;
+ }
+
+
+ private bool m_ChargeReset = true;
+
+ #region 閰嶇疆
+ private static string[] lineSplit = new string[] { "</r>" };
+ private int m_CTGDelayTime = 1; // 鍏呭�肩殑鍏叡闂撮殧锛岃閰嶇疆ChargeDelayTime
+ private int m_CTGLimitDelayTime = 1; // 闄愯喘鍟嗗搧鐨勫厖鍊奸棿闅旓紝瑙侀厤缃瓹hargeDelayTime
+
+ //澶氬�嶅浘鐗�
+ public Dictionary<int, string> MultiRechageImageDict = new Dictionary<int, string>();
+ //娓彴澶氬�嶅厖鍊艰瀵瑰簲涓嶅悓鐨勫厖鍊肩紪鍙�
+ public Dictionary<int, List<string>> MultiOrderInfoDict = new Dictionary<int, List<string>>();
+ private void ParseConfig()
+ {
+
+ var textConfig = FuncConfigConfig.Get("MultiRechageImage");
+ var json = JsonMapper.ToObject(textConfig.Numerical1);
+ foreach (var key in json.Keys)
+ {
+ var multi = int.Parse(key);
+ MultiRechageImageDict[multi] = json[key].ToString();
+ }
+
+ //澶氬�嶅厖鍊煎搴斾笉鍚岀紪鍙�
+ var _json = JsonMapper.ToObject(textConfig.Numerical2);
+ foreach (var _key in _json.Keys)
+ {
+ var _type = int.Parse(_key);
+
+ MultiOrderInfoDict.Add(_type, new List<string>(JsonMapper.ToObject<string[]>(_json[_key].ToJson()))); ;
+ }
+
+ var cfg = FuncConfigConfig.Get("DaiJQCTG");
+ voucherCTGList = JsonMapper.ToObject<List<int>>(cfg.Numerical1);
+ }
+
+
+ Dictionary<int, int> fightPowerDict = new Dictionary<int, int>();
+ // public int GetTitlePower(int vipLv)
+ // {
+ // int[] propertys = DienstgradConfig.GetTitleAttrType(vipTitleDic[vipLv]);
+ // int[] values = DienstgradConfig.GetTitleAttrValue(vipTitleDic[vipLv]);
+ // fightPowerDict.Clear();
+ // for (int i = 0; i < propertys.Length; i++)
+ // {
+ // fightPowerDict.Add(propertys[i], values[i]);
+ // }
+ // return (int)UIHelper.GetFightPower(fightPowerDict);
+ // }
+
+
+ private void ParseCTGConfig()
+ {
+ var configs = OrderInfoConfig.GetValues();
+ m_RechargeGainItemDict = new Dictionary<int, List<Item>>();
+ for (int i = 0; i < configs.Count; i++)
+ {
+ List<OrderInfoConfig> list;
+ if (!m_OrderInfoDict.TryGetValue(configs[i].AppId, out list))
+ {
+ list = new List<OrderInfoConfig>();
+ m_OrderInfoDict.Add(configs[i].AppId, list);
+ }
+ list.Add(configs[i]);
+
+#if UNITY_EDITOR
+ orderInfoToCTGID[configs[i].OrderInfo] = configs[i].CTGID;
+#else
+ if (configs[i].AppId == VersionConfig.Get().appId)
+ {
+ orderInfoToCTGID[configs[i].OrderInfo] = configs[i].CTGID;
+ }
+#endif
+ if (configs[i].CTGID == 0)
+ {
+ continue;
+ }
+ List<int> _list = null;
+ if (!m_CTGConfigDict.TryGetValue(configs[i].AppId, out _list))
+ {
+ _list = new List<int>();
+ m_CTGConfigDict.Add(configs[i].AppId, _list);
+ }
+ //娓彴瀛樺湪澶氫釜orderinfo瀵瑰簲鍚屼竴涓猚tgid鐨勬儏鍐�
+ if (!_list.Contains(configs[i].CTGID))
+ {
+ _list.Add(configs[i].CTGID);
+ }
+ if (!m_RechargeGainItemDict.ContainsKey(configs[i].CTGID))
+ {
+#if UNITY_EDITOR
+ try
+ {
+#endif
+ var ctg = CTGConfig.Get(configs[i].CTGID);
+ var _itemArray = LitJson.JsonMapper.ToObject<int[][]>(ctg.GainItemList);
+ if (_itemArray != null && _itemArray.Length > 0)
+ {
+ var _itemList = new List<Item>();
+ m_RechargeGainItemDict.Add(configs[i].CTGID, _itemList);
+ for (int k = 0; k < _itemArray.Length; k++)
+ {
+ Item _item = new Item(_itemArray[k][0], _itemArray[k][1]);
+ _itemList.Add(_item);
+ }
+ }
+#if UNITY_EDITOR
+ }
+ catch (Exception e)
+ {
+ Debug.LogError("閿欒鐨� 鍏呭�煎晢鍝乧tgid = " + configs[i].CTGID + e);
+ }
+#endif
+ }
+ }
+ var _funcConfig = FuncConfigConfig.Get("ChargeDelayTime");
+ m_CTGDelayTime = int.Parse(_funcConfig.Numerical1);
+ m_CTGLimitDelayTime = int.Parse(_funcConfig.Numerical2);
+ _funcConfig = FuncConfigConfig.Get("FirstGoldMobs");
+ firstRechargeWeapon = ConfigParse.GetDic<int, int>(_funcConfig.Numerical1);
+ }
+
+ public List<int> GetCTGConfigs(string _appid)
+ {
+ if (m_CTGConfigDict.ContainsKey(_appid))
+ {
+ return m_CTGConfigDict[_appid];
+ }
+ return m_CTGConfigDict.Values.Last();
+ }
+
+ //澶栭儴璋冪敤涓嶅彲浠ヤ慨鏀筶ist
+ public bool TryGetRechargeItem(int id, out List<Item> list)
+ {
+ return m_RechargeGainItemDict.TryGetValue(id, out list);
+ }
+
+
+
+
+ private Dictionary<int, Dictionary<int, List<Item>>> m_FirstChargeItemDict = new Dictionary<int, Dictionary<int, List<Item>>>();
+ public Dictionary<int, List<Item>> m_FirstChargeCommonItemDict = new Dictionary<int, List<Item>>();
+ private void ParseFirstCharge()
+ {
+ foreach (var day in FirstGoldConfig.GetKeys())
+ {
+ if (!m_FirstChargeItemDict.ContainsKey(day))
+ {
+ Dictionary<int, List<Item>> JobItems = new Dictionary<int, List<Item>>();
+ m_FirstChargeItemDict[day] = JobItems;
+ }
+ var config = FirstGoldConfig.Get(day);
+ var _itemJson = JsonMapper.ToObject(config.JobItemInfo);
+ foreach (var jobstr in _itemJson.Keys)
+ {
+ var job = int.Parse(jobstr);
+ if (!m_FirstChargeItemDict[day].ContainsKey(job))
+ {
+ List<Item> JobItems = new List<Item>();
+ m_FirstChargeItemDict[day][job] = JobItems;
+ }
+
+ for (int i = 0; i < _itemJson[jobstr].Count; i++)
+ {
+ m_FirstChargeItemDict[day][job].Add(new Item(int.Parse(_itemJson[jobstr][i][0].ToString()),
+ int.Parse(_itemJson[jobstr][i][1].ToString())));
+ }
+ }
+
+ if (!m_FirstChargeCommonItemDict.ContainsKey(day))
+ {
+ List<Item> ItemsComm = new List<Item>();
+ m_FirstChargeCommonItemDict[day] = ItemsComm;
+ }
+ var _itemCommon = JsonMapper.ToObject<int[][]>(config.CommItemList);
+ for (int i = 0; i < _itemCommon.Length; i++)
+ {
+ m_FirstChargeCommonItemDict[day].Add(new Item(_itemCommon[i][0], _itemCommon[i][1]));
+ }
+
+
+ }
+ }
+
+ public bool TryGetFirstReward(int day, int _job, out List<Item> _list)
+ {
+ List<Item> newItems = new List<Item>();
+ newItems.Clear();
+ if (m_FirstChargeItemDict.ContainsKey(day) && m_FirstChargeItemDict[day].ContainsKey(_job))
+ {
+ newItems.AddRange(m_FirstChargeItemDict[day][_job]);
+ }
+ newItems.AddRange(m_FirstChargeCommonItemDict[day]);
+ _list = newItems;
+ return true;
+ }
+
+
+ #endregion
+
+
+
+ #region 鍏呭��
+ public Dictionary<int, int> firstRechargeWeapon { get; private set; }
+ public Dictionary<int, List<Item>> m_RechargeGainItemDict { get; private set; }
+ private Dictionary<int, RechargeCount> m_RechargeCountDict = new Dictionary<int, RechargeCount>();
+ Dictionary<string, List<OrderInfoConfig>> m_OrderInfoDict = new Dictionary<string, List<OrderInfoConfig>>();
+ public Dictionary<string, int> orderInfoToCTGID = new Dictionary<string, int>();
+
+ public int presentSelectRechargeId { get; private set; }
+ public bool beforeRecharge { get; private set; }
+ private DateTime beforeCTGTime = DateTime.Now;
+ private Redpoint rechargeRedpoint = new Redpoint(21);
+ public Redpoint firstRechargeRedpoint = new Redpoint(210000);//棣栧厖棰嗗彇绾㈢偣
+ public Redpoint rechargeFuncRedpoint = new Redpoint(21, 2101);
+ public Redpoint rechargeGiftRedpoint = new Redpoint(2101, 210101);//18鍏冪ぜ鍖�
+
+ public bool TryGetOrderInfo(int _id, out OrderInfoConfig config)
+ {
+ config = null;
+ if (_id == 0)
+ {
+ return false;
+ }
+ List<OrderInfoConfig> list;
+ if (m_OrderInfoDict.TryGetValue(VersionConfig.Get().appId, out list))
+ {
+ for (int i = 0; i < list.Count; i++)
+ {
+ if (list[i].CTGID == _id)
+ {
+ config = list[i];
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ //娓彴鐗堟湰姣旇緝鐗规畩鍚屼竴涓狢TGID 鏈夊涓狾rderInfo
+ //鏆備笖鍙敤鍒伴鍏呭鍊嶇殑鍖哄垎
+ public bool TryGetOrderInfoList(int _id, out List<OrderInfoConfig> configs)
+ {
+ configs = new List<OrderInfoConfig>();
+ bool result = false;
+ if (_id == 0)
+ {
+ return result;
+ }
+ List<OrderInfoConfig> list;
+ if (m_OrderInfoDict.TryGetValue(VersionConfig.Get().appId, out list))
+ {
+ for (int i = 0; i < list.Count; i++)
+ {
+ if (list[i].CTGID == _id)
+ {
+ configs.Add(list[i]);
+ result = true;
+ }
+ }
+ }
+ return result;
+ }
+
+ public bool TryGetOrderInfoByOrderInfo(string orderInfo, out OrderInfoConfig config)
+ {
+ config = null;
+ List<OrderInfoConfig> list;
+ if (m_OrderInfoDict.TryGetValue(VersionConfig.Get().appId, out list))
+ {
+ for (int i = 0; i < list.Count; i++)
+ {
+ if (list[i].OrderInfo == orderInfo)
+ {
+ config = list[i];
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+
+ public float GetOnSalePayRmb(int _id)
+ {
+ var appid = VersionConfig.Get().appId;
+ appid = m_CTGConfigDict.ContainsKey(appid) ? appid : m_CTGConfigDict.Keys.Last();
+ var configs = OrderInfoConfig.GetValues();
+ for (int i = 0; i < configs.Count; i++)
+ {
+ if (configs[i].AppId.Equals(appid)
+ && configs[i].CTGID == _id)
+ {
+ return configs[i].PayRMBNumOnSale;
+ }
+ }
+ return 0;
+ }
+
+ public float GetOrgPayRmb(int _id)
+ {
+ var appid = VersionConfig.Get().appId;
+ appid = m_CTGConfigDict.ContainsKey(appid) ? appid : m_CTGConfigDict.Keys.Last();
+ var configs = OrderInfoConfig.GetValues();
+ for (int i = 0; i < configs.Count; i++)
+ {
+ if (configs[i].AppId.Equals(appid)
+ && configs[i].CTGID == _id)
+ {
+ return configs[i].PayRMBNum;
+ }
+ }
+ return 0;
+ }
+
+ public void CTG(int _id)
+ {
+ OrderInfoConfig orderInfo = null;
+ if (TryGetOrderInfo(_id, out orderInfo))
+ {
+ CTG(orderInfo);
+ }
+ }
+
+
+ public void CTG(OrderInfoConfig config)
+ {
+ if (config == null)
+ {
+ return;
+ }
+ var rechargeConfig = CTGConfig.Get(config.CTGID);
+ if (!VersionConfig.Get().appId.Equals(config.AppId))
+ {
+ return;
+ }
+ if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Recharge))
+ {
+ FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.Recharge);
+ return;
+ }
+
+ if (rechargeConfig.SelectItemInfo != null && rechargeConfig.SelectItemInfo.Length != 0)
+ {
+ int goodsCount; //鍥哄畾鍟嗗搧绉嶇被鏁伴噺
+ int goodsSumCount; //鍟嗗搧鎬绘暟閲�
+ List<Item> awards = new List<Item>();
+ CustomizedRechargeModel.Instance.TryGetRechargeItemEx(config.CTGID, out awards, out goodsCount, out goodsSumCount);
+
+ //鑷�夌ぜ鍖呮病鏈夐�夊叏 涓嶈兘璐拱
+ if (awards.Count != goodsSumCount)
+ {
+ SysNotifyMgr.Instance.ShowTip("CustomizedGift02");
+ return;
+ }
+ }
+
+ if ((DateTime.Now - beforeCTGTime).TotalSeconds < m_CTGDelayTime && !m_ChargeReset)
+ {
+ ScrollTip.ShowTip(Language.Get("RechargeTimesLimit"));
+ return;
+ }
+ if (m_RechargeCountDict.ContainsKey(config.CTGID))
+ {
+ if (rechargeConfig != null)
+ {
+ if (rechargeConfig.DailyBuyCount > 0 &&
+ rechargeConfig.DailyBuyCount <= m_RechargeCountDict[config.CTGID].todayCount)
+ {
+ ScrollTip.ShowTip(Language.Get("RechargeCountsLimit"));
+ return;
+ }
+
+ if (rechargeConfig.TotalBuyCount > 0 &&
+ rechargeConfig.TotalBuyCount <= m_RechargeCountDict[config.CTGID].totalCount)
+ {
+ return;
+ }
+ }
+ }
+
+ // 瀵规湁闄愯喘娆℃暟鐨勭墿鍝� 鐗瑰埆鎻愰啋锛岄伩鍏嶇帺瀹剁煭鏃堕棿鍐呴噸澶嶈喘涔伴檺璐墿鍝�
+ if (rechargeConfig.TotalBuyCount > 0 || rechargeConfig.DailyBuyCount > 0)
+ {
+ if (RechargeTimeLismit.ContainsKey(config.OrderInfo))
+ {
+ if ((DateTime.Now - RechargeTimeLismit[config.OrderInfo]).TotalSeconds < m_CTGLimitDelayTime)
+ {
+ ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("RechargeLimit", rechargeConfig.Title),
+ (bool isOk) =>
+ {
+ if (isOk)
+ {
+ m_ChargeReset = false;
+ beforeCTGTime = DateTime.Now;
+ // if (!WindowCenter.Instance.IsOpen<GotoChargeWin>())
+ // {
+ // WindowCenter.Instance.Open<GotoChargeWin>(true);
+ // }
+ SDKUtils.Instance.FreePlatformPay(rechargeConfig.Title, config.PayRMBNum, config.OrderInfo);
+
+ RechargeTimeLismit[config.OrderInfo] = DateTime.Now;
+ }
+ return;
+ });
+ return;
+ }
+ }
+ RechargeTimeLismit[config.OrderInfo] = DateTime.Now;
+ }
+
+
+ m_ChargeReset = false;
+ beforeCTGTime = DateTime.Now;
+ // if (!WindowCenter.Instance.IsOpen<GotoChargeWin>())
+ // {
+ // WindowCenter.Instance.Open<GotoChargeWin>(true);
+ // }
+ SDKUtils.Instance.FreePlatformPay(rechargeConfig == null ? string.Empty : rechargeConfig.Title, config.PayRMBNum, config.OrderInfo);
+ }
+
+ Dictionary<string, DateTime> RechargeTimeLismit = new Dictionary<string, DateTime>();
+
+
+
+ // 鐢ㄤ簬鏈嶅姟绔�氱煡鐨勫晢鍝侊紝鍏呭�艰〃閲屾病鏈夐厤缃殑锛屾甯搁兘鏄椿鍔ㄧ殑闄愯喘
+ public void OpenFreePlat(string Title, float RMBNum, string OrderInfo)
+ {
+ // 瀵规湁闄愯喘娆℃暟鐨勭墿鍝� 鐗瑰埆鎻愰啋锛岄伩鍏嶇帺瀹剁煭鏃堕棿鍐呴噸澶嶈喘涔伴檺璐墿鍝�
+ if (RechargeTimeLismit.ContainsKey(OrderInfo))
+ {
+ if ((DateTime.Now - RechargeTimeLismit[OrderInfo]).TotalSeconds < m_CTGLimitDelayTime)
+ {
+ ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("RechargeLimit", Title),
+ (bool isOk) =>
+ {
+ if (isOk)
+ {
+ // if (!WindowCenter.Instance.IsOpen<GotoChargeWin>())
+ // {
+ // WindowCenter.Instance.Open<GotoChargeWin>(true);
+ // }
+ SDKUtils.Instance.FreePlatformPay(Title, RMBNum, OrderInfo);
+ RechargeTimeLismit[OrderInfo] = DateTime.Now;
+ }
+ return;
+ });
+ return;
+ }
+ }
+ RechargeTimeLismit[OrderInfo] = DateTime.Now;
+
+
+ // if (!WindowCenter.Instance.IsOpen<GotoChargeWin>())
+ // {
+ // WindowCenter.Instance.Open<GotoChargeWin>(true);
+ // }
+
+ SDKUtils.Instance.FreePlatformPay(Title, RMBNum, OrderInfo);
+
+ }
+
+ public event Action<string> OnCTGStageChange;
+ public void SetCTGDisplay(string _display)
+ {
+ if (OnCTGStageChange != null)
+ {
+ OnCTGStageChange(_display);
+ }
+ }
+
+
+ public void UpdateRechargeCount(HA110_tagMCCoinToGoldCountInfo package)
+ {
+ realRecharge = (int)package.RealTotal;
+ for (int i = 0; i < package.RecordCount; i++)
+ {
+ var _data = package.CTGCountInfoList[i];
+
+ m_RechargeCountDict[_data.RecordID] = new RechargeCount()
+ {
+ todayCount = _data.TodayPayCount,
+ totalCount = (int)_data.TotalPayCount,
+ weekPayCount = _data.WeekPayCount,
+ monthPayCount = _data.MonthPayCount,
+ selectItemValue = (int)_data.SelectItemValue,
+ };
+ if (rechargeCountEvent != null)
+ {
+ rechargeCountEvent(_data.RecordID);
+ }
+ }
+
+ rechargeChangeEvent?.Invoke();
+ UpdateRedpoint();
+ }
+
+ public bool TryGetRechargeCount(int _rechargeId, out RechargeCount _rechargeCount)
+ {
+ return m_RechargeCountDict.TryGetValue(_rechargeId, out _rechargeCount);
+ }
+
+ private bool firstRechargeOpen
+ {
+ get;
+ set;
+ }
+
+ public void AreadyGetFirstRecharge()
+ {
+ if (IsFirstChargeRewardGetByDay())
+ {
+ SysNotifyMgr.Instance.ShowTip("FirstPayAlreadyGet");
+ }
+ }
+
+
+ public struct RechargeCount
+ {
+ public int todayCount;
+ public int totalCount;
+ public int weekPayCount;
+ public int monthPayCount;
+ public int selectItemValue;
+
+ }
+
+ public int FirstGoldServerDay = 0; //0琛ㄧず鏈厖鍊硷紝棣栧厖鏃朵负寮�鏈嶇鍑犲ぉ锛坥penday+1锛�
+
+ int m_FirstChargeRewardGet = 0;
+ public int firstChargeRewardGet
+ {
+ get { return m_FirstChargeRewardGet; }
+ set
+ {
+ m_FirstChargeRewardGet = value;
+ UpdateFirstRechargeRedpoint();
+ if (firstChargeRewardEvent != null)
+ {
+ firstChargeRewardEvent();
+ }
+ }
+ }
+
+ //鏄惁宸查鍙�
+ public bool IsFirstChargeRewardGetByDay(int day = 0)
+ {
+ if (day == 0)
+ {
+ if (m_FirstChargeRewardGet == 7)
+ {
+ //涓夊ぉ鍏ㄩ鍙�
+ return true;
+ }
+ return false;
+ }
+
+ if (((int)Math.Pow(2, day - 1) & m_FirstChargeRewardGet) != 0)
+ return true;
+ return false;
+ }
+
+ // 鏄惁鍙鍙栵紝鍒ゆ柇瀹為檯澶�
+ public bool CanGetFirstChargeRewardByDay(int day)
+ {
+ if (FirstGoldServerDay == 0)
+ return false;
+
+ if (FirstGoldServerDay + day - 2 <= TimeUtility.OpenDay)
+ {
+ if (!IsFirstChargeRewardGetByDay(day))
+ return true;
+ }
+ return false;
+ }
+
+ // 鑾峰彇棣栧厖鍙鍙栫殑绗竴涓鍔�
+ public int GetFirstChargeRewardIndex()
+ {
+ for (int i = 1; i <= 3; i++)
+ {
+ if (CanGetFirstChargeRewardByDay(i))
+ return i;
+ }
+ return 0;
+ }
+
+ public void UpdateFirstChargeReward(HAA02_tagMCFirstGoldInfo package)
+ {
+ FirstGoldServerDay = package.FirstGoldServerDay;
+ firstChargeRewardGet = package.FirstGoldRewardState;
+ UpdateFirstRechargeRedpoint();
+ UpdateRedpoint();
+ }
+
+ private void UpdateFirstRechargeRedpoint()
+ {
+ firstRechargeRedpoint.state = RedPointState.None;
+ if (FirstGoldServerDay == 0)
+ {
+ if (PlayerDatas.Instance.baseData.LV <= GeneralDefine.rechargeRedpointLv
+ && PlayerDatas.Instance.baseData.LV >= GeneralDefine.rechargeRedpointMinLv)
+ {
+ firstRechargeRedpoint.state = RedPointState.Quantity;
+ }
+ return;
+ }
+ firstRechargeRedpoint.state = GetFirstChargeRewardIndex() == 0 ? RedPointState.None : RedPointState.Simple;
+ }
+
+
+
+
+ private void UpdateRedpoint()
+ {
+ if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Recharge))
+ {
+ return;
+ }
+ if (FirstGoldServerDay <= 0 || !IsFirstChargeRewardGetByDay(1))
+ {
+ return;
+ }
+ var list = GetCTGConfigs(VersionConfig.Get().appId);
+ var config = CTGConfig.Get(list[0]);
+ if (m_RechargeCountDict.ContainsKey(config.RecordID))
+ {
+ if (config.DailyBuyCount > 0 &&
+ config.DailyBuyCount <= m_RechargeCountDict[config.RecordID].todayCount)
+ {
+ return;
+ }
+ }
+ }
+
+
+
+ private void OnServerOpenDayRefresh()
+ {
+ UpdateRedpoint();
+ UpdateFirstRechargeRedpoint();
+ }
+
+ public void OnPlayerLoginOk()
+ {
+ UpdateFirstRechargeRedpoint();
+ UpdateRedpoint();
+ serverInited = true;
+ beforeRecharge = FirstGoldServerDay > 0;
+ }
+ #endregion
+
+ public void UpdatePlayerRecInfoVoucher(HA008_tagGCPlayerRecInfo pack)
+ {
+ //鍙鐞嗕唬閲戝埜
+ if (pack.Type != 3) return;
+
+ for (int i = 0; i < pack.Count; i++)
+ {
+ m_PlayerRecsVoucher.Add(pack.PlayerRecList[i]);
+ }
+
+ m_PlayerRecsVoucher.Sort(SortByTime);
+ }
+
+ int SortByTime(HA008_tagGCPlayerRecInfo.tagGCPlayerRec a, HA008_tagGCPlayerRecInfo.tagGCPlayerRec b)
+ {
+ return b.Time.CompareTo(a.Time);
+ }
+}
+
+
diff --git a/Main/System/Recharge/RechargeManager.cs.meta b/Main/System/Recharge/RechargeManager.cs.meta
new file mode 100644
index 0000000..42d3f98
--- /dev/null
+++ b/Main/System/Recharge/RechargeManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4a58156340a177147ad04fab2f28b9e2
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/RoleParticulars.meta b/Main/System/RoleParticulars.meta
new file mode 100644
index 0000000..f1b5a2b
--- /dev/null
+++ b/Main/System/RoleParticulars.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7f4be2a6d73bb8c40b77b85620ca4026
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/RoleParticulars/RoleParticularModel.cs b/Main/System/RoleParticulars/RoleParticularModel.cs
new file mode 100644
index 0000000..f0023c6
--- /dev/null
+++ b/Main/System/RoleParticulars/RoleParticularModel.cs
@@ -0,0 +1,558 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using LitJson;
+using System.Linq;
+
+
+//鏌ョ湅鍏朵粬鐜╁鐨勭畝鐭俊鎭�, 璇ユā鍧楀鐞嗘暟鎹紝鍏朵粬鐢卞悇鑷姛鑳芥ā鍧楀鐞� 閫氳繃OnRevPackage
+public class RoleParticularModel : GameSystemManager<RoleParticularModel>
+{
+
+ public override void Init()
+ {
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
+ }
+
+ public override void Release()
+ {
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
+ }
+
+
+ public void OnBeforePlayerDataInitialize()
+ {
+ viewPlayerType = -1;
+ }
+
+ public int viewPlayer { get; private set; }
+
+ // 鏌ヨ鏈湇锛�0-鏌ョ湅鍏朵粬鐜╁鐨勭畝娲佷俊鎭晫闈� 1-鏌ョ湅鎴樺姏鐣岄潰 2锛堜互涓婂皬浜�100锛�-杩斿洖鏁版嵁涓嶅仛澶勭悊锛岀敱璋冪敤鑰呰嚜琛屽鐞嗛�昏緫
+ // 鏌ヨ璺ㄦ湇锛�100-鏌ョ湅鍏朵粬鐜╁鐨勭畝娲佷俊鎭晫闈� 101-鏌ョ湅鎴樺姏鐣岄潰 102浠ヤ笂-杩斿洖鏁版嵁涓嶅仛澶勭悊锛岀敱璋冪敤鑰呰嚜琛屽鐞嗛�昏緫
+ // 璋冪敤鑰呴渶瑕佺殑璇濊嚜瀹氫箟鏋氫妇鍊� EnumHelper鐨刅iewPlayerType
+ public int viewPlayerType { get; private set; }
+
+ private Dictionary<int, ViewPlayerData> viewPlayerDataDic = new Dictionary<int, ViewPlayerData>();
+ private Dictionary<int, ulong> funcFightPowerDict = new Dictionary<int, ulong>();
+ public event Action PowerUpdate;
+ public static Action<int, int, ViewPlayerData> OnRevPackage; //灏介噺涓嶈鐢ㄧ涓�涓弬鏁皏iewtype鍋氬垽鏂紝瀹规槗鍑洪敊
+
+ public ViewPlayerData GetViewPlayerData(int player)
+ {
+ ViewPlayerData viewPlayerData = null;
+ viewPlayerDataDic.TryGetValue(player, out viewPlayerData);
+ return viewPlayerData;
+ }
+
+ // 鏌ョ湅鐜╁妯″瀷灞曠ず锛屾煡鐜╁瑁呭璇︽儏闇�鍙﹀澶勭悊
+ // 鏈湇鏌ヨ锛氳繑鍥炴椂鎵撳紑鏌ョ湅鍏朵粬鐜╁鐨勭畝娲佷俊鎭晫闈紙鍙煡鐪嬭澶囷紝瀹犵墿锛屽潗楠戠瓑鍏蜂綋淇℃伅锛塕oleParticularsWin
+ public void ViewRoleEquip(int playerID)
+ {
+ if (playerID == PlayerDatas.Instance.baseData.PlayerID)
+ {
+ return;
+ }
+ viewPlayerType = (int)ViewPlayerType.viewPlayerEquip;
+ ViewRoleParticulars(playerID);
+ }
+
+ // 鏈湇鏌ヨ锛氳繑鍥炴椂鎵撳紑鏌ョ湅鍏朵粬鐜╁鎴樺姏鐣岄潰锛堟垬鍔涘垎甯冿級ViewFuncPowerWin
+ public void ViewRoleFightPower(int playerID)
+ {
+ if (playerID == PlayerDatas.Instance.baseData.PlayerID)
+ {
+ return;
+ }
+ viewPlayerType = (int)ViewPlayerType.viewPlayerFightPower;
+ ViewRoleParticulars(playerID);
+ }
+
+ // 杩斿洖鏃朵笉鍋氫换浣曟搷浣滐紝鐢辫皟鐢ㄨ�呰嚜琛屽鐞嗛�昏緫
+ public void ViewPlayerCacheData(int _playerId, int viewType = (int)ViewPlayerType.viewPlayerData)
+ {
+ viewPlayerType = viewType;
+ ViewRoleParticulars(_playerId);
+ }
+
+ // 鏌ョ湅鐜╁妯″瀷灞曠ず锛屾煡鐜╁瑁呭璇︽儏闇�鍙﹀澶勭悊
+ // 璺ㄦ湇鏌ヨ锛氳繑鍥炴椂鎵撳紑鏌ョ湅鍏朵粬鐜╁鐨勭畝娲佷俊鎭晫闈紙鍙煡鐪嬭澶囷紝瀹犵墿锛屽潗楠戠瓑鍏蜂綋淇℃伅锛塕oleParticularsWin
+ public void ViewCrossServerPlayerEquip(int _playerId)
+ {
+ if (_playerId == PlayerDatas.Instance.baseData.PlayerID)
+ {
+ return;
+ }
+ viewPlayerType = (int)ViewPlayerType.viewCrossPlayerEquip;
+ ViewRoleParticulars(_playerId);
+ }
+
+ public void ViewCrossPlayerFightPower(int _playerId)
+ {
+ if (_playerId == PlayerDatas.Instance.baseData.PlayerID)
+ {
+ return;
+ }
+ viewPlayerType = (int)ViewPlayerType.viewCrossPlayerFightPower;
+ ViewRoleParticulars(_playerId);
+ }
+
+ // 杩斿洖鏃朵笉鍋氫换浣曟搷浣滐紝鐢辫皟鐢ㄨ�呰嚜琛屽鐞嗛�昏緫
+ public void ViewCrossPlayerCacheData(int _playerId, int viewType = (int)ViewPlayerType.viewCrossPlayerData)
+ {
+ viewPlayerType = viewType;
+ ViewRoleParticulars(_playerId);
+ }
+
+ public void ViewRoleParticulars(int playerID)
+ {
+ if (playerID == 0)
+ {
+ return;
+ }
+ viewPlayer = playerID;
+ if (viewPlayerDataDic.ContainsKey(playerID))
+ {
+ ViewPlayerData viewPlayerData = viewPlayerDataDic[playerID];
+ if ((DateTime.Now - viewPlayerData.getTime).TotalSeconds < 30)
+ {
+ ShowRoleParticulars(viewPlayerData, playerID);
+ return;
+ }
+ }
+ if (viewPlayerType >= (int)ViewPlayerType.viewCrossPlayerEquip)
+ {
+ //鐢卞瓙鏈嶆湇鍔″櫒鍚戣法鏈嶆湇鍔″櫒鏌ヨ; 浼氫紭鍏堟煡鏈湇鏁版嵁(gameserver)
+ CC002_tagCGViewCrossPlayerInfo c002 = new CC002_tagCGViewCrossPlayerInfo();
+ c002.PlayerID = (uint)playerID;
+ GameNetSystem.Instance.SendInfo(c002);
+ }
+ else
+ {
+ //鍙煡鏈湇鏁版嵁锛屾湁鍙兘鏈湴鍥炬湁鏁版嵁锛屽氨涓嶆煡gameserver
+ CA212_tagCMViewPlayerInfo pak = new CA212_tagCMViewPlayerInfo();
+ pak.PlayerID = (uint)playerID;
+ GameNetSystem.Instance.SendInfo(pak);
+ }
+ }
+
+
+ //鏈湇绔炴妧鍦哄亣鏌ヨ妯℃嫙灏佸寘锛岃繑鍥炴煡鐪嬫満鍣ㄤ汉鏁版嵁 鎵撳紑RoleParticularsWin鐣岄潰锛屼笓鐢ㄦ帴鍙e叾浠栧湴鏂逛笉瑕佽皟鐢�
+ public void ViewFairyArenaRobot(int playerID, ViewPlayerData _viewPlayerData)
+ {
+ ViewPlayerData viewPlayerData = null;
+ viewPlayer = playerID;
+ if (!viewPlayerDataDic.TryGetValue(playerID, out viewPlayerData))
+ {
+ viewPlayerDataDic.Add(playerID, _viewPlayerData);
+ }
+ else
+ {
+ viewPlayerDataDic[playerID] = _viewPlayerData;
+ }
+
+ viewPlayerType = (int)ViewPlayerType.viewCrossPlayerEquip;
+ ShowRoleParticulars(_viewPlayerData, playerID);
+ }
+
+
+
+ public void OnRevRoleEquip(HA705_tagSCQueryPlayerCacheResult package)
+ {
+
+ ViewPlayerData viewPlayerData = null;
+ if (!viewPlayerDataDic.TryGetValue((int)package.PlayerID, out viewPlayerData))
+ {
+ viewPlayerData = new ViewPlayerData();
+ viewPlayerData.getTime = DateTime.Now;
+ viewPlayerDataDic.Add((int)package.PlayerID, viewPlayerData);
+ }
+
+ viewPlayerData.getTime = DateTime.Now;
+ viewPlayerData.rolePropData.PlayerID = (int)package.PlayerID;
+ viewPlayerData.rolePropData.Name = package.PlayerName;
+ viewPlayerData.rolePropData.LV = package.LV;
+ viewPlayerData.rolePropData.Job = package.Job;
+ viewPlayerData.rolePropData.RealmLV = package.RealmLV;
+ viewPlayerData.rolePropData.Face = (int)package.Face;
+ viewPlayerData.rolePropData.FacePic = (int)package.FacePic;
+ viewPlayerData.rolePropData.TitleID = (int)package.TitleID;
+ viewPlayerData.rolePropData.ServerID = (int)package.ServerID;
+ viewPlayerData.rolePropData.FightPower = package.FightPower + package.FightPowerEx * (long)Constants.ExpPointValue;
+ viewPlayerData.rolePropData.FamilyID = (int)package.FamilyID;
+ viewPlayerData.rolePropData.FamilyName = package.FamilyName;
+ viewPlayerData.rolePropData.FamilyEmblemID = (int)package.FamilyEmblemID;
+
+
+ if (viewPlayerData.rolePlusData == null)
+ {
+ //绗竴娆″垵濮嬪寲
+ viewPlayerData.rolePlusData = new RolePlusData();
+ }
+ if (package.PlusDataSize != 0)
+ {
+ viewPlayerData.rolePlusData.AnalysisRolePlusData(package.PlusData);
+ }
+
+
+ ShowRoleParticulars(viewPlayerData, (int)package.PlayerID);
+ }
+
+ public void OnRevRoleFuncPower(HA3A1_tagMCModuleFightPowerInfo package)
+ {
+ if (package.MFPCnt == 0)
+ return;
+ for (int i = 0; i < package.MFPList.Length; i++)
+ {
+ funcFightPowerDict[package.MFPList[i].MfpType] = package.MFPList[i].FightPowerEx * Constants.ExpPointValue + package.MFPList[i].FightPower;
+ }
+ if (PowerUpdate != null)
+ {
+ PowerUpdate();
+ }
+ }
+
+ public ulong GetFuncFightPower(int type)
+ {
+ if (funcFightPowerDict.ContainsKey(type))
+ {
+ return funcFightPowerDict[type];
+ }
+ return 0;
+ }
+
+ #region 鏌ョ湅鐜╁鍧愰獞鐏靛疇灞炴��
+
+
+ // int[] qualitys;
+ // string[] qualityTitles;
+ // public string GetQualityDisplay(int quality)
+ // {
+ // if (qualitys == null)
+ // {
+ // var config = FuncConfigConfig.Get("PetQuality");
+ // qualitys = ConfigParse.GetMultipleStr<int>(config.Numerical1);
+ // qualityTitles = ConfigParse.GetMultipleStr(config.Numerical2);
+ // }
+ // for (int i = 0; i < qualitys.Length; i++)
+ // {
+ // if (quality == qualitys[i])
+ // {
+ // return qualityTitles[i];
+ // }
+ // }
+ // return string.Empty;
+ // }
+
+
+ // public int GetPetFightPower(List<PetInfo> pets)
+ // {
+ // var fightPower = 0;
+ // for (int i = 0; i < pets.Count; i++)
+ // {
+ // fightPower += GetPetFightPower(pets[i].id, pets[i].lv);
+ // }
+ // return fightPower;
+ // }
+
+ // public int GetPetFightPower(int id, int lv)
+ // {
+ // var fightPower = 0;
+ // var config = PetInfoConfig.Get(id);
+ // var _init_fightpower = 0;
+ // int.TryParse(config.InitFightPower, out _init_fightpower);
+ // fightPower += _init_fightpower;
+ // PetInfoConfig.GetPetSkills(id, lv, true, ref skills);
+ // var petUpConfig = PetClassCostConfig.GetPetIdAndRank(id, lv);
+ // if (petUpConfig != null)
+ // {
+ // Dictionary<int, int> propertyDict = new Dictionary<int, int>();
+ // propertyDict.Add(77, petUpConfig.AtkAdd);
+ // propertyDict.Add(78, petUpConfig.AtkAdd);
+ // fightPower += UIHelper.GetFightPower(propertyDict);// Mathf.FloorToInt(petUpConfig.AtkAdd * 2.5f);
+ // }
+ // for (int i = 0; i < skills.Count; i++)
+ // {
+ // var skillConfig = SkillConfig.Get(skills[i]);
+ // if (skillConfig != null)
+ // {
+ // fightPower += skillConfig.FightPower;
+ // }
+ // }
+ // return fightPower;
+ // }
+
+ // public int GetPetAtkProperty(List<PetInfo> pets)
+ // {
+ // var atk = 0;
+ // for (int i = 0; i < pets.Count; i++)
+ // {
+ // atk += GetPetAtkProperty(pets[i].id, pets[i].lv, pets);
+ // }
+ // return atk;
+ // }
+
+ // public int GetPetAtkProperty(int id, int lv, List<PetInfo> pets)
+ // {
+ // var atk = 0;
+ // var petUpConfig = PetClassCostConfig.GetPetIdAndRank(id, lv);
+ // if (petUpConfig != null)
+ // {
+ // atk += petUpConfig.AtkAdd;
+ // }
+ // PetInfoConfig.GetPetSkills(id, lv, true, ref skills);
+ // for (int i = 0; i < skills.Count; i++)
+ // {
+ // atk += GetPetAtkSkillProperty(skills[i], pets);
+ // }
+ // return atk;
+ // }
+
+ // public int GetPetAtkSkillProperty(int skillId, List<PetInfo> pets)
+ // {
+ // SkillConfig skillconfig = SkillConfig.Get(skillId);
+ // if (skillconfig == null)
+ // {
+ // return 0;
+ // }
+ // if (skillconfig.Effect1 == (int)RidingAndPetActivationModel.RidingAndPetProperty.PetAttack)
+ // {
+ // return GetPetAttack(skillconfig.EffectValue11, skillconfig.EffectValue12, pets);
+ // }
+ // else if (skillconfig.Effect2 == (int)RidingAndPetActivationModel.RidingAndPetProperty.PetAttack)
+ // {
+ // return GetPetAttack(skillconfig.EffectValue21, skillconfig.EffectValue22, pets);
+ // }
+ // else if (skillconfig.Effect3 == (int)RidingAndPetActivationModel.RidingAndPetProperty.PetAttack)
+ // {
+ // return GetPetAttack(skillconfig.EffectValue31, skillconfig.EffectValue32, pets);
+ // }
+ // else if (skillconfig.Effect4 == (int)RidingAndPetActivationModel.RidingAndPetProperty.PetAttack)
+ // {
+ // return GetPetAttack(skillconfig.EffectValue41, skillconfig.EffectValue42, pets);
+ // }
+ // else if (skillconfig.Effect5 == (int)RidingAndPetActivationModel.RidingAndPetProperty.PetAttack)
+ // {
+ // return GetPetAttack(skillconfig.EffectValue51, skillconfig.EffectValue52, pets);
+ // }
+ // else if (skillconfig.Effect6 == (int)RidingAndPetActivationModel.RidingAndPetProperty.PetAttack)
+ // {
+ // return GetPetAttack(skillconfig.EffectValue61, skillconfig.EffectValue62, pets);
+ // }
+ // return 0;
+ // }
+
+ // int GetPetAttack(int quality, int value, List<PetInfo> pets)
+ // {
+ // var atk = 0;
+ // for (int i = 0; i < pets.Count; i++)
+ // {
+ // var config = PetInfoConfig.Get(pets[i].id);
+ // if (config != null && config.Quality == quality)
+ // {
+ // var petUpConfig = PetClassCostConfig.GetPetIdAndRank(pets[i].id, pets[i].lv);
+ // atk += petUpConfig == null ? 0 : petUpConfig.AtkAdd;
+ // }
+ // }
+ // return (int)(atk * ((float)value / 10000));
+ // }
+
+ public bool viewPetStone { get; set; }
+ #endregion
+
+ //灏介噺涓嶈鐢ㄧ涓�涓弬鏁皏iewtype鍋氬垽鏂紝瀹规槗鍑洪敊锛屾瘮濡傚悓鏃跺彂閫佷袱涓笉鍚岀殑viewPlayerType璇锋眰鐨勬椂鍊�
+ private void ShowRoleParticulars(ViewPlayerData _viewPlayerData, int playerID)
+ {
+ // if (viewPlayerType == (int)ViewPlayerType.viewPlayerEquip || viewPlayerType == (int)ViewPlayerType.viewCrossPlayerEquip)
+ // {
+ // if (!WindowCenter.Instance.IsOpen<RoleParticularsWin>())
+ // {
+ // RoleParticularsWin.viewType = viewPlayerType;
+ // WindowCenter.Instance.Open<RoleParticularsWin>();
+ // }
+ // }
+ // else if (viewPlayerType == (int)ViewPlayerType.viewPlayerFightPower || viewPlayerType == (int)ViewPlayerType.viewCrossPlayerFightPower)
+ // {
+ // if (!WindowCenter.Instance.IsOpen<ViewFuncPowerWin>())
+ // {
+ // WindowCenter.Instance.Open<ViewFuncPowerWin>();
+ // }
+ // }
+
+
+ OnRevPackage?.Invoke(viewPlayerType, playerID, _viewPlayerData);
+ viewPlayerType = -1;
+ }
+
+ public class ViewPlayerData
+ {
+ public RolePropData rolePropData;
+ public RolePlusData rolePlusData;
+
+ public DateTime getTime;
+
+ public int GetEquipSuitLevel()
+ {
+ return 0;
+ }
+
+
+ }
+
+
+ [Serializable]
+ public struct RolePropData
+ {
+ public int PlayerID;
+ public int LV;
+ public int RealmLV;
+ public string Name;
+ public string FamilyName;
+ public int Job;
+ public int FamilyID;
+ public long FightPower;
+ public int TitleID;
+ public int ServerID;
+ public int FamilyEmblemID;
+ public int Face; //鑴稿瀷
+ public int FacePic; //鑴稿瀷澶栨
+ }
+
+
+ public class RolePlusData
+ {
+ Dictionary<int, ulong> fightPowerDict = new Dictionary<int, ulong>();
+ Dictionary<int, int> godWeaponDict = new Dictionary<int, int>();
+ Dictionary<int, int> treasureDict = new Dictionary<int, int>();
+ public List<HorseInfo> horses = new List<HorseInfo>();
+ public List<PetInfo> pets = new List<PetInfo>();
+ public List<AlchemyDrug> alchemyDrugs = new List<AlchemyDrug>();
+ public int Horse { get; private set; } //鏀逛负绛夌骇
+ public int Pet { get; private set; }
+
+ public int AtkSpeed { get; private set; }
+ public int Rune { get; private set; }
+ public int orangeEquipsCount { get; private set; }
+ public int totalGemsLevel { get; private set; }
+ public int totalEquipWashLevel { get; private set; }
+ public int totalEquipStarLevel { get; private set; }
+ public int totalEquipStrengthLevel { get; private set; }
+ public int totalEquipEvolveLevel { get; private set; }
+ public int totalSkillLevel { get; private set; }
+
+ public ulong GetFightPower(int type)
+ {
+ if (fightPowerDict != null && fightPowerDict.ContainsKey(type))
+ {
+ return fightPowerDict[type];
+ }
+ return 0;
+ }
+
+
+
+ public void AnalysisRolePlusData(string jsonStr)
+ {
+ try
+ {
+ var jsonData = JsonMapper.ToObject(jsonStr);
+ if (jsonData.Keys.Contains("FightPowerDict"))
+ {
+ var jsonPlusData = jsonData["FightPowerDict"];
+ if (jsonPlusData.IsObject)
+ {
+ foreach (var key in jsonPlusData.Keys)
+ {
+ int type = int.Parse(key);
+ fightPowerDict.Add(type, ulong.Parse(jsonPlusData[key].ToString()));
+ }
+ }
+ }
+
+
+ // if (jsonData.Keys.Contains("Pet"))
+ // {
+ // var jsonPlusData = jsonData["Pet"];
+ // if (jsonPlusData.IsObject)
+ // {
+ // foreach (var _key in jsonPlusData.Keys)
+ // {
+ // if (_key.Equals("AtkSpeed"))
+ // {
+ // AtkSpeed = int.Parse(jsonPlusData[_key].ToString());
+ // }
+ // else if (_key.Equals("PetLV"))
+ // {
+ // var petInfos = JsonMapper.ToObject<PetInfo[]>(jsonPlusData[_key].ToJson());
+ // if (petInfos != null && petInfos.Length > 0)
+ // {
+ // for (int i = 0; i < petInfos.Length; i++)
+ // {
+ // var petInfo = petInfos[i];
+ // pets.Add(new PetInfo()
+ // {
+ // id = petInfo.id,
+ // lv = petInfo.lv + 1,
+ // });
+ // }
+ // }
+ // }
+ // }
+ // pets.Sort(Compare);
+ // }
+ // Pet = pets.Count;
+ // }
+ // else
+ // {
+ // Pet = 0;
+ // }
+
+ }
+ catch (Exception e)
+ {
+ Debug.Log(e.StackTrace);
+ }
+ }
+
+ // int Compare(PetInfo x, PetInfo y)
+ // {
+ // var config_x = PetInfoConfig.Get(x.id);
+ // var config_y = PetInfoConfig.Get(y.id);
+ // if (config_x == null || config_y == null)
+ // {
+ // return 0;
+ // }
+ // return -config_x.Sort.CompareTo(config_y.Sort);
+ // }
+
+ // int Compare(HorseInfo x, HorseInfo y)
+ // {
+ // var config_x = HorseConfig.Get(x.id);
+ // var config_y = HorseConfig.Get(y.id);
+ // if (config_x == null || config_y == null)
+ // {
+ // return 0;
+ // }
+ // return -config_x.Sort.CompareTo(config_y.Sort);
+ // }
+ }
+
+ public struct HorseInfo
+ {
+ public int id;
+ public int lv;
+ }
+
+ public struct PetInfo
+ {
+ public int id;
+ public int lv;
+ }
+
+ public struct AlchemyDrug
+ {
+ public int item;
+ public int count;
+ }
+}
+
diff --git a/Main/System/RoleParticulars/RoleParticularModel.cs.meta b/Main/System/RoleParticulars/RoleParticularModel.cs.meta
new file mode 100644
index 0000000..909c703
--- /dev/null
+++ b/Main/System/RoleParticulars/RoleParticularModel.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 10f0fd9d4033d03459f8b176ace9daa3
+timeCreated: 1511769062
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
--
Gitblit v1.8.0