From b0a5d4688f1af73b5ad03ccc2df11c9aac1523a9 Mon Sep 17 00:00:00 2001 From: yyl <yyl> Date: 星期二, 29 七月 2025 16:56:23 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts --- Main/Config/Configs/PlayerPropertyConfig.cs | 4 Main/Config/Configs/TitleStarUpConfig.cs | 98 Main/Config/Configs/SkillConfig.cs | 343 + Main/Config/Configs/EquipPlaceMapConfig.cs | 4 Main/Config/Configs/HeroLineupHaloConfig.cs.meta | 5 Main/Config/Configs/EmojiPackConfig.cs | 116 Main/System/HeroUI/HeroScenePosCell.cs | 30 Main/System/HeroUI/HeroCardLineCell.cs | 7 Main/Component/UI/Common/FunctionButtonGroup.cs | 491 +- Main/System/HeroUI/HeroPosHeadCell.cs | 16 Main/Config/Configs/RealmLVUPTaskConfig.cs | 4 Main/Config/Configs/NPCExConfig.cs | 74 Main/Config/Configs/TreasureSetConfig.cs | 4 Main/Component/UI/Common/GroupButtonEx.cs | 151 Main/System/KnapSack/Logic/ItemModel.cs | 9 Main/Utility/EnumHelper.cs | 4 Main/Config/Configs/MainLevelConfig.cs | 128 Main/Config/Configs/NPCLineupConfig.cs | 116 Main/Config/Configs/HeroBreakConfig.cs | 98 Main/Config/Configs/TreasureItemLibConfig.cs | 4 Main/Config/Configs/GuideConfig.cs | 134 Main/Config/Configs/AppointItemConfig.cs | 80 Main/Config/Configs/CTGSelectItemConfig.cs | 80 Main/Config/Configs/FamilyConfig.cs | 4 Main/Config/Configs/HeroLineupHaloConfig.cs | 69 Main/Config/Configs/SuccessConfig.cs | 182 Main/Config/Configs/HeroQualityAwakeConfig.cs | 86 Main/Config/Configs/HeroQualityLVConfig.cs.meta | 5 Main/Config/Configs/PlayerFacePicStarConfig.cs | 98 Main/Config/Configs/HeroSkinConfig.cs | 4 Main/Config/Configs/RichTextMsgReplaceConfig.cs | 86 Main/Config/Configs/FamilyEmblemConfig.cs | 4 Main/Config/Configs/HeroAwakeConfig.cs | 110 Main/Config/Configs/PlayerFacePicConfig.cs | 134 Main/Config/Configs/RuleConfig.cs | 80 Main/Component/UI/Common/FunctionButton.cs | 480 +- Main/Component/UI/Core/OutlineEx.cs | 20 Main/Config/Configs/TaskConfig.cs | 4 Main/Component/UI/Common/ItemBaseEffect.cs | 2 Main/Config/Configs/AudioConfig.cs | 80 Main/Config/Configs/TreeLVConfig.cs | 92 Main/System/Team/TeamManager.cs | 11 Main/Config/Configs/DailyLivenessRewardConfig.cs | 4 Main/System/Hero/HeroManager.cs | 54 Main/Config/Configs/FrameAnimationConfig.cs | 98 Main/Config/Configs/KickOutReasonConfig.cs | 74 Main/Config/Configs/HeroQualityLVConfig.cs | 54 Main/Config/Configs/RealmConfig.cs | 4 Main/Config/Configs/StoreConfig.cs | 200 Main/Config/Configs/HeroQualityBreakConfig.cs | 92 Main/Core/ResModule/GameObjectPoolManager.cs | 361 + Main/Config/Configs/InitialFunctionConfig.cs | 98 Main/Component/UI/Effect/EffectMgr.cs | 28 Main/Config/Configs/ChestsConfig.cs | 92 Main/System/Tip/MarqueeWin.cs | 2 Main/Component/UI/Effect/EffectTime.cs.meta | 5 Main/Config/Configs/GetItemWaysConfig.cs | 110 Main/Config/Configs/DailyQuestOpenTimeConfig.cs | 4 Main/Config/Configs/PlayerFaceStarConfig.cs | 98 Main/System/HeroUI/HeroConnectionCell.cs | 15 Main/System/HeroUI/HeroPosLineCell.cs.meta | 5 Main/System/HeroUI/HeroPosWin.cs | 187 + Main/Config/Configs/EquipGSParamConfig.cs | 4 Main/Component/UI/Common/GroupButtonExManager.cs | 152 Main/System/HeroUI/HeroUIManager.cs | 186 + Main/System/HeroUI/HeroPosWin.cs.meta | 5 Main/Config/Configs/ChestsAwardConfig.cs | 110 Main/Config/Configs/MailConfig.cs | 80 Main/Component/UI/Common/GroupButtonExManager.cs.meta | 5 Main/Config/Configs/FirstGoldConfig.cs | 4 Main/Config/Configs/XBGetItemConfig.cs | 4 Main/ResModule/ResManager.cs | 4 Main/Config/Configs/CTGConfig.cs | 158 Main/Config/Configs/DienstgradConfig.cs | 140 Main/System/Hero/HeroInfo.Properties.cs | 2 Main/Config/Configs/DirtyWordConfig.cs | 74 Main/Config/PartialConfigs/PlayerPropertyConfig.cs | 2 Main/System/HeroUI/HeroSelectBehaviour.cs.meta | 5 Main/Config/Configs/ChatBubbleBoxConfig.cs | 4 Main/Config/Configs/FunctionTeamSetConfig.cs | 110 Main/Config/Configs/HeroConfig.cs | 4 Main/System/HeroUI/HeroPosLineCell.cs | 23 Main/Config/Configs/OrderInfoConfig.cs | 122 Main/Config/Configs/EffectConfig.cs | 116 Main/Config/Configs/FuncConfigConfig.cs | 98 Main/Config/Configs/PlayerFaceConfig.cs | 146 Main/Config/Configs/LanguageConfig.cs | 74 Main/Config/Configs/PlayerLVConfig.cs | 4 Main/Component/UI/Common/GroupButtonEx.cs.meta | 5 Main/Component/UI/Effect/UIEffectPlayer.cs.meta | 5 Main/Config/Configs/DailyQuestConfig.cs | 4 Main/Config/PartialConfigs/HeroLineupHaloConfig.cs | 35 Main/System/Hero/HeroInfo.cs | 36 Main/System/UIBase/UIBase.cs | 8 Main/Config/Configs/FaceConfig.cs | 98 Main/Config/Configs/PriorLanguageConfig.cs | 74 Main/System/HeroUI/HeroConnectionHeadCell.cs.meta | 5 Main/System/HeroUI/HeroListWin.cs | 51 Main/System/HeroUI/HeroConnectionCell.cs.meta | 5 Main/System/HeroUI/HeroHeadBaseCell.cs | 1 Main/System/HeroUI/HeroSelectBehaviour.cs | 96 Main/Config/Configs/HeroFetterConfig.cs | 92 Main/Config/Configs/SysInfoConfig.cs | 98 Main/Config/ConfigManager.cs | 137 Main/Config/PartialConfigs/HeroLineupHaloConfig.cs.meta | 5 Main/Component/UI/Effect/UIEffectPlayer.cs | 154 Main/System/HeroUI/HeroCardCell.cs | 4 Main/System/HeroUI/HeroConnectionHeadCell.cs | 45 Main/Component/UI/Effect/EffectTime.cs | 13 Main/Config/Configs/NPCConfig.cs | 416 +- Main/Config/Configs/GmCmdConfig.cs | 80 Main/Config/Configs/IconConfig.cs | 80 Main/System/Main/HomeWin.cs | 5 Main/Config/Configs/ItemConfig.cs | 500 +- Main/Config/Configs/priorbundleConfig.cs | 92 Main/Component/UI/Effect/EffectPlayer.cs | 245 + Main/Config/Configs/FuncOpenLVConfig.cs | 128 Main/System/PhantasmPavilion/AvatarCell.cs | 12 Main/Config/Configs/HeroQualityConfig.cs | 128 Main/Config/Configs/TreasureCntAwardConfig.cs | 4 Main/Config/Configs/HeroTalentConfig.cs | 4 Main/System/Hero/UIHeroController.cs | 59 Main/System/Message/WaitCallBack.cs | 298 Main/System/Team/TeamType.cs | 12 /dev/null | 99 Main/System/HeroUI/HeroScenePosCell.cs.meta | 5 Main/Config/Configs/DirtyNameConfig.cs | 4 Main/Config/Configs/MainChapterConfig.cs | 98 Main/System/HeroUI/HeroPosHeadCell.cs.meta | 5 129 files changed, 5,732 insertions(+), 4,285 deletions(-) diff --git a/Main/Component/UI/Common/FunctionButton.cs b/Main/Component/UI/Common/FunctionButton.cs index b4718f1..965bae3 100644 --- a/Main/Component/UI/Common/FunctionButton.cs +++ b/Main/Component/UI/Common/FunctionButton.cs @@ -11,249 +11,249 @@ using System; - - public class FunctionButton : Button - { - [SerializeField] int m_Order = 0; - public int order { - get { return m_Order; } - set { - m_Order = value; - } +//鍏宠仈娓告垙鐜╂硶鍔熻兘鎸夐挳锛屽鍗囨槦鍔熻兘 +public class FunctionButton : Button +{ + [SerializeField] int m_Order = 0; + public int order { + get { return m_Order; } + set { + m_Order = value; } - - [SerializeField] int m_FunctionId = -1; - public int functionId { - get { return m_FunctionId; } - set { - m_FunctionId = value; - OnFunctionUnLockStateChange(); - } - } - - [SerializeField] TitleBtnState m_State = TitleBtnState.Normal; - public TitleBtnState state { - get { return m_State; } - set { - if (m_State != value) - { - m_State = value; - OnStateChange(); - } - } - } - - [SerializeField] Button m_Button; - public Button button { - get { return m_Button; } - set { m_Button = value; } - } - - [SerializeField] ImageEx m_Icon; - public ImageEx icon { - get { return this.m_Icon; } - set { this.m_Icon = value; } - } - - [SerializeField] TextEx m_Title; - public TextEx title { - get { return this.m_Title; } - set { this.m_Title = value; } - } - - [SerializeField] RedpointBehaviour m_Redpoint; - public RedpointBehaviour redpoint { - get { return m_Redpoint; } - set { m_Redpoint = value; } - } - - [SerializeField] Shadow m_Shadow; - public Shadow shadow { - get { return this.m_Shadow; } - set { this.m_Shadow = value; } - } - - [SerializeField] Transform m_Locked; - public Transform locked { - get { return this.m_Locked; } - set { this.m_Locked = value; } - } - - [SerializeField] int m_Audio = 1; - public int clickAudio { - get { return this.m_Audio; } - set { this.m_Audio = value; } - } - - [SerializeField] bool m_UseDefaultConfig = true; - public bool useDefaultConfig { - get { return this.m_UseDefaultConfig; } - set { this.m_UseDefaultConfig = value; } - } - - [SerializeField] FunctionButtonConfig m_AlternativeConfig; - public FunctionButtonConfig alternativeConfig { get { return m_AlternativeConfig; } set { m_AlternativeConfig = value; } } - - [SerializeField] - FunctionButtonGroup m_Group; - public FunctionButtonGroup group { - get { return m_Group; } - set { - if (m_Group != null) - { - m_Group.UnRegister(this); - } - m_Group = value; - if (m_Group != null) - { - m_Group.Register(this); - } - } - } - - public event Action<string> OnPointClickLockFunc; - public event Action repeatClickFunc; - - protected override void Awake() - { -#if UNITY_EDITOR - if (!Application.isPlaying) return; -#endif - OnFunctionUnLockStateChange(); - FuncOpen.Instance.OnFuncStateChangeEvent += OnFunctionUnLockStateChange; - } - - protected override void OnEnable() - { - base.OnEnable(); - - if (group != null) - { - group.Register(this); - } - - OnStateChange(); - } - - protected override void OnDisable() - { - base.OnDisable(); - - if (group != null) - { - group.UnRegister(this); - } - } - - protected override void OnDestroy() - { -#if UNITY_EDITOR - if (!Application.isPlaying) return; -#endif - FuncOpen.Instance.OnFuncStateChangeEvent -= OnFunctionUnLockStateChange; - } - - bool invokeForce = false; - - public void Invoke(bool _force) - { - invokeForce = _force; - OnPointerClick(null); - invokeForce = false; - } - - public override void OnPointerClick(PointerEventData eventData) - { - if (state == TitleBtnState.Locked) - { - if (OnPointClickLockFunc != null) - { - OnPointClickLockFunc(this.gameObject.name); - } - else - { - FuncOpen.Instance.ProcessorFuncErrorTip(functionId); - } - return; - } - - if (!invokeForce && state == TitleBtnState.Click) - { - if (repeatClickFunc != null) - { - repeatClickFunc(); - } - return; - } - - if (base.onClick != null) - { - base.onClick.Invoke(); - if (eventData != null) - { - SoundPlayer.Instance.PlayUIAudio(clickAudio); - } - } - - state = TitleBtnState.Click; - } - - private void OnStateChange() - { - var config = useDefaultConfig ? FunctionButtonConfig.GetDefault() : m_AlternativeConfig; - if (Application.isPlaying) - { - icon.SetSprite(config.GetIconKey(state)); - } - - title.color = config.GetFontColor(state); - title.fontSize = config.GetFontSize(state); - - if (shadow != null) - { - shadow.enabled = state == TitleBtnState.Locked || state == TitleBtnState.Normal; - } - - if (locked != null) - { - locked.SetActive(state == TitleBtnState.Locked); - } - - if (group != null && state == TitleBtnState.Click) - { - group.NotifyToggleOn(this); - } - } - - private void OnFunctionUnLockStateChange(int _functionId) - { - if (m_FunctionId == _functionId) - { - OnFunctionUnLockStateChange(); - } - } - - private void OnFunctionUnLockStateChange() - { - if (m_FunctionId == 0) - { - return; - } - - var isOpen = m_FunctionId == -1 || FuncOpen.Instance.IsFuncOpen(m_FunctionId); - state = isOpen ? state == TitleBtnState.Click ? TitleBtnState.Click : TitleBtnState.Normal : TitleBtnState.Locked; - } - -#if UNITY_EDITOR - protected override void OnValidate() - { - base.OnValidate(); - OnStateChange(); - } -#endif - } + [SerializeField] int m_FunctionId = -1; + public int functionId { + get { return m_FunctionId; } + set { + m_FunctionId = value; + OnFunctionUnLockStateChange(); + } + } + + [SerializeField] TitleBtnState m_State = TitleBtnState.Normal; + public TitleBtnState state { + get { return m_State; } + set { + if (m_State != value) + { + m_State = value; + OnStateChange(); + } + } + } + + [SerializeField] Button m_Button; + public Button button { + get { return m_Button; } + set { m_Button = value; } + } + + [SerializeField] ImageEx m_Icon; + public ImageEx icon { + get { return this.m_Icon; } + set { this.m_Icon = value; } + } + + [SerializeField] TextEx m_Title; + public TextEx title { + get { return this.m_Title; } + set { this.m_Title = value; } + } + + [SerializeField] RedpointBehaviour m_Redpoint; + public RedpointBehaviour redpoint { + get { return m_Redpoint; } + set { m_Redpoint = value; } + } + + [SerializeField] Shadow m_Shadow; + public Shadow shadow { + get { return this.m_Shadow; } + set { this.m_Shadow = value; } + } + + [SerializeField] Transform m_Locked; + public Transform locked { + get { return this.m_Locked; } + set { this.m_Locked = value; } + } + + [SerializeField] int m_Audio = 1; + public int clickAudio { + get { return this.m_Audio; } + set { this.m_Audio = value; } + } + + [SerializeField] bool m_UseDefaultConfig = true; + public bool useDefaultConfig { + get { return this.m_UseDefaultConfig; } + set { this.m_UseDefaultConfig = value; } + } + + [SerializeField] FunctionButtonConfig m_AlternativeConfig; + public FunctionButtonConfig alternativeConfig { get { return m_AlternativeConfig; } set { m_AlternativeConfig = value; } } + + [SerializeField] + FunctionButtonGroup m_Group; + public FunctionButtonGroup group { + get { return m_Group; } + set { + if (m_Group != null) + { + m_Group.UnRegister(this); + } + m_Group = value; + if (m_Group != null) + { + m_Group.Register(this); + } + } + } + + public event Action<string> OnPointClickLockFunc; + public event Action repeatClickFunc; + + protected override void Awake() + { +#if UNITY_EDITOR + if (!Application.isPlaying) return; +#endif + OnFunctionUnLockStateChange(); + FuncOpen.Instance.OnFuncStateChangeEvent += OnFunctionUnLockStateChange; + } + + protected override void OnEnable() + { + base.OnEnable(); + + if (group != null) + { + group.Register(this); + } + + OnStateChange(); + } + + protected override void OnDisable() + { + base.OnDisable(); + + if (group != null) + { + group.UnRegister(this); + } + } + + protected override void OnDestroy() + { +#if UNITY_EDITOR + if (!Application.isPlaying) return; +#endif + FuncOpen.Instance.OnFuncStateChangeEvent -= OnFunctionUnLockStateChange; + } + + bool invokeForce = false; + + public void Invoke(bool _force) + { + invokeForce = _force; + OnPointerClick(null); + invokeForce = false; + } + + public override void OnPointerClick(PointerEventData eventData) + { + if (state == TitleBtnState.Locked) + { + if (OnPointClickLockFunc != null) + { + OnPointClickLockFunc(this.gameObject.name); + } + else + { + FuncOpen.Instance.ProcessorFuncErrorTip(functionId); + } + return; + } + + if (!invokeForce && state == TitleBtnState.Click) + { + if (repeatClickFunc != null) + { + repeatClickFunc(); + } + return; + } + + if (base.onClick != null) + { + base.onClick.Invoke(); + if (eventData != null) + { + SoundPlayer.Instance.PlayUIAudio(clickAudio); + } + } + + state = TitleBtnState.Click; + } + + private void OnStateChange() + { + var config = useDefaultConfig ? FunctionButtonConfig.GetDefault() : m_AlternativeConfig; + if (Application.isPlaying) + { + icon.SetSprite(config.GetIconKey(state)); + } + + title.color = config.GetFontColor(state); + title.fontSize = config.GetFontSize(state); + + if (shadow != null) + { + shadow.enabled = state == TitleBtnState.Locked || state == TitleBtnState.Normal; + } + + if (locked != null) + { + locked.SetActive(state == TitleBtnState.Locked); + } + + if (group != null && state == TitleBtnState.Click) + { + group.NotifyToggleOn(this); + } + } + + private void OnFunctionUnLockStateChange(int _functionId) + { + if (m_FunctionId == _functionId) + { + OnFunctionUnLockStateChange(); + } + } + + private void OnFunctionUnLockStateChange() + { + if (m_FunctionId == 0) + { + return; + } + + var isOpen = m_FunctionId == -1 || FuncOpen.Instance.IsFuncOpen(m_FunctionId); + state = isOpen ? state == TitleBtnState.Click ? TitleBtnState.Click : TitleBtnState.Normal : TitleBtnState.Locked; + } + +#if UNITY_EDITOR + protected override void OnValidate() + { + base.OnValidate(); + OnStateChange(); + } +#endif + +} + diff --git a/Main/Component/UI/Common/FunctionButtonGroup.cs b/Main/Component/UI/Common/FunctionButtonGroup.cs index 66b475f..3e8aee6 100644 --- a/Main/Component/UI/Common/FunctionButtonGroup.cs +++ b/Main/Component/UI/Common/FunctionButtonGroup.cs @@ -9,258 +9,261 @@ using UnityEngine.Events; using System; - public class FunctionButtonGroup : MonoBehaviour +//鍏宠仈娓告垙鐜╂硶鍔熻兘鎸夐挳锛屽鍗囨槦鍔熻兘 +public class FunctionButtonGroup : MonoBehaviour +{ + [SerializeField] ScrollRect m_ScrollRect; + [SerializeField] RectTransform m_Container; + + public int unLockedCount { - [SerializeField] ScrollRect m_ScrollRect; - [SerializeField] RectTransform m_Container; - - public int unLockedCount { - get { - var count = 0; - foreach (var button in functionButtons.Values) + get + { + var count = 0; + foreach (var button in functionButtons.Values) + { + if (button.state != TitleBtnState.Locked) { - if (button.state != TitleBtnState.Locked) - { - count++; - } - } - - return count; - } - } - - int currentOrder = 0; - List<int> orders = new List<int>(); - Dictionary<int, FunctionButton> functionButtons = new Dictionary<int, FunctionButton>(); - - public void Register(FunctionButton button) - { - functionButtons[button.order] = button; - if (!orders.Contains(button.order)) - { - orders.Add(button.order); - orders.Sort(OrderCompare); - } - - if (m_ScrollRect != null) - { - m_ScrollRect.horizontal = functionButtons.Count > 5; - } - } - - public void ChangeHorizontal(bool move) - { - if (m_ScrollRect != null) - { - m_ScrollRect.horizontal = move; - } - } - - public void ChangeHorizontalPos(float index) - { - if (m_ScrollRect != null) - { - m_ScrollRect.horizontalNormalizedPosition = index; - } - } - public void UnRegister(FunctionButton button) - { - if (functionButtons.ContainsKey(button.order)) - { - functionButtons.Remove(button.order); - } - - if (orders.Contains(button.order)) - { - orders.Remove(button.order); - orders.Sort(OrderCompare); - } - - if (m_ScrollRect != null) - { - m_ScrollRect.horizontal = functionButtons.Count > 5; - } - } - - public void NotifyToggleOn(FunctionButton button) - { - - if (button.state == TitleBtnState.Click) - { - currentOrder = button.order; - for (int i = 0; i < orders.Count; i++) - { - if (!functionButtons.ContainsKey(orders[i])) - { - Debug.LogFormat("<color=#ff0000ff>{0} {1}</color>", orders[i], button.name); - } - var functionButton = functionButtons[orders[i]]; - if (functionButton != button && functionButton.state != TitleBtnState.Locked) - { - functionButton.state = TitleBtnState.Normal; - } - } - } - } - - public void TriggerByOrder(int targetOrder) - { - for (int i = 0; i < orders.Count; i++) - { - var order = orders[i]; - if (order == targetOrder) - { - functionButtons[order].Invoke(true); - break; - } - } - } - - public void TriggerLast() - { - var index = orders.IndexOf(currentOrder); - if (index < 0) - { - return; - } - - var loopTimes = 0; - while (loopTimes < 2) - { - index--; - if (index < 0) - { - index = orders.Count - 1; - loopTimes++; - } - - var next = orders[index]; - if (functionButtons[next].state != TitleBtnState.Locked) - { - functionButtons[next].Invoke(false); - break; + count++; } } - } - - public void TriggerNext() - { - var index = orders.IndexOf(currentOrder); - if (index < 0) - { - return; - } - - var loopTimes = 0; - while (loopTimes < 2) - { - index++; - if (index > orders.Count - 1) - { - index = 0; - loopTimes++; - } - - var next = orders[index]; - if (functionButtons[next].state != TitleBtnState.Locked) - { - functionButtons[next].Invoke(false); - break; - } - } - } - - public bool IsFirst() - { - return orders.Count > 0 && currentOrder == orders[0]; - } - - public bool IsLast() - { - return orders.Count > 0 && currentOrder == orders[orders.Count - 1]; - } - - public void GotoOrder(int order) - { - if (m_ScrollRect != null) - { - var index = orders.IndexOf(order); - if (m_ScrollRect.horizontal) - { - m_ScrollRect.horizontalNormalizedPosition = (float)index / orders.Count; - } - else if (m_ScrollRect.vertical) - { - m_ScrollRect.verticalNormalizedPosition = (float)index / orders.Count; - } - } - } - - private int OrderCompare(int a, int b) - { - return a < b ? -1 : 1; - } - - public FunctionButton AddFunction(string pattern, int order, int functionId, string title, int redpointId) - { - if (m_Container == null) - { - return null; - } - - var instance = UIUtility.CreateWidget(pattern, string.Concat("Function_", order)); - instance.transform.SetParentEx(this.m_Container, Vector3.zero, Quaternion.identity, Vector3.one); - - var functionButton = instance.GetComponent<FunctionButton>(); - functionButton.functionId = functionId; - functionButton.order = order; - functionButton.title.text = title; - - functionButton.group = this; - functionButton.redpoint.redpointId = redpointId; - functionButtons[order] = functionButton; - - functionButton.SetActive(functionButton.functionId != -1); - return functionButton; - } - - public void SetFunctionListener(int order, Action callBack) - { - if (functionButtons.ContainsKey(order)) - { - functionButtons[order].SetListener(() => callBack?.Invoke()); - } - } - - public void SetFunctionButtonActive(int order, bool isShow) - { - if (functionButtons.ContainsKey(order)) - { - functionButtons[order].SetActive(isShow); - } - } - - public RedPointState GetFunctionButtonRedPointState(int order) - { - if (functionButtons.ContainsKey(order)) - { - return RedpointCenter.Instance.GetRedpointState(functionButtons[order].redpoint.redpointId); - } - - return RedPointState.None; - } - - public FunctionButton GetFunctionBtn(int order) - { - if (functionButtons.ContainsKey(order)) - { - return functionButtons[order]; - } - return null; + return count; } } + int currentOrder = 0; + List<int> orders = new List<int>(); + Dictionary<int, FunctionButton> functionButtons = new Dictionary<int, FunctionButton>(); + + public void Register(FunctionButton button) + { + functionButtons[button.order] = button; + if (!orders.Contains(button.order)) + { + orders.Add(button.order); + orders.Sort(OrderCompare); + } + + if (m_ScrollRect != null) + { + m_ScrollRect.horizontal = functionButtons.Count > 5; + } + } + + public void ChangeHorizontal(bool move) + { + if (m_ScrollRect != null) + { + m_ScrollRect.horizontal = move; + } + } + + public void ChangeHorizontalPos(float index) + { + if (m_ScrollRect != null) + { + m_ScrollRect.horizontalNormalizedPosition = index; + } + } + public void UnRegister(FunctionButton button) + { + if (functionButtons.ContainsKey(button.order)) + { + functionButtons.Remove(button.order); + } + + if (orders.Contains(button.order)) + { + orders.Remove(button.order); + orders.Sort(OrderCompare); + } + + if (m_ScrollRect != null) + { + m_ScrollRect.horizontal = functionButtons.Count > 5; + } + } + + public void NotifyToggleOn(FunctionButton button) + { + + if (button.state == TitleBtnState.Click) + { + currentOrder = button.order; + for (int i = 0; i < orders.Count; i++) + { + if (!functionButtons.ContainsKey(orders[i])) + { + Debug.LogFormat("<color=#ff0000ff>{0} {1}</color>", orders[i], button.name); + } + var functionButton = functionButtons[orders[i]]; + if (functionButton != button && functionButton.state != TitleBtnState.Locked) + { + functionButton.state = TitleBtnState.Normal; + } + } + } + } + + public void TriggerByOrder(int targetOrder) + { + for (int i = 0; i < orders.Count; i++) + { + var order = orders[i]; + if (order == targetOrder) + { + functionButtons[order].Invoke(true); + break; + } + } + } + + public void TriggerLast() + { + var index = orders.IndexOf(currentOrder); + if (index < 0) + { + return; + } + + var loopTimes = 0; + while (loopTimes < 2) + { + index--; + if (index < 0) + { + index = orders.Count - 1; + loopTimes++; + } + + var next = orders[index]; + if (functionButtons[next].state != TitleBtnState.Locked) + { + functionButtons[next].Invoke(false); + break; + } + } + + } + + public void TriggerNext() + { + var index = orders.IndexOf(currentOrder); + if (index < 0) + { + return; + } + + var loopTimes = 0; + while (loopTimes < 2) + { + index++; + if (index > orders.Count - 1) + { + index = 0; + loopTimes++; + } + + var next = orders[index]; + if (functionButtons[next].state != TitleBtnState.Locked) + { + functionButtons[next].Invoke(false); + break; + } + } + } + + public bool IsFirst() + { + return orders.Count > 0 && currentOrder == orders[0]; + } + + public bool IsLast() + { + return orders.Count > 0 && currentOrder == orders[orders.Count - 1]; + } + + public void GotoOrder(int order) + { + if (m_ScrollRect != null) + { + var index = orders.IndexOf(order); + if (m_ScrollRect.horizontal) + { + m_ScrollRect.horizontalNormalizedPosition = (float)index / orders.Count; + } + else if (m_ScrollRect.vertical) + { + m_ScrollRect.verticalNormalizedPosition = (float)index / orders.Count; + } + } + } + + private int OrderCompare(int a, int b) + { + return a < b ? -1 : 1; + } + + public FunctionButton AddFunction(string pattern, int order, int functionId, string title, int redpointId) + { + if (m_Container == null) + { + return null; + } + + var instance = UIUtility.CreateWidget(pattern, string.Concat("Function_", order)); + instance.transform.SetParentEx(this.m_Container, Vector3.zero, Quaternion.identity, Vector3.one); + + var functionButton = instance.GetComponent<FunctionButton>(); + functionButton.functionId = functionId; + functionButton.order = order; + functionButton.title.text = title; + + functionButton.group = this; + functionButton.redpoint.redpointId = redpointId; + functionButtons[order] = functionButton; + + functionButton.SetActive(functionButton.functionId != -1); + return functionButton; + } + + public void SetFunctionListener(int order, Action callBack) + { + if (functionButtons.ContainsKey(order)) + { + functionButtons[order].SetListener(() => callBack?.Invoke()); + } + } + + public void SetFunctionButtonActive(int order, bool isShow) + { + if (functionButtons.ContainsKey(order)) + { + functionButtons[order].SetActive(isShow); + } + } + + public RedPointState GetFunctionButtonRedPointState(int order) + { + if (functionButtons.ContainsKey(order)) + { + return RedpointCenter.Instance.GetRedpointState(functionButtons[order].redpoint.redpointId); + } + + return RedPointState.None; + } + + public FunctionButton GetFunctionBtn(int order) + { + if (functionButtons.ContainsKey(order)) + { + return functionButtons[order]; + } + return null; + } +} + diff --git a/Main/Component/UI/Common/GroupButtonEx.cs b/Main/Component/UI/Common/GroupButtonEx.cs new file mode 100644 index 0000000..99fa338 --- /dev/null +++ b/Main/Component/UI/Common/GroupButtonEx.cs @@ -0,0 +1,151 @@ +锘�//-------------------------------------------------------- +// [Author]: 鐜╀釜娓告垙 +// [ Date ]: Tuesday, October 31, 2017 +//-------------------------------------------------------- +using UnityEngine; +using UnityEngine.EventSystems; + +using System; + + +//鍏宠仈鎸夐挳锛屽叾涓竴涓寒璧凤紝鍏朵粬鎸変笅锛屾枃瀛楅鑹插搴斿彉鏇� +//鏁版嵁鏇存柊閫氳繃SelectBtn鏇存柊 鎴栬�� GroupButtonExManager.SelectButton +public class GroupButtonEx : ButtonEx +{ + [SerializeField] GroupButtonExManager m_Manager; // 鎸夐挳缁勭鐞嗗櫒寮曠敤 + public GroupButtonExManager manager + { + get { return m_Manager; } + set + { + if (m_Manager != value) + { + // 浠庢棫绠$悊鍣ㄧЩ闄ゅ苟娣诲姞鍒版柊绠$悊鍣� + if (m_Manager != null) + { + m_Manager.RemoveButton(this); + } + + m_Manager = value; + + if (m_Manager != null) + { + m_Manager.AddButton(this); + } + } + } + } + + [NonSerialized] TitleBtnState m_State = TitleBtnState.Normal; + public TitleBtnState state + { + get { return m_State; } + set + { + if (m_State != value) + { + m_State = value; + } + } + } + + [SerializeField] ImageEx m_SelectIcon; + public ImageEx selectIcon + { + get { return this.m_SelectIcon; } + set { this.m_SelectIcon = value; } + } + + [SerializeField] ImageEx m_UnSelectIcon; + public ImageEx unSelectIcon + { + get { return this.m_UnSelectIcon; } + set { this.m_UnSelectIcon = value; } + } + + [SerializeField] TextEx m_Title; + public TextEx title + { + get { return this.m_Title; } + set { this.m_Title = value; } + } + + [SerializeField] UIEffectPlayer m_SelectEffect; //閫変腑鐗规晥 + public UIEffectPlayer selectEffect + { + get { return m_SelectEffect; } + set { m_SelectEffect = value; } + } + + + protected override void Awake() + { + base.Awake(); + // 纭繚宸叉坊鍔犲埌绠$悊鍣� + if (m_Manager != null) + { + m_Manager.AddButton(this); + } + } + + protected override void OnDestroy() + { + if (m_Manager != null) + { + m_Manager.RemoveButton(this); + } + base.OnDestroy(); + } + + public override void OnPointerClick(PointerEventData eventData) + { + base.OnPointerClick(eventData); + SelectBtn(); + } + + // 閫変腑褰撳墠鎸夐挳 + public void SelectBtn(bool forceRefresh = false) + { + if (m_State == TitleBtnState.Click && !forceRefresh) + return; + + // 閫氳繃绠$悊鍣ㄥ鐞嗛�変腑閫昏緫 + if (m_Manager != null) + { + m_Manager.SelectButton(this); + } + + // 璁剧疆褰撳墠鎸夐挳涓洪�変腑鐘舵�� + state = TitleBtnState.Click; + } + + // 鏇存柊鎸夐挳鐘舵�� + public void UpdateButtonState() + { + // 鏇存柊鍥炬爣鏄剧ず + if (m_SelectIcon != null) + m_SelectIcon.SetActive(m_State == TitleBtnState.Click); + + if (m_UnSelectIcon != null) + m_UnSelectIcon.SetActive(m_State != TitleBtnState.Click); + + // 鏇存柊鏂囧瓧棰滆壊 + if (m_Title != null && m_Manager != null) + { + m_Title.color = m_Manager.GetTextColorForState(m_State); + } + + if (m_SelectEffect != null) + { + if (m_State == TitleBtnState.Click) + { + //閫変腑锛屾樉绀虹壒鏁� + m_SelectEffect.Play(); + } + else + { + m_SelectEffect.Stop(); + } + } + } +} \ No newline at end of file diff --git a/Main/Utility/GameObjectPool.cs.meta b/Main/Component/UI/Common/GroupButtonEx.cs.meta similarity index 69% copy from Main/Utility/GameObjectPool.cs.meta copy to Main/Component/UI/Common/GroupButtonEx.cs.meta index 7153f8c..ffb6f09 100644 --- a/Main/Utility/GameObjectPool.cs.meta +++ b/Main/Component/UI/Common/GroupButtonEx.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 99e41fbb2b3832c41b1575b72c946cca -timeCreated: 1504310243 -licenseType: Pro +guid: 97eda1b97c0fe374f9197d882712f299 MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Main/Component/UI/Common/GroupButtonExManager.cs b/Main/Component/UI/Common/GroupButtonExManager.cs new file mode 100644 index 0000000..bd88ecf --- /dev/null +++ b/Main/Component/UI/Common/GroupButtonExManager.cs @@ -0,0 +1,152 @@ +锘�//-------------------------------------------------------- +// [Author]: 鐜╀釜娓告垙 +// [ Date ]: Tuesday, October 31, 2017 +//-------------------------------------------------------- +using UnityEngine; +using System.Collections; +using System.Collections.Generic; + +using System; + +/// <summary> +/// 鎸夐挳缁勭鐞嗗櫒锛岃礋璐g鐞咷roupButtonEx缁勪欢鐨勭粍鍏崇郴鍜岀姸鎬佸垏鎹� +/// 鏆傜敤浜庨鍒朵綋涓殑璁剧疆锛屽鏋滄槸鍔ㄦ�佸鍒犳寜閽渶閲嶆祴璇曢�昏緫 +/// </summary> +public class GroupButtonExManager : MonoBehaviour +{ + // 鎸夐挳缁勫垪琛� + private List<GroupButtonEx> m_Buttons = new List<GroupButtonEx>(); + + [SerializeField] Color m_SelectedTextColor = Color.white; // 閫変腑鐘舵�佹枃瀛楅鑹� + public Color selectedTextColor { + get { return m_SelectedTextColor; } + set { + m_SelectedTextColor = value; + } + } + + [SerializeField] Color m_NormalTextColor = new Color(0.7f, 0.7f, 0.7f); // 鏈�変腑鐘舵�佹枃瀛楅鑹� + public Color normalTextColor { + get { return m_NormalTextColor; } + set { + m_NormalTextColor = value; + } + } + + /// <summary> + /// 灏嗘寜閽坊鍔犲埌缁� + /// </summary> + /// <param name="button">瑕佹坊鍔犵殑鎸夐挳</param> + public void AddButton(GroupButtonEx button) + { + if (button == null) + return; + + // 濡傛灉鎸夐挳涓嶅湪缁勪腑锛屾坊鍔犲埌缁� + if (!m_Buttons.Contains(button)) + { + m_Buttons.Add(button); + } + } + + /// <summary> + /// 浠庣粍涓Щ闄ゆ寜閽� + /// </summary> + /// <param name="button">瑕佺Щ闄ょ殑鎸夐挳</param> + public void RemoveButton(GroupButtonEx button) + { + if (button == null) + return; + + m_Buttons.Remove(button); + } + + /// <summary> + /// 閫変腑鎸囧畾鎸夐挳锛屽苟鍙栨秷鍏朵粬鎸夐挳鐨勯�変腑鐘舵�� + /// </summary> + /// <param name="button">瑕侀�変腑鐨勬寜閽�</param> + public void SelectButton(GroupButtonEx button) + { + if (button == null) + return; + + // 鍙栨秷鍏朵粬鎸夐挳鐨勯�変腑鐘舵�� + foreach (var btn in m_Buttons) + { + if (btn != button) + { + btn.state = TitleBtnState.Normal; + } + } + + UpdateAllButtonsState(); + } + + /// <summary> + /// 鑾峰彇缁勪腑鐨勬墍鏈夋寜閽� + /// </summary> + /// <returns>鎸夐挳鍒楄〃</returns> + public List<GroupButtonEx> GetButtons() + { + return new List<GroupButtonEx>(m_Buttons); + } + + /// <summary> + /// 鑾峰彇缁勪腑褰撳墠閫変腑鐨勬寜閽� + /// </summary> + /// <returns>閫変腑鐨勬寜閽紝濡傛灉娌℃湁鍒欒繑鍥瀗ull</returns> + public GroupButtonEx GetSelectedButton() + { + foreach (var btn in m_Buttons) + { + if (btn.state == TitleBtnState.Click) + return btn; + } + + return null; + } + + /// <summary> + /// 娓呴櫎鎵�鏈夋寜閽� + /// </summary> + public void ClearButtons() + { + m_Buttons.Clear(); + } + + /// <summary> + /// 鏇存柊鎵�鏈夋寜閽殑鐘舵�� + /// </summary> + private void UpdateAllButtonsState() + { + SortBtns(); + + foreach (var btn in m_Buttons) + { + btn.UpdateButtonState(); + } + } + + bool sortyet = false; + public void SortBtns(bool forceSort = false) + { + if (m_Buttons.Count <= 0) + return; + + if (sortyet && !forceSort) + return; + + m_Buttons.Sort((a, b) => { return a.transform.GetSiblingIndex() - b.transform.GetSiblingIndex(); }); + sortyet = true; + } + + /// <summary> + /// 鑾峰彇鎸夐挳鐘舵�佸搴旂殑鏂囨湰棰滆壊 + /// </summary> + /// <param name="state">鎸夐挳鐘舵��</param> + /// <returns>瀵瑰簲鐨勬枃鏈鑹�</returns> + public Color GetTextColorForState(TitleBtnState state) + { + return state == TitleBtnState.Click ? m_SelectedTextColor : m_NormalTextColor; + } +} \ No newline at end of file diff --git a/Main/Utility/GameObjectPool.cs.meta b/Main/Component/UI/Common/GroupButtonExManager.cs.meta similarity index 68% copy from Main/Utility/GameObjectPool.cs.meta copy to Main/Component/UI/Common/GroupButtonExManager.cs.meta index 7153f8c..cf51a2c 100644 --- a/Main/Utility/GameObjectPool.cs.meta +++ b/Main/Component/UI/Common/GroupButtonExManager.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 99e41fbb2b3832c41b1575b72c946cca -timeCreated: 1504310243 -licenseType: Pro +guid: 25d1a287b0e773443a2231ff104728ad MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Main/Component/UI/Common/ItemBaseEffect.cs b/Main/Component/UI/Common/ItemBaseEffect.cs index c8cb129..d7866fd 100644 --- a/Main/Component/UI/Common/ItemBaseEffect.cs +++ b/Main/Component/UI/Common/ItemBaseEffect.cs @@ -3,7 +3,7 @@ using UnityEngine; public class ItemBaseEffect : MonoBehaviour { - [SerializeField] EffectPlayer m_SuitEffect; + [SerializeField] UIEffectPlayer m_SuitEffect; int itemId = 0; diff --git a/Main/Component/UI/Core/OutlineEx.cs b/Main/Component/UI/Core/OutlineEx.cs index 887988b..e1ee362 100644 --- a/Main/Component/UI/Core/OutlineEx.cs +++ b/Main/Component/UI/Core/OutlineEx.cs @@ -34,16 +34,24 @@ private static List<UIVertex> m_VetexList = new List<UIVertex>(); // 鏉愯川姹狅細Key涓�"棰滆壊_瀹藉害"鏍煎紡鐨勫瓧绗︿覆锛孷alue涓哄搴旂殑鏉愯川; 鍑忓皯鍚堟壒闂锛屽張鑳戒繚鎸佷笉鍚岀殑鎻忚竟锛涘叡鐢ㄦ潗璐ㄤ細鍚屾椂鏀瑰彉鍙傛暟 private static Dictionary<string, Material> m_MaterialPool = new Dictionary<string, Material>(); - private static Shader m_Shader; + + static Shader m_tmpShader; + private static Shader m_Shader + { + get + { + if (m_tmpShader == null) + { + m_tmpShader = Shader.Find("TSF Shaders/UI/OutlineEx"); + } + return m_tmpShader; + } + } protected override void Start() { base.Start(); - if (m_Shader == null) - { - m_Shader = Shader.Find("TSF Shaders/UI/OutlineEx"); - } - + // 浣跨敤鏉愯川姹犺幏鍙栨垨鍒涘缓鏉愯川 string key = GetMaterialKey(OutlineColor, OutlineWidth); if (!m_MaterialPool.TryGetValue(key, out Material material)) diff --git a/Main/Component/UI/Effect/EffectMgr.cs b/Main/Component/UI/Effect/EffectMgr.cs index c2c16de..ade7dd5 100644 --- a/Main/Component/UI/Effect/EffectMgr.cs +++ b/Main/Component/UI/Effect/EffectMgr.cs @@ -1,11 +1,10 @@ 锘縰sing UnityEngine; -public class EffectMgr : SingletonMonobehaviour<EffectMgr> +public class EffectMgr { - //鐜╁鏄惁涓诲姩灞忚斀浜嗙壒鏁� - public bool IsNotShowBySetting(int id) + public static bool IsNotShowBySetting(int id) { var config = EffectConfig.Get(id); if (config == null) @@ -23,28 +22,5 @@ return false; } - - - // public void RecyleUIEffect(int id, GameObject _effectObj) - // { - // EffectConfig effectCfg = EffectConfig.Get(id); - - // if (null == effectCfg) - // { - // return; - // } - - // var _prefab = ResManager.Instance.LoadAsset<GameObject>("UIEffect/" + effectCfg.packageName, effectCfg.fxName); - // if (_prefab == null) - // { - // return; - // } - - // GameObjectPoolManager.GameObjectPool _pool = GameObjectPoolManager.Instance.RequestPool(_prefab); - // if (_pool != null) - // { - // _pool.Release(_effectObj); - // } - // } } diff --git a/Main/Component/UI/Effect/EffectPlayer.cs b/Main/Component/UI/Effect/EffectPlayer.cs index 7e5122f..afd31a9 100644 --- a/Main/Component/UI/Effect/EffectPlayer.cs +++ b/Main/Component/UI/Effect/EffectPlayer.cs @@ -6,15 +6,43 @@ using Spine; using UnityEngine.UI; +// 鐗规晥鎾斁鍣紝瀵硅薄姹犵鐞嗭細unity鐗规晥鍜宻pine鐗规晥閮芥槸鍋氬ソ鐨勯鍒朵綋 +// unity鐗规晥棰勫埗浣撴槸鐗规晥甯堝湪鍒朵綔鐨勬椂鍊欑敓鎴愮殑锛寀nity鐗规晥绾﹀畾鎸傝浇璁剧疆鎾斁鏃堕暱鑴氭湰 +// spine鐗规晥鏄壒鏁堝笀鍒朵綔鐨勫姩鐢绘枃浠跺彲鐩存帴鍔犺浇鐢紝鍒朵綔鎴愰鍒朵綋鍙鍔燘oneFollower涔嬬被鐨勮繘琛岄�昏緫澶勭悊 +// 闈濽I鐗规晥浣跨敤锛孶I鐗规晥UIEffectPlayer缁ф壙EffectPlayer锛屽悗缁鏋滈�昏緫鍐茬獊澶у垯涓嶇敤缁ф壙 public class EffectPlayer : MonoBehaviour { - public int effectId; + [SerializeField] + private int m_EffectID; + public int effectId + { + get + { + return m_EffectID; + } + set + { + if (value != m_EffectID) + { + isInit = false; + m_EffectID = value; + } + } + } + + public EffectConfig effectConfig; - public Action<EffectPlayer> onDestroy; - public float speedRate = 1f; + + + + + [Header("鎾斁瀹屾瘯绔嬪嵆鍥炴敹")] + public bool isReleaseImmediately = true; //鐣岄潰鐗规晥涓�鑸笉闇�瑕佽嚜鎴戦攢姣侊紝璺熼殢鐣岄潰鎴栬�呯埗瀵硅薄閿�姣佸氨琛� + + public Action<EffectPlayer> onDestroy; [HideInInspector] public Canvas canvas = null; @@ -31,21 +59,33 @@ protected List<Renderer> rendererList = new List<Renderer>(); protected SkeletonGraphic spineComp; + protected Spine.AnimationState spineAnimationState; - protected void Start() + public GameObjectPoolManager.GameObjectPool pool; + + public Action onComplete; + + protected virtual void OnEnable() { - ReStart(); + if (spineComp != null) + { + //闅愯棌锛屼細鏈夐潤鎬佹樉绀洪棶棰� + spineComp.enabled = false; + } } - protected void InitCompnent() + protected void InitComponent(bool showLog = true) { if (effectId <= 0) { effectConfig = null; - Debug.LogError("EffectPlayer effectId is not set"); #if UNITY_EDITOR - UnityEditor.Selection.activeGameObject = gameObject; - UnityEditor.EditorGUIUtility.PingObject(gameObject); + if (showLog) + { + Debug.LogError("EffectPlayer effectId is not set"); + UnityEditor.Selection.activeGameObject = gameObject; + UnityEditor.EditorGUIUtility.PingObject(gameObject); + } #endif return; } @@ -54,8 +94,8 @@ if (null == effectConfig) { - Debug.LogError("could not find effect config, effect id is " + effectId); #if UNITY_EDITOR + Debug.LogError("could not find effect config, effect id is " + effectId); UnityEditor.Selection.activeGameObject = gameObject; UnityEditor.EditorGUIUtility.PingObject(gameObject); #endif @@ -63,69 +103,93 @@ } + Clear(); + return; + } + + protected virtual void Clear() + { particleList.Clear(); animatorList.Clear(); rendererList.Clear(); spineComp = null; - - if (effectConfig.isSpine != 0) - { - spineComp = gameObject.GetComponentInChildren<SkeletonGraphic>(true); - } - else - { - // 鏀堕泦缁勪欢 - particleList.AddRange(gameObject.GetComponentsInChildren<ParticleSystem>(true)); - animatorList.AddRange(gameObject.GetComponentsInChildren<Animator>(true)); - } - rendererList.AddRange(gameObject.GetComponentsInChildren<Renderer>(true)); + pool = null; } - public void Stop() + public virtual void Stop() { if (null != effectTarget) { - DestroyImmediate(effectTarget); + // 濡傛灉浣跨敤浜嗙壒鏁堥鍒朵綋姹狅紝鍒欏綊杩樺埌姹犱腑 + if (pool != null) + { + pool.Release(effectTarget); + } effectTarget = null; } isInit = false; - particleList.Clear(); - animatorList.Clear(); - rendererList.Clear(); - spineComp = null; + Clear(); + onComplete?.Invoke(); } - public void Play() - { - ReStart(); - } - - - protected void ReStart() + public virtual void Play(bool showLog = true) { if (!isInit) { + InitComponent(showLog); isInit = true; - InitCompnent(); + } + else + { + //閬垮厤閲嶅鍒涘缓 + if (!this.gameObject.activeSelf) + { + this.gameObject.SetActive(true); + } + return; } - if (EffectMgr.Instance.IsNotShowBySetting(effectId)) + if (EffectMgr.IsNotShowBySetting(effectId)) { return; } if (null != effectTarget) { - DestroyImmediate(effectTarget); + if (pool != null) + pool.Release(effectTarget); effectTarget = null; } - // YYL TODO - // 鍦ㄨ繖閲岃�冭檻鐢ㄦ睜鐨勮瘽鍙兘璧伴厤缃ソ涓�鐐� 鍘熸湰鐨勬槸鏃犺濡備綍閮借蛋姹� 浣嗘槸瀹為檯涓婃湁浜涚壒鏁堝苟涓嶉渶瑕� + if (!this.gameObject.activeSelf) + { + this.gameObject.SetActive(true); + } - // 鍔犺浇鐗规晥璧勬簮 + PlayerEffect(true); + + } + + + protected virtual void PlaySpineEffect() + { + spineComp = gameObject.GetComponentInChildren<SkeletonGraphic>(true); + spineComp.raycastTarget = false; + spineComp.Initialize(true); + spineAnimationState = spineComp.AnimationState; + spineAnimationState.Complete -= OnSpineAnimationComplete; + spineAnimationState.Complete += OnSpineAnimationComplete; + + // 澶栧眰鎺у埗鍏蜂綋鎾斁鍝釜鍔ㄧ敾 + spineComp.enabled = true; + + return; + } + + protected virtual void PlayerEffect(bool playSpine) + { var effectPrefab = ResManager.Instance.LoadAsset<GameObject>("UIEffect/" + effectConfig.packageName, effectConfig.fxName); if (effectPrefab == null) { @@ -133,14 +197,43 @@ return; } - // 瀹炰緥鍖栫壒鏁� - effectTarget = Instantiate(effectPrefab, transform); + if (effectConfig.isSpine == 0) + { + //unity鐗规晥 鍒ゆ柇棰勫埗浣撴槸鍚︽寕杞紼ffectTime + var timeObj = effectPrefab.GetComponent<EffectTime>(); + if (null == timeObj) + { + Debug.LogError($"{effectPrefab.name}棰勫埗浣撴病鏈夋寕杞紼ffectTime"); + return; + } + } + + // 浠庣壒鏁堥鍒朵綋姹犺幏鍙栫壒鏁� + pool = GameObjectPoolManager.Instance.RequestPool(effectPrefab); + effectTarget = pool.Request(); + // 璁剧疆鐖惰妭鐐瑰拰浣嶇疆 + effectTarget.transform.SetParent(transform); + effectTarget.transform.localPosition = Vector3.zero; + effectTarget.transform.localScale = Vector3.one; + effectTarget.transform.localRotation = Quaternion.identity; effectTarget.name = $"Effect_{effectConfig.fxName}"; - // 鎬濊�冧竴涓嬪湪娌℃湁鎸傚湪鑺傜偣鐨勬椂鍊� + if (effectConfig.isSpine != 0 && playSpine) + { + //棰勫埗浣� + PlaySpineEffect(); + } + else + { + //鎸傝浇缁勪欢鍚� 寮�濮嬫敹闆� + particleList.AddRange(gameObject.GetComponentsInChildren<ParticleSystem>(true)); + animatorList.AddRange(gameObject.GetComponentsInChildren<Animator>(true)); + rendererList.AddRange(gameObject.GetComponentsInChildren<Renderer>(true)); + OnUnityAnimationComplete(); + } + if (null == canvas) canvas = GetComponentInParent<Canvas>(); - // 娣诲姞鐗规晥绌块�忛樆鎸″櫒 blocker = effectTarget.AddMissingComponent<EffectPenetrationBlocker>(); @@ -149,12 +242,6 @@ if (canvas != null) { blocker.SetParentCanvas(canvas); - } - - // 鑷姩閿�姣� - if (effectConfig.autoDestroy != 0) - { - Destroy(gameObject, effectConfig.destroyDelay); } } @@ -166,11 +253,51 @@ onDestroy.Invoke(this); onDestroy = null; } + // 鍋滄鐗规晥骞跺綊杩樺埌姹犱腑 + Stop(); + + if (spineAnimationState != null) + { + spineAnimationState.Complete -= OnSpineAnimationComplete; + } + + } + + //鍗曟鎾斁瀹屾瘯灏变細瑙﹀彂锛屽嵆浣挎槸寰幆 + protected virtual void OnSpineAnimationComplete(Spine.TrackEntry trackEntry) + { + if (isReleaseImmediately) + { + spineComp.enabled = false; + Stop(); + } + } + + + private void OnUnityAnimationComplete() + { + var timeObj = effectTarget.GetComponent<EffectTime>(); + if (!timeObj.isLoop) + { + this.SetWait(timeObj.playTime); + this.DoWaitRestart(); + this.OnWaitCompelete(OnEffectComplete); + } + } + + private void OnEffectComplete(Component comp) + { + this.DoWaitStop(); + if (isReleaseImmediately) + Stop(); + } + // 鍒涘缓鍚庣殑鐗规晥浼氳嚜鍔ㄩ殣钘� 闇�瑕佹墜鍔ㄨ皟鐢≒lay鎵嶈兘鎾斁 public static EffectPlayer Create(int effectId, Transform parent, bool createNewChild = false) { + // 鐩存帴鍒涘缓鐗规晥鎾斁鍣紝涓嶄娇鐢ㄥ璞℃睜 EffectPlayer effectPlayer = null; if (createNewChild) @@ -182,11 +309,23 @@ else { effectPlayer = parent.AddMissingComponent<EffectPlayer>(); - effectPlayer.effectId = effectId; } + + effectPlayer.effectId = effectId; effectPlayer.SetActive(true); return effectPlayer; } + + /// <summary> + /// 璁剧疆娓告垙瀵硅薄婵�娲荤姸鎬� + // /// </summary> + // public void SetActive(bool active) + // { + // if (gameObject != null) + // { + // gameObject.SetActive(active); + // } + // } public void Pause() { @@ -284,4 +423,6 @@ return; } } + + } diff --git a/Main/Component/UI/Effect/EffectTime.cs b/Main/Component/UI/Effect/EffectTime.cs new file mode 100644 index 0000000..688249e --- /dev/null +++ b/Main/Component/UI/Effect/EffectTime.cs @@ -0,0 +1,13 @@ +using System.Runtime.CompilerServices; +using UnityEngine; + +//璁剧疆鐗规晥鎾斁鏃堕棿 鍜� 寰幆锛屾柟渚夸唬鐮佽皟鐢紝涓嶇敤鍘诲垽鏂壒鏁堝唴閮ㄦ儏鍐碉紝鍙互鎶婅繖涓枃浠剁粰澶栧寘 +public class EffectTime : MonoBehaviour +{ + //鎾斁鏃堕暱 + [Header("鍗曟鎾斁鎬绘椂闀�")] + public float playTime = 1f; + [Header("鏄惁寰幆鐗规晥")] + public bool isLoop = false; + +} diff --git a/Main/Utility/GameObjectPool.cs.meta b/Main/Component/UI/Effect/EffectTime.cs.meta similarity index 69% copy from Main/Utility/GameObjectPool.cs.meta copy to Main/Component/UI/Effect/EffectTime.cs.meta index 7153f8c..0e9caa7 100644 --- a/Main/Utility/GameObjectPool.cs.meta +++ b/Main/Component/UI/Effect/EffectTime.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 99e41fbb2b3832c41b1575b72c946cca -timeCreated: 1504310243 -licenseType: Pro +guid: f9909a1ae22dbb74099685649d44aa29 MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Main/Component/UI/Effect/UIEffectPlayer.cs b/Main/Component/UI/Effect/UIEffectPlayer.cs new file mode 100644 index 0000000..2ac83c0 --- /dev/null +++ b/Main/Component/UI/Effect/UIEffectPlayer.cs @@ -0,0 +1,154 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Spine.Unity; +using UnityEngine; +using Spine; +using UnityEngine.UI; + +//UI鐗规晥鎾斁鍣紝spine鐗规晥鐩存帴鍔犺浇鏃犻渶鎻愬墠鍋氶鍒朵綋 +//UI鐗规晥澶ч儴鍒嗘儏鍐典笉浼氭敼鍙樼壒鏁堬紝鏃犻渶閿�姣� +public class UIEffectPlayer : EffectPlayer +{ + + [Header("鏄惁寰幆鎾斁spine鐗规晥")] + public bool isPlaySpineLoop = false; + + [Header("鏄惁鍦ㄦ樉绀烘椂鎾斁")] + public bool isPlayOnEnable = false; + + protected override void OnEnable() + { + if (isPlayOnEnable) + { + Play(false); + } + else if (spineComp != null) + { + //闅愯棌锛屼細鏈夐潤鎬佹樉绀洪棶棰� + spineComp.enabled = false; + } + } + + public override void Play(bool showLog = true) + { + if (!isInit) + { + InitComponent(showLog); + isInit = true; + } + else + { + //閬垮厤閲嶅鍒涘缓 + if (!this.gameObject.activeSelf) + { + this.gameObject.SetActive(true); + } + return; + } + + if (EffectMgr.IsNotShowBySetting(effectId)) + { + return; + } + + if (null != effectTarget) + { + if (pool != null) + pool.Release(effectTarget); + effectTarget = null; + } + + if (!this.gameObject.activeSelf) + { + this.gameObject.SetActive(true); + } + + // 鍔犺浇spine鐗规晥璧勬簮 + if (effectConfig.isSpine != 0) + { + PlaySpineEffect(); + } + else + { + PlayerEffect(false); + } + + } + + + protected override void PlaySpineEffect() + { + if (spineComp.skeletonDataAsset == null) + { + //LoadAsset 宸茬粡鏈夌紦瀛楽keletonDataAsset + spineComp.skeletonDataAsset = ResManager.Instance.LoadAsset<SkeletonDataAsset>("UIEffect/" + effectConfig.packageName, effectConfig.fxName + "_SkeletonData"); + spineComp.raycastTarget = false; + spineComp.Initialize(true); + spineAnimationState = spineComp.AnimationState; + spineAnimationState.Complete -= OnSpineAnimationComplete; + spineAnimationState.Complete += OnSpineAnimationComplete; + } + + spineComp.enabled = true; + PlayerFistSpineAnim(); + } + + + // 鎾斁绗竴涓姩鐢伙紙浣滀负榛樿鍔ㄧ敾锛� + void PlayerFistSpineAnim() + { + spineComp.enabled = true; + var skeletonData = spineComp.Skeleton.Data; + if (skeletonData.Animations.Count > 0) + { + string defaultAnimationName = skeletonData.Animations.Items[0].Name; + spineComp.AnimationState.SetAnimation(0, defaultAnimationName, isPlaySpineLoop); + } + else + { + Debug.LogError("Spine 鏁版嵁涓病鏈夋壘鍒颁换浣曞姩鐢伙紒" + effectConfig.id); + } + } + + + + //鍗曟鎾斁瀹屾瘯灏变細瑙﹀彂锛屽嵆浣挎槸寰幆 + protected override void OnSpineAnimationComplete(Spine.TrackEntry trackEntry) + { + if (!isPlaySpineLoop) + { + spineComp.enabled = false; + if (isReleaseImmediately) + { + Stop(); + } + else + { + onComplete?.Invoke(); + } + } + } + + + // 鍒涘缓鍚庣殑鐗规晥浼氳嚜鍔ㄩ殣钘� 闇�瑕佹墜鍔ㄨ皟鐢≒lay鎵嶈兘鎾斁 + public static UIEffectPlayer CreateEffect(int effectId, Transform parent, bool createNewChild = false) + { + UIEffectPlayer effectPlayer = null; + + if (createNewChild) + { + GameObject newGo = new GameObject("EffectPlayer_" + effectId); + newGo.transform.SetParent(parent, false); + effectPlayer = newGo.AddComponent<UIEffectPlayer>(); + } + else + { + effectPlayer = parent.AddMissingComponent<UIEffectPlayer>(); + effectPlayer.effectId = effectId; + } + effectPlayer.SetActive(true); + return effectPlayer; + } + +} diff --git a/Main/Utility/GameObjectPool.cs.meta b/Main/Component/UI/Effect/UIEffectPlayer.cs.meta similarity index 69% copy from Main/Utility/GameObjectPool.cs.meta copy to Main/Component/UI/Effect/UIEffectPlayer.cs.meta index 7153f8c..02b34bc 100644 --- a/Main/Utility/GameObjectPool.cs.meta +++ b/Main/Component/UI/Effect/UIEffectPlayer.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 99e41fbb2b3832c41b1575b72c946cca -timeCreated: 1504310243 -licenseType: Pro +guid: d2a4fa811bba97941bd8ed92c750e271 MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Main/Config/ConfigManager.cs b/Main/Config/ConfigManager.cs index 3a81196..f6e63cb 100644 --- a/Main/Config/ConfigManager.cs +++ b/Main/Config/ConfigManager.cs @@ -38,9 +38,54 @@ // 鍔犺浇閰嶇疆鏂囦欢 HashSet<Type> configTypes = new HashSet<Type>() { + typeof(ChatBubbleBoxConfig), + typeof(CTGConfig), + typeof(DailyLivenessRewardConfig), + typeof(DailyQuestConfig), + typeof(DailyQuestOpenTimeConfig), + typeof(DienstgradConfig), + typeof(DirtyNameConfig), typeof(DirtyWordConfig), + typeof(EffectConfig), typeof(EquipGSParamConfig), - typeof(TitleStarUpConfig) + typeof(EquipPlaceMapConfig), + typeof(FamilyEmblemConfig), + typeof(FrameAnimationConfig), + typeof(FuncConfigConfig), + typeof(FuncOpenLVConfig), + typeof(FunctionTeamSetConfig), + typeof(GetItemWaysConfig), + typeof(GmCmdConfig), + typeof(HeroAwakeConfig), + typeof(HeroConfig), + typeof(HeroLineupHaloConfig), + typeof(HeroQualityAwakeConfig), + typeof(HeroQualityBreakConfig), + typeof(HeroQualityConfig), + typeof(HeroQualityLVConfig), + typeof(HeroSkinConfig), + typeof(ItemConfig), + typeof(KickOutReasonConfig), + typeof(MainChapterConfig), + typeof(MainLevelConfig), + typeof(NPCConfig), + typeof(NPCLineupConfig), + typeof(OrderInfoConfig), + typeof(PlayerFaceConfig), + typeof(PlayerLVConfig), + typeof(PlayerPropertyConfig), + typeof(priorbundleConfig), + typeof(RealmConfig), + typeof(RealmLVUPTaskConfig), + typeof(RuleConfig), + typeof(SkillConfig), + typeof(TaskConfig), + typeof(TitleStarUpConfig), + typeof(TreasureCntAwardConfig), + typeof(TreasureItemLibConfig), + typeof(TreasureSetConfig), + typeof(TreeLVConfig), + typeof(XBGetItemConfig) }; #if UNITY_EDITOR @@ -190,12 +235,102 @@ public override void Release() { + // 娓呯┖ ChatBubbleBoxConfig 瀛楀吀 + ClearConfigDictionary<ChatBubbleBoxConfig>(); + // 娓呯┖ CTGConfig 瀛楀吀 + ClearConfigDictionary<CTGConfig>(); + // 娓呯┖ DailyLivenessRewardConfig 瀛楀吀 + ClearConfigDictionary<DailyLivenessRewardConfig>(); + // 娓呯┖ DailyQuestConfig 瀛楀吀 + ClearConfigDictionary<DailyQuestConfig>(); + // 娓呯┖ DailyQuestOpenTimeConfig 瀛楀吀 + ClearConfigDictionary<DailyQuestOpenTimeConfig>(); + // 娓呯┖ DienstgradConfig 瀛楀吀 + ClearConfigDictionary<DienstgradConfig>(); + // 娓呯┖ DirtyNameConfig 瀛楀吀 + ClearConfigDictionary<DirtyNameConfig>(); // 娓呯┖ DirtyWordConfig 瀛楀吀 ClearConfigDictionary<DirtyWordConfig>(); + // 娓呯┖ EffectConfig 瀛楀吀 + ClearConfigDictionary<EffectConfig>(); // 娓呯┖ EquipGSParamConfig 瀛楀吀 ClearConfigDictionary<EquipGSParamConfig>(); + // 娓呯┖ EquipPlaceMapConfig 瀛楀吀 + ClearConfigDictionary<EquipPlaceMapConfig>(); + // 娓呯┖ FamilyEmblemConfig 瀛楀吀 + ClearConfigDictionary<FamilyEmblemConfig>(); + // 娓呯┖ FrameAnimationConfig 瀛楀吀 + ClearConfigDictionary<FrameAnimationConfig>(); + // 娓呯┖ FuncConfigConfig 瀛楀吀 + ClearConfigDictionary<FuncConfigConfig>(); + // 娓呯┖ FuncOpenLVConfig 瀛楀吀 + ClearConfigDictionary<FuncOpenLVConfig>(); + // 娓呯┖ FunctionTeamSetConfig 瀛楀吀 + ClearConfigDictionary<FunctionTeamSetConfig>(); + // 娓呯┖ GetItemWaysConfig 瀛楀吀 + ClearConfigDictionary<GetItemWaysConfig>(); + // 娓呯┖ GmCmdConfig 瀛楀吀 + ClearConfigDictionary<GmCmdConfig>(); + // 娓呯┖ HeroAwakeConfig 瀛楀吀 + ClearConfigDictionary<HeroAwakeConfig>(); + // 娓呯┖ HeroConfig 瀛楀吀 + ClearConfigDictionary<HeroConfig>(); + // 娓呯┖ HeroLineupHaloConfig 瀛楀吀 + ClearConfigDictionary<HeroLineupHaloConfig>(); + // 娓呯┖ HeroQualityAwakeConfig 瀛楀吀 + ClearConfigDictionary<HeroQualityAwakeConfig>(); + // 娓呯┖ HeroQualityBreakConfig 瀛楀吀 + ClearConfigDictionary<HeroQualityBreakConfig>(); + // 娓呯┖ HeroQualityConfig 瀛楀吀 + ClearConfigDictionary<HeroQualityConfig>(); + // 娓呯┖ HeroQualityLVConfig 瀛楀吀 + ClearConfigDictionary<HeroQualityLVConfig>(); + // 娓呯┖ HeroSkinConfig 瀛楀吀 + ClearConfigDictionary<HeroSkinConfig>(); + // 娓呯┖ ItemConfig 瀛楀吀 + ClearConfigDictionary<ItemConfig>(); + // 娓呯┖ KickOutReasonConfig 瀛楀吀 + ClearConfigDictionary<KickOutReasonConfig>(); + // 娓呯┖ MainChapterConfig 瀛楀吀 + ClearConfigDictionary<MainChapterConfig>(); + // 娓呯┖ MainLevelConfig 瀛楀吀 + ClearConfigDictionary<MainLevelConfig>(); + // 娓呯┖ NPCConfig 瀛楀吀 + ClearConfigDictionary<NPCConfig>(); + // 娓呯┖ NPCLineupConfig 瀛楀吀 + ClearConfigDictionary<NPCLineupConfig>(); + // 娓呯┖ OrderInfoConfig 瀛楀吀 + ClearConfigDictionary<OrderInfoConfig>(); + // 娓呯┖ PlayerFaceConfig 瀛楀吀 + ClearConfigDictionary<PlayerFaceConfig>(); + // 娓呯┖ PlayerLVConfig 瀛楀吀 + ClearConfigDictionary<PlayerLVConfig>(); + // 娓呯┖ PlayerPropertyConfig 瀛楀吀 + ClearConfigDictionary<PlayerPropertyConfig>(); + // 娓呯┖ priorbundleConfig 瀛楀吀 + ClearConfigDictionary<priorbundleConfig>(); + // 娓呯┖ RealmConfig 瀛楀吀 + ClearConfigDictionary<RealmConfig>(); + // 娓呯┖ RealmLVUPTaskConfig 瀛楀吀 + ClearConfigDictionary<RealmLVUPTaskConfig>(); + // 娓呯┖ RuleConfig 瀛楀吀 + ClearConfigDictionary<RuleConfig>(); + // 娓呯┖ SkillConfig 瀛楀吀 + ClearConfigDictionary<SkillConfig>(); + // 娓呯┖ TaskConfig 瀛楀吀 + ClearConfigDictionary<TaskConfig>(); // 娓呯┖ TitleStarUpConfig 瀛楀吀 ClearConfigDictionary<TitleStarUpConfig>(); + // 娓呯┖ TreasureCntAwardConfig 瀛楀吀 + ClearConfigDictionary<TreasureCntAwardConfig>(); + // 娓呯┖ TreasureItemLibConfig 瀛楀吀 + ClearConfigDictionary<TreasureItemLibConfig>(); + // 娓呯┖ TreasureSetConfig 瀛楀吀 + ClearConfigDictionary<TreasureSetConfig>(); + // 娓呯┖ TreeLVConfig 瀛楀吀 + ClearConfigDictionary<TreeLVConfig>(); + // 娓呯┖ XBGetItemConfig 瀛楀吀 + ClearConfigDictionary<XBGetItemConfig>(); } #if UNITY_EDITOR diff --git a/Main/Config/Configs/AppointItemConfig.cs b/Main/Config/Configs/AppointItemConfig.cs index 643617f..7f43ad5 100644 --- a/Main/Config/Configs/AppointItemConfig.cs +++ b/Main/Config/Configs/AppointItemConfig.cs @@ -1,34 +1,32 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class AppointItemConfig : ConfigBase<int, AppointItemConfig> -{ - - public int ID; - public int[] LegendAttrID; - public int[] LegendAttrValue; - - 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 ID); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class AppointItemConfig : ConfigBase<int, AppointItemConfig> +{ + + public int ID; + public int[] LegendAttrID; + public int[] LegendAttrValue; + + 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 ID); + if (tables[1].Contains("[")) { LegendAttrID = JsonMapper.ToObject<int[]>(tables[1]); @@ -41,8 +39,8 @@ { int.TryParse(LegendAttrIDStringArray[i],out LegendAttrID[i]); } - } - + } + if (tables[2].Contains("[")) { LegendAttrValue = JsonMapper.ToObject<int[]>(tables[2]); @@ -55,11 +53,11 @@ { int.TryParse(LegendAttrValueStringArray[i],out LegendAttrValue[i]); } - } - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/AudioConfig.cs b/Main/Config/Configs/AudioConfig.cs index e4540ba..2adef91 100644 --- a/Main/Config/Configs/AudioConfig.cs +++ b/Main/Config/Configs/AudioConfig.cs @@ -1,41 +1,39 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class AudioConfig : ConfigBase<int, AudioConfig> -{ - - public int ID; - public string Folder; - public string Audio; - - 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 ID); - - Folder = tables[1]; - - Audio = tables[2]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class AudioConfig : ConfigBase<int, AudioConfig> +{ + + public int ID; + public string Folder; + public string Audio; + + 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 ID); + + Folder = tables[1]; + + Audio = tables[2]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/CTGConfig.cs b/Main/Config/Configs/CTGConfig.cs index 7a634f4..2d34e5b 100644 --- a/Main/Config/Configs/CTGConfig.cs +++ b/Main/Config/Configs/CTGConfig.cs @@ -1,80 +1,78 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class CTGConfig : ConfigBase<int, CTGConfig> -{ - - public int RecordID; - public string Title; - public int VipLevel; - public int TotalBuyCount; - public int DailyBuyCount; - public int WeekBuyCount; - public int MonthBuyCount; - public int MoneyType; - public int GainGold; - public int GainGoldPaper; - public int FirstGoldPaperPrize; - public string GainItemList; - public int[][] SelectItemInfo; - public string Icon; - public int PayType; - public int Percentage; - - 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 RecordID); - - Title = tables[1]; - - int.TryParse(tables[2],out VipLevel); - - int.TryParse(tables[3],out TotalBuyCount); - - int.TryParse(tables[4],out DailyBuyCount); - - int.TryParse(tables[5],out WeekBuyCount); - - int.TryParse(tables[6],out MonthBuyCount); - - int.TryParse(tables[7],out MoneyType); - - int.TryParse(tables[8],out GainGold); - - int.TryParse(tables[9],out GainGoldPaper); - - int.TryParse(tables[10],out FirstGoldPaperPrize); - - GainItemList = tables[11]; - - SelectItemInfo = JsonMapper.ToObject<int[][]>(tables[12].Replace("(", "[").Replace(")", "]")); - - Icon = tables[13]; - - int.TryParse(tables[14],out PayType); - - int.TryParse(tables[15],out Percentage); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class CTGConfig : ConfigBase<int, CTGConfig> +{ + + public int RecordID; + public string Title; + public int VipLevel; + public int TotalBuyCount; + public int DailyBuyCount; + public int WeekBuyCount; + public int MonthBuyCount; + public int MoneyType; + public int GainGold; + public int GainGoldPaper; + public int FirstGoldPaperPrize; + public string GainItemList; + public int[][] SelectItemInfo; + public string Icon; + public int PayType; + public int Percentage; + + 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 RecordID); + + Title = tables[1]; + + int.TryParse(tables[2],out VipLevel); + + int.TryParse(tables[3],out TotalBuyCount); + + int.TryParse(tables[4],out DailyBuyCount); + + int.TryParse(tables[5],out WeekBuyCount); + + int.TryParse(tables[6],out MonthBuyCount); + + int.TryParse(tables[7],out MoneyType); + + int.TryParse(tables[8],out GainGold); + + int.TryParse(tables[9],out GainGoldPaper); + + int.TryParse(tables[10],out FirstGoldPaperPrize); + + GainItemList = tables[11]; + + SelectItemInfo = JsonMapper.ToObject<int[][]>(tables[12].Replace("(", "[").Replace(")", "]")); + + Icon = tables[13]; + + int.TryParse(tables[14],out PayType); + + int.TryParse(tables[15],out Percentage); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/CTGSelectItemConfig.cs b/Main/Config/Configs/CTGSelectItemConfig.cs index 6206102..c017461 100644 --- a/Main/Config/Configs/CTGSelectItemConfig.cs +++ b/Main/Config/Configs/CTGSelectItemConfig.cs @@ -1,41 +1,39 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class CTGSelectItemConfig : ConfigBase<int, CTGSelectItemConfig> -{ - - public int SelectID; - public int ItemID; - public int ItemCount; - - 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 SelectID); - - int.TryParse(tables[1],out ItemID); - - int.TryParse(tables[2],out ItemCount); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class CTGSelectItemConfig : ConfigBase<int, CTGSelectItemConfig> +{ + + public int SelectID; + public int ItemID; + public int ItemCount; + + 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 SelectID); + + int.TryParse(tables[1],out ItemID); + + int.TryParse(tables[2],out ItemCount); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/ChatBubbleBoxConfig.cs b/Main/Config/Configs/ChatBubbleBoxConfig.cs index 0502392..89369eb 100644 --- a/Main/Config/Configs/ChatBubbleBoxConfig.cs +++ b/Main/Config/Configs/ChatBubbleBoxConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/ChestsAwardConfig.cs b/Main/Config/Configs/ChestsAwardConfig.cs index c622f5c..1eee40e 100644 --- a/Main/Config/Configs/ChestsAwardConfig.cs +++ b/Main/Config/Configs/ChestsAwardConfig.cs @@ -1,56 +1,54 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class ChestsAwardConfig : ConfigBase<int, ChestsAwardConfig> -{ - - public int ID; - public int BoxID; - public int BoxLV; - public string SelectList; - public string FixedItem; - public string Probability1; - public string Probability2; - public string JobItem; - - 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 ID); - - int.TryParse(tables[1],out BoxID); - - int.TryParse(tables[2],out BoxLV); - - SelectList = tables[3]; - - FixedItem = tables[4]; - - Probability1 = tables[5]; - - Probability2 = tables[6]; - - JobItem = tables[7]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class ChestsAwardConfig : ConfigBase<int, ChestsAwardConfig> +{ + + public int ID; + public int BoxID; + public int BoxLV; + public string SelectList; + public string FixedItem; + public string Probability1; + public string Probability2; + public string JobItem; + + 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 ID); + + int.TryParse(tables[1],out BoxID); + + int.TryParse(tables[2],out BoxLV); + + SelectList = tables[3]; + + FixedItem = tables[4]; + + Probability1 = tables[5]; + + Probability2 = tables[6]; + + JobItem = tables[7]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/ChestsConfig.cs b/Main/Config/Configs/ChestsConfig.cs index 64bd72c..b22c062 100644 --- a/Main/Config/Configs/ChestsConfig.cs +++ b/Main/Config/Configs/ChestsConfig.cs @@ -1,47 +1,45 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class ChestsConfig : ConfigBase<int, ChestsConfig> -{ - - public int BoxID; - public int ExpendItemID; - public int ExpendCount; - public int OpenMoney; - public int OpenShow; - - 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 BoxID); - - int.TryParse(tables[1],out ExpendItemID); - - int.TryParse(tables[2],out ExpendCount); - - int.TryParse(tables[3],out OpenMoney); - - int.TryParse(tables[4],out OpenShow); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class ChestsConfig : ConfigBase<int, ChestsConfig> +{ + + public int BoxID; + public int ExpendItemID; + public int ExpendCount; + public int OpenMoney; + public int OpenShow; + + 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 BoxID); + + int.TryParse(tables[1],out ExpendItemID); + + int.TryParse(tables[2],out ExpendCount); + + int.TryParse(tables[3],out OpenMoney); + + int.TryParse(tables[4],out OpenShow); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/DailyLivenessRewardConfig.cs b/Main/Config/Configs/DailyLivenessRewardConfig.cs index 848ac3a..c02a430 100644 --- a/Main/Config/Configs/DailyLivenessRewardConfig.cs +++ b/Main/Config/Configs/DailyLivenessRewardConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/DailyQuestConfig.cs b/Main/Config/Configs/DailyQuestConfig.cs index c9e6967..98153d5 100644 --- a/Main/Config/Configs/DailyQuestConfig.cs +++ b/Main/Config/Configs/DailyQuestConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/DailyQuestOpenTimeConfig.cs b/Main/Config/Configs/DailyQuestOpenTimeConfig.cs index 067e064..2267b33 100644 --- a/Main/Config/Configs/DailyQuestOpenTimeConfig.cs +++ b/Main/Config/Configs/DailyQuestOpenTimeConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/DienstgradConfig.cs b/Main/Config/Configs/DienstgradConfig.cs index 7c0f977..1e41202 100644 --- a/Main/Config/Configs/DienstgradConfig.cs +++ b/Main/Config/Configs/DienstgradConfig.cs @@ -1,52 +1,50 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class DienstgradConfig : ConfigBase<int, DienstgradConfig> -{ - - public int ID; - public string Name; - public int Type; - public int Prescription; - public string OutTimeDesc; - public int[] LightType; - public int[] LightAttribute; - public string Image; - public string Content; - public int[] Skills; - public int gotoId; - public int missionId; - public int order; - - 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 ID); - - Name = tables[1]; - - int.TryParse(tables[2],out Type); - - int.TryParse(tables[3],out Prescription); - - OutTimeDesc = tables[4]; - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class DienstgradConfig : ConfigBase<int, DienstgradConfig> +{ + + public int ID; + public string Name; + public int Type; + public int Prescription; + public string OutTimeDesc; + public int[] LightType; + public int[] LightAttribute; + public string Image; + public string Content; + public int[] Skills; + public int gotoId; + public int missionId; + public int order; + + 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 ID); + + Name = tables[1]; + + int.TryParse(tables[2],out Type); + + int.TryParse(tables[3],out Prescription); + + OutTimeDesc = tables[4]; + if (tables[5].Contains("[")) { LightType = JsonMapper.ToObject<int[]>(tables[5]); @@ -59,8 +57,8 @@ { int.TryParse(LightTypeStringArray[i],out LightType[i]); } - } - + } + if (tables[6].Contains("[")) { LightAttribute = JsonMapper.ToObject<int[]>(tables[6]); @@ -73,12 +71,12 @@ { int.TryParse(LightAttributeStringArray[i],out LightAttribute[i]); } - } - - Image = tables[7]; - - Content = tables[8]; - + } + + Image = tables[7]; + + Content = tables[8]; + if (tables[9].Contains("[")) { Skills = JsonMapper.ToObject<int[]>(tables[9]); @@ -91,17 +89,17 @@ { int.TryParse(SkillsStringArray[i],out Skills[i]); } - } - - int.TryParse(tables[10],out gotoId); - - int.TryParse(tables[11],out missionId); - - int.TryParse(tables[12],out order); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + + int.TryParse(tables[10],out gotoId); + + int.TryParse(tables[11],out missionId); + + int.TryParse(tables[12],out order); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/DirtyNameConfig.cs b/Main/Config/Configs/DirtyNameConfig.cs index 5551e4e..fa5fcd8 100644 --- a/Main/Config/Configs/DirtyNameConfig.cs +++ b/Main/Config/Configs/DirtyNameConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/DirtyWordConfig.cs b/Main/Config/Configs/DirtyWordConfig.cs index 2f10868..745a81f 100644 --- a/Main/Config/Configs/DirtyWordConfig.cs +++ b/Main/Config/Configs/DirtyWordConfig.cs @@ -1,38 +1,36 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class DirtyWordConfig : ConfigBase<int, DirtyWordConfig> -{ - - public int id; - public string word; - - 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 id); - - word = tables[1]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class DirtyWordConfig : ConfigBase<int, DirtyWordConfig> +{ + + public int id; + public string word; + + 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 id); + + word = tables[1]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/EffectConfig.cs b/Main/Config/Configs/EffectConfig.cs index 69df1c6..70f9efd 100644 --- a/Main/Config/Configs/EffectConfig.cs +++ b/Main/Config/Configs/EffectConfig.cs @@ -1,59 +1,57 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: 2025骞�7鏈�22鏃� -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class EffectConfig : ConfigBase<int, EffectConfig> -{ - - public int id; - public string packageName; - public int isSpine; - public string fxName; - public int audio; - public string nodeName; - public int notShow; - public int autoDestroy; - public float destroyDelay; - - 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 id); - - packageName = tables[1]; - - int.TryParse(tables[2],out isSpine); - - fxName = tables[3]; - - int.TryParse(tables[4],out audio); - - nodeName = tables[5]; - - int.TryParse(tables[6],out notShow); - - int.TryParse(tables[7],out autoDestroy); - - float.TryParse(tables[8],out destroyDelay); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class EffectConfig : ConfigBase<int, EffectConfig> +{ + + public int id; + public string packageName; + public int isSpine; + public string fxName; + public int audio; + public string nodeName; + public int notShow; + public int autoDestroy; + public float destroyDelay; + + 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 id); + + packageName = tables[1]; + + int.TryParse(tables[2],out isSpine); + + fxName = tables[3]; + + int.TryParse(tables[4],out audio); + + nodeName = tables[5]; + + int.TryParse(tables[6],out notShow); + + int.TryParse(tables[7],out autoDestroy); + + float.TryParse(tables[8],out destroyDelay); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/EmojiPackConfig.cs b/Main/Config/Configs/EmojiPackConfig.cs index 369173e..1fd149a 100644 --- a/Main/Config/Configs/EmojiPackConfig.cs +++ b/Main/Config/Configs/EmojiPackConfig.cs @@ -1,59 +1,57 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class EmojiPackConfig : ConfigBase<int, EmojiPackConfig> -{ - - public int EmojiPackID; - public string Name; - public int UnlockDefault; - public int ExpireMinutes; - public string Image; - public int SortNum; - public int EffectID; - public int[][] UnlockNeedItemList; - public string Descriptive; - - 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 EmojiPackID); - - Name = tables[1]; - - int.TryParse(tables[2],out UnlockDefault); - - int.TryParse(tables[3],out ExpireMinutes); - - Image = tables[4]; - - int.TryParse(tables[5],out SortNum); - - int.TryParse(tables[6],out EffectID); - - UnlockNeedItemList = JsonMapper.ToObject<int[][]>(tables[7].Replace("(", "[").Replace(")", "]")); - - Descriptive = tables[8]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class EmojiPackConfig : ConfigBase<int, EmojiPackConfig> +{ + + public int EmojiPackID; + public string Name; + public int UnlockDefault; + public int ExpireMinutes; + public string Image; + public int SortNum; + public int EffectID; + public int[][] UnlockNeedItemList; + public string Descriptive; + + 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 EmojiPackID); + + Name = tables[1]; + + int.TryParse(tables[2],out UnlockDefault); + + int.TryParse(tables[3],out ExpireMinutes); + + Image = tables[4]; + + int.TryParse(tables[5],out SortNum); + + int.TryParse(tables[6],out EffectID); + + UnlockNeedItemList = JsonMapper.ToObject<int[][]>(tables[7].Replace("(", "[").Replace(")", "]")); + + Descriptive = tables[8]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/EquipGSParamConfig.cs b/Main/Config/Configs/EquipGSParamConfig.cs index acd927b..b8add4a 100644 --- a/Main/Config/Configs/EquipGSParamConfig.cs +++ b/Main/Config/Configs/EquipGSParamConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/EquipPlaceMapConfig.cs b/Main/Config/Configs/EquipPlaceMapConfig.cs index 4775e8d..829b7a2 100644 --- a/Main/Config/Configs/EquipPlaceMapConfig.cs +++ b/Main/Config/Configs/EquipPlaceMapConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/FaceConfig.cs b/Main/Config/Configs/FaceConfig.cs index 8b25161..8f6490d 100644 --- a/Main/Config/Configs/FaceConfig.cs +++ b/Main/Config/Configs/FaceConfig.cs @@ -1,50 +1,48 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: 2025骞�7鏈�7鏃� -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class FaceConfig : ConfigBase<string, FaceConfig> -{ - - public string name; - public int frameCnt; - public int speed; - public int frameType; - public int EmojiPackID; - public string folder; - - public override string LoadKey(string _key) - { - string key = GetKey(_key); - return key; - } - - public override void LoadConfig(string input) - { - try { - string[] tables = input.Split('\t'); - name = tables[0]; - - int.TryParse(tables[1],out frameCnt); - - int.TryParse(tables[2],out speed); - - int.TryParse(tables[3],out frameType); - - int.TryParse(tables[4],out EmojiPackID); - - folder = tables[5]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class FaceConfig : ConfigBase<string, FaceConfig> +{ + + public string name; + public int frameCnt; + public int speed; + public int frameType; + public int EmojiPackID; + public string folder; + + public override string LoadKey(string _key) + { + string key = GetKey(_key); + return key; + } + + public override void LoadConfig(string input) + { + try { + string[] tables = input.Split('\t'); + name = tables[0]; + + int.TryParse(tables[1],out frameCnt); + + int.TryParse(tables[2],out speed); + + int.TryParse(tables[3],out frameType); + + int.TryParse(tables[4],out EmojiPackID); + + folder = tables[5]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/FamilyConfig.cs b/Main/Config/Configs/FamilyConfig.cs index c9be850..3e42eee 100644 --- a/Main/Config/Configs/FamilyConfig.cs +++ b/Main/Config/Configs/FamilyConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/FamilyEmblemConfig.cs b/Main/Config/Configs/FamilyEmblemConfig.cs index 8e223cb..7b036cb 100644 --- a/Main/Config/Configs/FamilyEmblemConfig.cs +++ b/Main/Config/Configs/FamilyEmblemConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/FirstGoldConfig.cs b/Main/Config/Configs/FirstGoldConfig.cs index 6a4447b..969f560 100644 --- a/Main/Config/Configs/FirstGoldConfig.cs +++ b/Main/Config/Configs/FirstGoldConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/FrameAnimationConfig.cs b/Main/Config/Configs/FrameAnimationConfig.cs index 32acc17..7efba81 100644 --- a/Main/Config/Configs/FrameAnimationConfig.cs +++ b/Main/Config/Configs/FrameAnimationConfig.cs @@ -1,50 +1,48 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: 2025骞�6鏈�30鏃� -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class FrameAnimationConfig : ConfigBase<string, FrameAnimationConfig> -{ - - public string name; - public int frameCnt; - public int speed; - public int frameType; - public int EmojiPackID; - public string folder; - - public override string LoadKey(string _key) - { - string key = GetKey(_key); - return key; - } - - public override void LoadConfig(string input) - { - try { - string[] tables = input.Split('\t'); - name = tables[0]; - - int.TryParse(tables[1],out frameCnt); - - int.TryParse(tables[2],out speed); - - int.TryParse(tables[3],out frameType); - - int.TryParse(tables[4],out EmojiPackID); - - folder = tables[5]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class FrameAnimationConfig : ConfigBase<string, FrameAnimationConfig> +{ + + public string name; + public int frameCnt; + public int speed; + public int frameType; + public int EmojiPackID; + public string folder; + + public override string LoadKey(string _key) + { + string key = GetKey(_key); + return key; + } + + public override void LoadConfig(string input) + { + try { + string[] tables = input.Split('\t'); + name = tables[0]; + + int.TryParse(tables[1],out frameCnt); + + int.TryParse(tables[2],out speed); + + int.TryParse(tables[3],out frameType); + + int.TryParse(tables[4],out EmojiPackID); + + folder = tables[5]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/FuncConfigConfig.cs b/Main/Config/Configs/FuncConfigConfig.cs index 2d093ad..42057aa 100644 --- a/Main/Config/Configs/FuncConfigConfig.cs +++ b/Main/Config/Configs/FuncConfigConfig.cs @@ -1,50 +1,48 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class FuncConfigConfig : ConfigBase<string, FuncConfigConfig> -{ - - public string KEY; - public string Numerical1; - public string Numerical2; - public string Numerical3; - public string Numerical4; - public string Numerical5; - - public override string LoadKey(string _key) - { - string key = GetKey(_key); - return key; - } - - public override void LoadConfig(string input) - { - try { - string[] tables = input.Split('\t'); - KEY = tables[0]; - - Numerical1 = tables[1]; - - Numerical2 = tables[2]; - - Numerical3 = tables[3]; - - Numerical4 = tables[4]; - - Numerical5 = tables[5]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class FuncConfigConfig : ConfigBase<string, FuncConfigConfig> +{ + + public string KEY; + public string Numerical1; + public string Numerical2; + public string Numerical3; + public string Numerical4; + public string Numerical5; + + public override string LoadKey(string _key) + { + string key = GetKey(_key); + return key; + } + + public override void LoadConfig(string input) + { + try { + string[] tables = input.Split('\t'); + KEY = tables[0]; + + Numerical1 = tables[1]; + + Numerical2 = tables[2]; + + Numerical3 = tables[3]; + + Numerical4 = tables[4]; + + Numerical5 = tables[5]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/FuncOpenLVConfig.cs b/Main/Config/Configs/FuncOpenLVConfig.cs index ff9cef5..e5e1c91 100644 --- a/Main/Config/Configs/FuncOpenLVConfig.cs +++ b/Main/Config/Configs/FuncOpenLVConfig.cs @@ -1,65 +1,63 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class FuncOpenLVConfig : ConfigBase<int, FuncOpenLVConfig> -{ - - public int FuncId; - public int LimitLV; - public int LimitMagicWeapon; - public int LimiRealmLV; - public int LimitMissionID; - public string Remark; - public string State; - public string Tip; - public string Icon; - public int open; - public int ContinueTask; - - 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 FuncId); - - int.TryParse(tables[1],out LimitLV); - - int.TryParse(tables[2],out LimitMagicWeapon); - - int.TryParse(tables[3],out LimiRealmLV); - - int.TryParse(tables[4],out LimitMissionID); - - Remark = tables[5]; - - State = tables[6]; - - Tip = tables[7]; - - Icon = tables[8]; - - int.TryParse(tables[9],out open); - - int.TryParse(tables[10],out ContinueTask); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class FuncOpenLVConfig : ConfigBase<int, FuncOpenLVConfig> +{ + + public int FuncId; + public int LimitLV; + public int LimitMagicWeapon; + public int LimiRealmLV; + public int LimitMissionID; + public string Remark; + public string State; + public string Tip; + public string Icon; + public int open; + public int ContinueTask; + + 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 FuncId); + + int.TryParse(tables[1],out LimitLV); + + int.TryParse(tables[2],out LimitMagicWeapon); + + int.TryParse(tables[3],out LimiRealmLV); + + int.TryParse(tables[4],out LimitMissionID); + + Remark = tables[5]; + + State = tables[6]; + + Tip = tables[7]; + + Icon = tables[8]; + + int.TryParse(tables[9],out open); + + int.TryParse(tables[10],out ContinueTask); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/FunctionTeamSetConfig.cs b/Main/Config/Configs/FunctionTeamSetConfig.cs index 2819d14..40b3121 100644 --- a/Main/Config/Configs/FunctionTeamSetConfig.cs +++ b/Main/Config/Configs/FunctionTeamSetConfig.cs @@ -1,56 +1,54 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class FunctionTeamSetConfig : ConfigBase<int, FunctionTeamSetConfig> -{ - - public int FuncMapID; - public int NeedName; - public int MemberMax; - public int ApplyMax; - public int ReqApplyMax; - public int SortType; - public int SortReverse; - public int OPLimitInAct; - - 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 FuncMapID); - - int.TryParse(tables[1],out NeedName); - - int.TryParse(tables[2],out MemberMax); - - int.TryParse(tables[3],out ApplyMax); - - int.TryParse(tables[4],out ReqApplyMax); - - int.TryParse(tables[5],out SortType); - - int.TryParse(tables[6],out SortReverse); - - int.TryParse(tables[7],out OPLimitInAct); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class FunctionTeamSetConfig : ConfigBase<int, FunctionTeamSetConfig> +{ + + public int FuncMapID; + public int NeedName; + public int MemberMax; + public int ApplyMax; + public int ReqApplyMax; + public int SortType; + public int SortReverse; + public int OPLimitInAct; + + 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 FuncMapID); + + int.TryParse(tables[1],out NeedName); + + int.TryParse(tables[2],out MemberMax); + + int.TryParse(tables[3],out ApplyMax); + + int.TryParse(tables[4],out ReqApplyMax); + + int.TryParse(tables[5],out SortType); + + int.TryParse(tables[6],out SortReverse); + + int.TryParse(tables[7],out OPLimitInAct); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/GetItemWaysConfig.cs b/Main/Config/Configs/GetItemWaysConfig.cs index af31fba..9f3c9ea 100644 --- a/Main/Config/Configs/GetItemWaysConfig.cs +++ b/Main/Config/Configs/GetItemWaysConfig.cs @@ -1,56 +1,54 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class GetItemWaysConfig : ConfigBase<int, GetItemWaysConfig> -{ - - public int ID; - public string name; - public string Icon; - public string Text; - public int OpenpanelId; - public int FuncOpenId; - public int ActiveType; - public int customize; - - 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 ID); - - name = tables[1]; - - Icon = tables[2]; - - Text = tables[3]; - - int.TryParse(tables[4],out OpenpanelId); - - int.TryParse(tables[5],out FuncOpenId); - - int.TryParse(tables[6],out ActiveType); - - int.TryParse(tables[7],out customize); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class GetItemWaysConfig : ConfigBase<int, GetItemWaysConfig> +{ + + public int ID; + public string name; + public string Icon; + public string Text; + public int OpenpanelId; + public int FuncOpenId; + public int ActiveType; + public int customize; + + 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 ID); + + name = tables[1]; + + Icon = tables[2]; + + Text = tables[3]; + + int.TryParse(tables[4],out OpenpanelId); + + int.TryParse(tables[5],out FuncOpenId); + + int.TryParse(tables[6],out ActiveType); + + int.TryParse(tables[7],out customize); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/GmCmdConfig.cs b/Main/Config/Configs/GmCmdConfig.cs index 5a62577..6426cd1 100644 --- a/Main/Config/Configs/GmCmdConfig.cs +++ b/Main/Config/Configs/GmCmdConfig.cs @@ -1,41 +1,39 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class GmCmdConfig : ConfigBase<int, GmCmdConfig> -{ - - public int Id; - public string Cmd; - public string ParamSet; - - 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 Id); - - Cmd = tables[1]; - - ParamSet = tables[2]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class GmCmdConfig : ConfigBase<int, GmCmdConfig> +{ + + public int Id; + public string Cmd; + public string ParamSet; + + 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 Id); + + Cmd = tables[1]; + + ParamSet = tables[2]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/GuideConfig.cs b/Main/Config/Configs/GuideConfig.cs index d7d230f..ddf37eb 100644 --- a/Main/Config/Configs/GuideConfig.cs +++ b/Main/Config/Configs/GuideConfig.cs @@ -1,53 +1,51 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class GuideConfig : ConfigBase<int, GuideConfig> -{ - - public int ID; - public int Type; - public int TriggerType; - public int Condition; - public int SupplementCondition; - public int PreGuideId; - public int[] Steps; - public int CanSkip; - public int RemoveWhenOtherGuide; - public int CannotCompleteByClick; - public int[] UnfoldAreas; - public int AutoCompleteTime; - - 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 ID); - - int.TryParse(tables[1],out Type); - - int.TryParse(tables[2],out TriggerType); - - int.TryParse(tables[3],out Condition); - - int.TryParse(tables[4],out SupplementCondition); - - int.TryParse(tables[5],out PreGuideId); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class GuideConfig : ConfigBase<int, GuideConfig> +{ + + public int ID; + public int Type; + public int TriggerType; + public int Condition; + public int SupplementCondition; + public int PreGuideId; + public int[] Steps; + public int CanSkip; + public int RemoveWhenOtherGuide; + public int CannotCompleteByClick; + public int[] UnfoldAreas; + public int AutoCompleteTime; + + 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 ID); + + int.TryParse(tables[1],out Type); + + int.TryParse(tables[2],out TriggerType); + + int.TryParse(tables[3],out Condition); + + int.TryParse(tables[4],out SupplementCondition); + + int.TryParse(tables[5],out PreGuideId); + if (tables[6].Contains("[")) { Steps = JsonMapper.ToObject<int[]>(tables[6]); @@ -60,14 +58,14 @@ { int.TryParse(StepsStringArray[i],out Steps[i]); } - } - - int.TryParse(tables[7],out CanSkip); - - int.TryParse(tables[8],out RemoveWhenOtherGuide); - - int.TryParse(tables[9],out CannotCompleteByClick); - + } + + int.TryParse(tables[7],out CanSkip); + + int.TryParse(tables[8],out RemoveWhenOtherGuide); + + int.TryParse(tables[9],out CannotCompleteByClick); + if (tables[10].Contains("[")) { UnfoldAreas = JsonMapper.ToObject<int[]>(tables[10]); @@ -80,13 +78,13 @@ { int.TryParse(UnfoldAreasStringArray[i],out UnfoldAreas[i]); } - } - - int.TryParse(tables[11],out AutoCompleteTime); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + + int.TryParse(tables[11],out AutoCompleteTime); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/HeroAwakeConfig.cs b/Main/Config/Configs/HeroAwakeConfig.cs index ea7db17..a5374b3 100644 --- a/Main/Config/Configs/HeroAwakeConfig.cs +++ b/Main/Config/Configs/HeroAwakeConfig.cs @@ -1,43 +1,41 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class HeroAwakeConfig : ConfigBase<int, HeroAwakeConfig> -{ - - public int TalentAwakeID; - public int HeroID; - public int AwakeLV; - public int[] AttrIDList; - public int[] AttrValueList; - public int SkillID; - public int UnlockTalentSlot; - public int AddStarUpper; - - 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 TalentAwakeID); - - int.TryParse(tables[1],out HeroID); - - int.TryParse(tables[2],out AwakeLV); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class HeroAwakeConfig : ConfigBase<int, HeroAwakeConfig> +{ + + public int TalentAwakeID; + public int HeroID; + public int AwakeLV; + public int[] AttrIDList; + public int[] AttrValueList; + public int SkillID; + public int UnlockTalentSlot; + public int AddStarUpper; + + 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 TalentAwakeID); + + int.TryParse(tables[1],out HeroID); + + int.TryParse(tables[2],out AwakeLV); + if (tables[3].Contains("[")) { AttrIDList = JsonMapper.ToObject<int[]>(tables[3]); @@ -50,8 +48,8 @@ { int.TryParse(AttrIDListStringArray[i],out AttrIDList[i]); } - } - + } + if (tables[4].Contains("[")) { AttrValueList = JsonMapper.ToObject<int[]>(tables[4]); @@ -64,17 +62,17 @@ { int.TryParse(AttrValueListStringArray[i],out AttrValueList[i]); } - } - - int.TryParse(tables[5],out SkillID); - - int.TryParse(tables[6],out UnlockTalentSlot); - - int.TryParse(tables[7],out AddStarUpper); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + + int.TryParse(tables[5],out SkillID); + + int.TryParse(tables[6],out UnlockTalentSlot); + + int.TryParse(tables[7],out AddStarUpper); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/HeroBreakConfig.cs b/Main/Config/Configs/HeroBreakConfig.cs index 1ffc811..dc4059a 100644 --- a/Main/Config/Configs/HeroBreakConfig.cs +++ b/Main/Config/Configs/HeroBreakConfig.cs @@ -1,41 +1,39 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class HeroBreakConfig : ConfigBase<int, HeroBreakConfig> -{ - - public int BreakID; - public int HeroID; - public int BreakLV; - public int[] AttrIDList; - public int[] AttrValueList; - public int SkillID; - - 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 BreakID); - - int.TryParse(tables[1],out HeroID); - - int.TryParse(tables[2],out BreakLV); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class HeroBreakConfig : ConfigBase<int, HeroBreakConfig> +{ + + public int BreakID; + public int HeroID; + public int BreakLV; + public int[] AttrIDList; + public int[] AttrValueList; + public int SkillID; + + 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 BreakID); + + int.TryParse(tables[1],out HeroID); + + int.TryParse(tables[2],out BreakLV); + if (tables[3].Contains("[")) { AttrIDList = JsonMapper.ToObject<int[]>(tables[3]); @@ -48,8 +46,8 @@ { int.TryParse(AttrIDListStringArray[i],out AttrIDList[i]); } - } - + } + if (tables[4].Contains("[")) { AttrValueList = JsonMapper.ToObject<int[]>(tables[4]); @@ -62,13 +60,13 @@ { int.TryParse(AttrValueListStringArray[i],out AttrValueList[i]); } - } - - int.TryParse(tables[5],out SkillID); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + + int.TryParse(tables[5],out SkillID); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/HeroConfig.cs b/Main/Config/Configs/HeroConfig.cs index 47c9fd5..9a6d2f6 100644 --- a/Main/Config/Configs/HeroConfig.cs +++ b/Main/Config/Configs/HeroConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: 2025骞�7鏈�18鏃� +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/HeroFetterConfig.cs b/Main/Config/Configs/HeroFetterConfig.cs index fdb2ad0..000bf8c 100644 --- a/Main/Config/Configs/HeroFetterConfig.cs +++ b/Main/Config/Configs/HeroFetterConfig.cs @@ -1,38 +1,36 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class HeroFetterConfig : ConfigBase<int, HeroFetterConfig> -{ - - public int FetterID; - public string FetterName; - public int[] HeroIDList; - public int[] AttrIDList; - public int[] AttrValueList; - - 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 FetterID); - - FetterName = tables[1]; - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class HeroFetterConfig : ConfigBase<int, HeroFetterConfig> +{ + + public int FetterID; + public string FetterName; + public int[] HeroIDList; + public int[] AttrIDList; + public int[] AttrValueList; + + 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 FetterID); + + FetterName = tables[1]; + if (tables[2].Contains("[")) { HeroIDList = JsonMapper.ToObject<int[]>(tables[2]); @@ -45,8 +43,8 @@ { int.TryParse(HeroIDListStringArray[i],out HeroIDList[i]); } - } - + } + if (tables[3].Contains("[")) { AttrIDList = JsonMapper.ToObject<int[]>(tables[3]); @@ -59,8 +57,8 @@ { int.TryParse(AttrIDListStringArray[i],out AttrIDList[i]); } - } - + } + if (tables[4].Contains("[")) { AttrValueList = JsonMapper.ToObject<int[]>(tables[4]); @@ -73,11 +71,11 @@ { int.TryParse(AttrValueListStringArray[i],out AttrValueList[i]); } - } - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/HeroLineupHaloConfig.cs b/Main/Config/Configs/HeroLineupHaloConfig.cs new file mode 100644 index 0000000..5f7d033 --- /dev/null +++ b/Main/Config/Configs/HeroLineupHaloConfig.cs @@ -0,0 +1,69 @@ +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class HeroLineupHaloConfig : ConfigBase<int, HeroLineupHaloConfig> +{ + + public int Id; + public int Country; + public int NeedHeroCount; + public int[] AttrIDList; + public int[] AttrValueList; + + 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 Id); + + int.TryParse(tables[1],out Country); + + int.TryParse(tables[2],out NeedHeroCount); + + if (tables[3].Contains("[")) + { + AttrIDList = JsonMapper.ToObject<int[]>(tables[3]); + } + else + { + string[] AttrIDListStringArray = tables[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); + AttrIDList = new int[AttrIDListStringArray.Length]; + for (int i=0;i<AttrIDListStringArray.Length;i++) + { + int.TryParse(AttrIDListStringArray[i],out AttrIDList[i]); + } + } + + if (tables[4].Contains("[")) + { + AttrValueList = JsonMapper.ToObject<int[]>(tables[4]); + } + else + { + string[] AttrValueListStringArray = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); + AttrValueList = new int[AttrValueListStringArray.Length]; + for (int i=0;i<AttrValueListStringArray.Length;i++) + { + int.TryParse(AttrValueListStringArray[i],out AttrValueList[i]); + } + } + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Utility/GameObjectPool.cs.meta b/Main/Config/Configs/HeroLineupHaloConfig.cs.meta similarity index 68% copy from Main/Utility/GameObjectPool.cs.meta copy to Main/Config/Configs/HeroLineupHaloConfig.cs.meta index 7153f8c..71101db 100644 --- a/Main/Utility/GameObjectPool.cs.meta +++ b/Main/Config/Configs/HeroLineupHaloConfig.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 99e41fbb2b3832c41b1575b72c946cca -timeCreated: 1504310243 -licenseType: Pro +guid: 8226332450e068a418446db4aab9cb01 MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Main/Config/Configs/HeroQualityAwakeConfig.cs b/Main/Config/Configs/HeroQualityAwakeConfig.cs index b89b396..bb4faf9 100644 --- a/Main/Config/Configs/HeroQualityAwakeConfig.cs +++ b/Main/Config/Configs/HeroQualityAwakeConfig.cs @@ -1,39 +1,37 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class HeroQualityAwakeConfig : ConfigBase<int, HeroQualityAwakeConfig> -{ - - public int QualityAwakeID; - public int Quality; - public int AwakeLV; - public int[] UPCostItem; - - 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 QualityAwakeID); - - int.TryParse(tables[1],out Quality); - - int.TryParse(tables[2],out AwakeLV); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class HeroQualityAwakeConfig : ConfigBase<int, HeroQualityAwakeConfig> +{ + + public int QualityAwakeID; + public int Quality; + public int AwakeLV; + public int[] UPCostItem; + + 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 QualityAwakeID); + + int.TryParse(tables[1],out Quality); + + int.TryParse(tables[2],out AwakeLV); + if (tables[3].Contains("[")) { UPCostItem = JsonMapper.ToObject<int[]>(tables[3]); @@ -46,11 +44,11 @@ { int.TryParse(UPCostItemStringArray[i],out UPCostItem[i]); } - } - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/HeroQualityBreakConfig.cs b/Main/Config/Configs/HeroQualityBreakConfig.cs index 8d7ab6a..af146fe 100644 --- a/Main/Config/Configs/HeroQualityBreakConfig.cs +++ b/Main/Config/Configs/HeroQualityBreakConfig.cs @@ -1,42 +1,40 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class HeroQualityBreakConfig : ConfigBase<int, HeroQualityBreakConfig> -{ - - public int QualityBreankID; - public int Quality; - public int BreakLV; - public int LVMax; - public int[] UPCostItem; - - 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 QualityBreankID); - - int.TryParse(tables[1],out Quality); - - int.TryParse(tables[2],out BreakLV); - - int.TryParse(tables[3],out LVMax); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class HeroQualityBreakConfig : ConfigBase<int, HeroQualityBreakConfig> +{ + + public int QualityBreankID; + public int Quality; + public int BreakLV; + public int LVMax; + public int[] UPCostItem; + + 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 QualityBreankID); + + int.TryParse(tables[1],out Quality); + + int.TryParse(tables[2],out BreakLV); + + int.TryParse(tables[3],out LVMax); + if (tables[4].Contains("[")) { UPCostItem = JsonMapper.ToObject<int[]>(tables[4]); @@ -49,11 +47,11 @@ { int.TryParse(UPCostItemStringArray[i],out UPCostItem[i]); } - } - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/HeroQualityConfig.cs b/Main/Config/Configs/HeroQualityConfig.cs index af2ce0c..16ef8da 100644 --- a/Main/Config/Configs/HeroQualityConfig.cs +++ b/Main/Config/Configs/HeroQualityConfig.cs @@ -1,42 +1,40 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class HeroQualityConfig : ConfigBase<int, HeroQualityConfig> -{ - - public int Quality; - public int[] UPCostItem; - public int InitStarUpper; - public int InitAddPer; - public int LVAddPer; - public int BreakLVAddPer; - public int StarAddPer; - public int[] BookActAwardMoney; - public int BookInitAddPer; - public int BookStarAddPer; - public int BookBreakLVAddPer; - - 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 Quality); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class HeroQualityConfig : ConfigBase<int, HeroQualityConfig> +{ + + public int Quality; + public int[] UPCostItem; + public int InitStarUpper; + public int InitAddPer; + public int LVAddPer; + public int BreakLVAddPer; + public int StarAddPer; + public int[] BookActAwardMoney; + public int BookInitAddPer; + public int BookStarAddPer; + public int BookBreakLVAddPer; + + 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 Quality); + if (tables[1].Contains("[")) { UPCostItem = JsonMapper.ToObject<int[]>(tables[1]); @@ -49,18 +47,18 @@ { int.TryParse(UPCostItemStringArray[i],out UPCostItem[i]); } - } - - int.TryParse(tables[2],out InitStarUpper); - - int.TryParse(tables[3],out InitAddPer); - - int.TryParse(tables[4],out LVAddPer); - - int.TryParse(tables[5],out BreakLVAddPer); - - int.TryParse(tables[6],out StarAddPer); - + } + + int.TryParse(tables[2],out InitStarUpper); + + int.TryParse(tables[3],out InitAddPer); + + int.TryParse(tables[4],out LVAddPer); + + int.TryParse(tables[5],out BreakLVAddPer); + + int.TryParse(tables[6],out StarAddPer); + if (tables[7].Contains("[")) { BookActAwardMoney = JsonMapper.ToObject<int[]>(tables[7]); @@ -73,17 +71,17 @@ { int.TryParse(BookActAwardMoneyStringArray[i],out BookActAwardMoney[i]); } - } - - int.TryParse(tables[8],out BookInitAddPer); - - int.TryParse(tables[9],out BookStarAddPer); - - int.TryParse(tables[10],out BookBreakLVAddPer); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + + int.TryParse(tables[8],out BookInitAddPer); + + int.TryParse(tables[9],out BookStarAddPer); + + int.TryParse(tables[10],out BookBreakLVAddPer); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/HeroQualityLVConfig.cs b/Main/Config/Configs/HeroQualityLVConfig.cs new file mode 100644 index 0000000..160987d --- /dev/null +++ b/Main/Config/Configs/HeroQualityLVConfig.cs @@ -0,0 +1,54 @@ +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class HeroQualityLVConfig : ConfigBase<int, HeroQualityLVConfig> +{ + + public int Id; + public int Quality; + public int HeroLV; + public int[] UPCostItem; + + 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 Id); + + int.TryParse(tables[1],out Quality); + + int.TryParse(tables[2],out HeroLV); + + if (tables[3].Contains("[")) + { + UPCostItem = JsonMapper.ToObject<int[]>(tables[3]); + } + else + { + string[] UPCostItemStringArray = tables[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); + UPCostItem = new int[UPCostItemStringArray.Length]; + for (int i=0;i<UPCostItemStringArray.Length;i++) + { + int.TryParse(UPCostItemStringArray[i],out UPCostItem[i]); + } + } + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Utility/GameObjectPool.cs.meta b/Main/Config/Configs/HeroQualityLVConfig.cs.meta similarity index 68% copy from Main/Utility/GameObjectPool.cs.meta copy to Main/Config/Configs/HeroQualityLVConfig.cs.meta index 7153f8c..cc535dd 100644 --- a/Main/Utility/GameObjectPool.cs.meta +++ b/Main/Config/Configs/HeroQualityLVConfig.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 99e41fbb2b3832c41b1575b72c946cca -timeCreated: 1504310243 -licenseType: Pro +guid: b0e2a9b5d4828284eb6dad12646b416c MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Main/Config/Configs/HeroSkinConfig.cs b/Main/Config/Configs/HeroSkinConfig.cs index 30294af..483ffdd 100644 --- a/Main/Config/Configs/HeroSkinConfig.cs +++ b/Main/Config/Configs/HeroSkinConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: 2025骞�7鏈�18鏃� +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/HeroTalentConfig.cs b/Main/Config/Configs/HeroTalentConfig.cs index b3bdc50..dcc93c4 100644 --- a/Main/Config/Configs/HeroTalentConfig.cs +++ b/Main/Config/Configs/HeroTalentConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: 2025骞�7鏈�11鏃� +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/IconConfig.cs b/Main/Config/Configs/IconConfig.cs index 7545724..a6f01cf 100644 --- a/Main/Config/Configs/IconConfig.cs +++ b/Main/Config/Configs/IconConfig.cs @@ -1,41 +1,39 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class IconConfig : ConfigBase<string, IconConfig> -{ - - public string id; - public string folder; - public string sprite; - - public override string LoadKey(string _key) - { - string key = GetKey(_key); - return key; - } - - public override void LoadConfig(string input) - { - try { - string[] tables = input.Split('\t'); - id = tables[0]; - - folder = tables[1]; - - sprite = tables[2]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class IconConfig : ConfigBase<string, IconConfig> +{ + + public string id; + public string folder; + public string sprite; + + public override string LoadKey(string _key) + { + string key = GetKey(_key); + return key; + } + + public override void LoadConfig(string input) + { + try { + string[] tables = input.Split('\t'); + id = tables[0]; + + folder = tables[1]; + + sprite = tables[2]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/InitialFunctionConfig.cs b/Main/Config/Configs/InitialFunctionConfig.cs index 283d2ef..85a55cd 100644 --- a/Main/Config/Configs/InitialFunctionConfig.cs +++ b/Main/Config/Configs/InitialFunctionConfig.cs @@ -1,50 +1,48 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class InitialFunctionConfig : ConfigBase<string, InitialFunctionConfig> -{ - - public string KEY; - public string Numerical1; - public string Numerical2; - public string Numerical3; - public string Numerical4; - public string Numerical5; - - public override string LoadKey(string _key) - { - string key = GetKey(_key); - return key; - } - - public override void LoadConfig(string input) - { - try { - string[] tables = input.Split('\t'); - KEY = tables[0]; - - Numerical1 = tables[1]; - - Numerical2 = tables[2]; - - Numerical3 = tables[3]; - - Numerical4 = tables[4]; - - Numerical5 = tables[5]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class InitialFunctionConfig : ConfigBase<string, InitialFunctionConfig> +{ + + public string KEY; + public string Numerical1; + public string Numerical2; + public string Numerical3; + public string Numerical4; + public string Numerical5; + + public override string LoadKey(string _key) + { + string key = GetKey(_key); + return key; + } + + public override void LoadConfig(string input) + { + try { + string[] tables = input.Split('\t'); + KEY = tables[0]; + + Numerical1 = tables[1]; + + Numerical2 = tables[2]; + + Numerical3 = tables[3]; + + Numerical4 = tables[4]; + + Numerical5 = tables[5]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/ItemConfig.cs b/Main/Config/Configs/ItemConfig.cs index 7b7e656..be83867 100644 --- a/Main/Config/Configs/ItemConfig.cs +++ b/Main/Config/Configs/ItemConfig.cs @@ -1,122 +1,120 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class ItemConfig : ConfigBase<int, ItemConfig> -{ - - public int ID; - public int LV; - public string ItemName; - public int Type; - public int EquipPlace; - public int CanRepair; - public int PackCount; - public int UseLV; - public int CanSell; - public int CanTrade; - public int[] JumpComposeCondi; - public int CanDrop; - public int CanBind; - public int CDTypeEx; - public int CDType; - public int CDTime; - public int GoldPrice; - public int GoldPaperPrice; - public int SilverPrice; - public int UseTag; - public int Effect1; - public int EffectValueA1; - public int EffectValueB1; - public int EffectValueC1; - public int Effect2; - public int EffectValueA2; - public int EffectValueB2; - public int EffectValueC2; - public int Effect3; - public int EffectValueA3; - public int EffectValueB3; - public int EffectValueC3; - public int Effect4; - public int EffectValueA4; - public int EffectValueB4; - public int EffectValueC4; - public int Effect5; - public int EffectValueA5; - public int EffectValueB5; - public int EffectValueC5; - public int AddSkill1; - public int AddSkill2; - public int JobLimit; - public int RealmLimit; - public int ItemColor; - public int StarLevel; - public int MaxHoleCount; - public int CanBreak; - public int MaxEndure; - public int EndureReduceType; - public int BindType; - public int MaxSkillCnt; - public int ExpireTime; - public int MaxFitLV; - public int SuiteiD; - public string DropinstantEffName; - public string IconKey; - public int ChangeOrd; - public string Description; - public string QualityName; - public int QualityEchoType; - public int LimitSTR; - public int LimitPHY; - public int LimitPNE; - public string Template; - public int DropItemPattern; - public int SellTip; - public int BatchUse; - public int Jump; - public int[] GetWay; - public string ItemTypeName; - public int[] UseCondiType; - public int BaseEffectID; - - 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 ID); - - int.TryParse(tables[1],out LV); - - ItemName = tables[2]; - - int.TryParse(tables[3],out Type); - - int.TryParse(tables[4],out EquipPlace); - - int.TryParse(tables[5],out CanRepair); - - int.TryParse(tables[6],out PackCount); - - int.TryParse(tables[7],out UseLV); - - int.TryParse(tables[8],out CanSell); - - int.TryParse(tables[9],out CanTrade); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class ItemConfig : ConfigBase<int, ItemConfig> +{ + + public int ID; + public int LV; + public string ItemName; + public int Type; + public int EquipPlace; + public int CanRepair; + public int PackCount; + public int UseLV; + public int CanSell; + public int CanTrade; + public int[] JumpComposeCondi; + public int CanDrop; + public int CanBind; + public int CDTypeEx; + public int CDType; + public int CDTime; + public int GoldPrice; + public int GoldPaperPrice; + public int SilverPrice; + public int UseTag; + public int Effect1; + public int EffectValueA1; + public int EffectValueB1; + public int EffectValueC1; + public int Effect2; + public int EffectValueA2; + public int EffectValueB2; + public int EffectValueC2; + public int Effect3; + public int EffectValueA3; + public int EffectValueB3; + public int EffectValueC3; + public int Effect4; + public int EffectValueA4; + public int EffectValueB4; + public int EffectValueC4; + public int Effect5; + public int EffectValueA5; + public int EffectValueB5; + public int EffectValueC5; + public int AddSkill1; + public int AddSkill2; + public int JobLimit; + public int RealmLimit; + public int ItemColor; + public int StarLevel; + public int MaxHoleCount; + public int CanBreak; + public int MaxEndure; + public int EndureReduceType; + public int BindType; + public int MaxSkillCnt; + public int ExpireTime; + public int MaxFitLV; + public int SuiteiD; + public string DropinstantEffName; + public string IconKey; + public int ChangeOrd; + public string Description; + public string QualityName; + public int QualityEchoType; + public int LimitSTR; + public int LimitPHY; + public int LimitPNE; + public string Template; + public int DropItemPattern; + public int SellTip; + public int BatchUse; + public int Jump; + public int[] GetWay; + public string ItemTypeName; + public int[] UseCondiType; + public int BaseEffectID; + + 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 ID); + + int.TryParse(tables[1],out LV); + + ItemName = tables[2]; + + int.TryParse(tables[3],out Type); + + int.TryParse(tables[4],out EquipPlace); + + int.TryParse(tables[5],out CanRepair); + + int.TryParse(tables[6],out PackCount); + + int.TryParse(tables[7],out UseLV); + + int.TryParse(tables[8],out CanSell); + + int.TryParse(tables[9],out CanTrade); + if (tables[10].Contains("[")) { JumpComposeCondi = JsonMapper.ToObject<int[]>(tables[10]); @@ -129,124 +127,124 @@ { int.TryParse(JumpComposeCondiStringArray[i],out JumpComposeCondi[i]); } - } - - int.TryParse(tables[11],out CanDrop); - - int.TryParse(tables[12],out CanBind); - - int.TryParse(tables[13],out CDTypeEx); - - int.TryParse(tables[14],out CDType); - - int.TryParse(tables[15],out CDTime); - - int.TryParse(tables[16],out GoldPrice); - - int.TryParse(tables[17],out GoldPaperPrice); - - int.TryParse(tables[18],out SilverPrice); - - int.TryParse(tables[19],out UseTag); - - int.TryParse(tables[20],out Effect1); - - int.TryParse(tables[21],out EffectValueA1); - - int.TryParse(tables[22],out EffectValueB1); - - int.TryParse(tables[23],out EffectValueC1); - - int.TryParse(tables[24],out Effect2); - - int.TryParse(tables[25],out EffectValueA2); - - int.TryParse(tables[26],out EffectValueB2); - - int.TryParse(tables[27],out EffectValueC2); - - int.TryParse(tables[28],out Effect3); - - int.TryParse(tables[29],out EffectValueA3); - - int.TryParse(tables[30],out EffectValueB3); - - int.TryParse(tables[31],out EffectValueC3); - - int.TryParse(tables[32],out Effect4); - - int.TryParse(tables[33],out EffectValueA4); - - int.TryParse(tables[34],out EffectValueB4); - - int.TryParse(tables[35],out EffectValueC4); - - int.TryParse(tables[36],out Effect5); - - int.TryParse(tables[37],out EffectValueA5); - - int.TryParse(tables[38],out EffectValueB5); - - int.TryParse(tables[39],out EffectValueC5); - - int.TryParse(tables[40],out AddSkill1); - - int.TryParse(tables[41],out AddSkill2); - - int.TryParse(tables[42],out JobLimit); - - int.TryParse(tables[43],out RealmLimit); - - int.TryParse(tables[44],out ItemColor); - - int.TryParse(tables[45],out StarLevel); - - int.TryParse(tables[46],out MaxHoleCount); - - int.TryParse(tables[47],out CanBreak); - - int.TryParse(tables[48],out MaxEndure); - - int.TryParse(tables[49],out EndureReduceType); - - int.TryParse(tables[50],out BindType); - - int.TryParse(tables[51],out MaxSkillCnt); - - int.TryParse(tables[52],out ExpireTime); - - int.TryParse(tables[53],out MaxFitLV); - - int.TryParse(tables[54],out SuiteiD); - - DropinstantEffName = tables[55]; - - IconKey = tables[56]; - - int.TryParse(tables[57],out ChangeOrd); - - Description = tables[58]; - - QualityName = tables[59]; - - int.TryParse(tables[60],out QualityEchoType); - - int.TryParse(tables[61],out LimitSTR); - - int.TryParse(tables[62],out LimitPHY); - - int.TryParse(tables[63],out LimitPNE); - - Template = tables[64]; - - int.TryParse(tables[65],out DropItemPattern); - - int.TryParse(tables[66],out SellTip); - - int.TryParse(tables[67],out BatchUse); - - int.TryParse(tables[68],out Jump); - + } + + int.TryParse(tables[11],out CanDrop); + + int.TryParse(tables[12],out CanBind); + + int.TryParse(tables[13],out CDTypeEx); + + int.TryParse(tables[14],out CDType); + + int.TryParse(tables[15],out CDTime); + + int.TryParse(tables[16],out GoldPrice); + + int.TryParse(tables[17],out GoldPaperPrice); + + int.TryParse(tables[18],out SilverPrice); + + int.TryParse(tables[19],out UseTag); + + int.TryParse(tables[20],out Effect1); + + int.TryParse(tables[21],out EffectValueA1); + + int.TryParse(tables[22],out EffectValueB1); + + int.TryParse(tables[23],out EffectValueC1); + + int.TryParse(tables[24],out Effect2); + + int.TryParse(tables[25],out EffectValueA2); + + int.TryParse(tables[26],out EffectValueB2); + + int.TryParse(tables[27],out EffectValueC2); + + int.TryParse(tables[28],out Effect3); + + int.TryParse(tables[29],out EffectValueA3); + + int.TryParse(tables[30],out EffectValueB3); + + int.TryParse(tables[31],out EffectValueC3); + + int.TryParse(tables[32],out Effect4); + + int.TryParse(tables[33],out EffectValueA4); + + int.TryParse(tables[34],out EffectValueB4); + + int.TryParse(tables[35],out EffectValueC4); + + int.TryParse(tables[36],out Effect5); + + int.TryParse(tables[37],out EffectValueA5); + + int.TryParse(tables[38],out EffectValueB5); + + int.TryParse(tables[39],out EffectValueC5); + + int.TryParse(tables[40],out AddSkill1); + + int.TryParse(tables[41],out AddSkill2); + + int.TryParse(tables[42],out JobLimit); + + int.TryParse(tables[43],out RealmLimit); + + int.TryParse(tables[44],out ItemColor); + + int.TryParse(tables[45],out StarLevel); + + int.TryParse(tables[46],out MaxHoleCount); + + int.TryParse(tables[47],out CanBreak); + + int.TryParse(tables[48],out MaxEndure); + + int.TryParse(tables[49],out EndureReduceType); + + int.TryParse(tables[50],out BindType); + + int.TryParse(tables[51],out MaxSkillCnt); + + int.TryParse(tables[52],out ExpireTime); + + int.TryParse(tables[53],out MaxFitLV); + + int.TryParse(tables[54],out SuiteiD); + + DropinstantEffName = tables[55]; + + IconKey = tables[56]; + + int.TryParse(tables[57],out ChangeOrd); + + Description = tables[58]; + + QualityName = tables[59]; + + int.TryParse(tables[60],out QualityEchoType); + + int.TryParse(tables[61],out LimitSTR); + + int.TryParse(tables[62],out LimitPHY); + + int.TryParse(tables[63],out LimitPNE); + + Template = tables[64]; + + int.TryParse(tables[65],out DropItemPattern); + + int.TryParse(tables[66],out SellTip); + + int.TryParse(tables[67],out BatchUse); + + int.TryParse(tables[68],out Jump); + if (tables[69].Contains("[")) { GetWay = JsonMapper.ToObject<int[]>(tables[69]); @@ -259,10 +257,10 @@ { int.TryParse(GetWayStringArray[i],out GetWay[i]); } - } - - ItemTypeName = tables[70]; - + } + + ItemTypeName = tables[70]; + if (tables[71].Contains("[")) { UseCondiType = JsonMapper.ToObject<int[]>(tables[71]); @@ -275,13 +273,13 @@ { int.TryParse(UseCondiTypeStringArray[i],out UseCondiType[i]); } - } - - int.TryParse(tables[72],out BaseEffectID); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + + int.TryParse(tables[72],out BaseEffectID); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/KickOutReasonConfig.cs b/Main/Config/Configs/KickOutReasonConfig.cs index 3ecb6d0..d89982a 100644 --- a/Main/Config/Configs/KickOutReasonConfig.cs +++ b/Main/Config/Configs/KickOutReasonConfig.cs @@ -1,38 +1,36 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class KickOutReasonConfig : ConfigBase<int, KickOutReasonConfig> -{ - - public int id; - public string kickout; - - 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 id); - - kickout = tables[1]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class KickOutReasonConfig : ConfigBase<int, KickOutReasonConfig> +{ + + public int id; + public string kickout; + + 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 id); + + kickout = tables[1]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/LanguageConfig.cs b/Main/Config/Configs/LanguageConfig.cs index 86c0f99..7233735 100644 --- a/Main/Config/Configs/LanguageConfig.cs +++ b/Main/Config/Configs/LanguageConfig.cs @@ -1,38 +1,36 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class LanguageConfig : ConfigBase<string, LanguageConfig> -{ - - public string id; - public string content; - - public override string LoadKey(string _key) - { - string key = GetKey(_key); - return key; - } - - public override void LoadConfig(string input) - { - try { - string[] tables = input.Split('\t'); - id = tables[0]; - - content = tables[1]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class LanguageConfig : ConfigBase<string, LanguageConfig> +{ + + public string id; + public string content; + + public override string LoadKey(string _key) + { + string key = GetKey(_key); + return key; + } + + public override void LoadConfig(string input) + { + try { + string[] tables = input.Split('\t'); + id = tables[0]; + + content = tables[1]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/MailConfig.cs b/Main/Config/Configs/MailConfig.cs index fcae028..4001bd0 100644 --- a/Main/Config/Configs/MailConfig.cs +++ b/Main/Config/Configs/MailConfig.cs @@ -1,41 +1,39 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class MailConfig : ConfigBase<string, MailConfig> -{ - - public string MailType; - public string Title; - public string Content; - - public override string LoadKey(string _key) - { - string key = GetKey(_key); - return key; - } - - public override void LoadConfig(string input) - { - try { - string[] tables = input.Split('\t'); - MailType = tables[0]; - - Title = tables[1]; - - Content = tables[2]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class MailConfig : ConfigBase<string, MailConfig> +{ + + public string MailType; + public string Title; + public string Content; + + public override string LoadKey(string _key) + { + string key = GetKey(_key); + return key; + } + + public override void LoadConfig(string input) + { + try { + string[] tables = input.Split('\t'); + MailType = tables[0]; + + Title = tables[1]; + + Content = tables[2]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/MainChapterConfig.cs b/Main/Config/Configs/MainChapterConfig.cs index 3a87bcd..8ba4190 100644 --- a/Main/Config/Configs/MainChapterConfig.cs +++ b/Main/Config/Configs/MainChapterConfig.cs @@ -1,50 +1,48 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: 2025骞�7鏈�7鏃� -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class MainChapterConfig : ConfigBase<int, MainChapterConfig> -{ - - public int ChapterID; - public string ChapterName; - public string Level; - public string MapBG; - public int[][] DailyBootyUpperList; - public string BootyWeightList; - - 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 ChapterID); - - ChapterName = tables[1]; - - Level = tables[2]; - - MapBG = tables[3]; - - DailyBootyUpperList = JsonMapper.ToObject<int[][]>(tables[4].Replace("(", "[").Replace(")", "]")); - - BootyWeightList = tables[5]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class MainChapterConfig : ConfigBase<int, MainChapterConfig> +{ + + public int ChapterID; + public string ChapterName; + public string Level; + public string MapBG; + public int[][] DailyBootyUpperList; + public string BootyWeightList; + + 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 ChapterID); + + ChapterName = tables[1]; + + Level = tables[2]; + + MapBG = tables[3]; + + DailyBootyUpperList = JsonMapper.ToObject<int[][]>(tables[4].Replace("(", "[").Replace(")", "]")); + + BootyWeightList = tables[5]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/MainLevelConfig.cs b/Main/Config/Configs/MainLevelConfig.cs index 105fbbc..8e1464b 100644 --- a/Main/Config/Configs/MainLevelConfig.cs +++ b/Main/Config/Configs/MainLevelConfig.cs @@ -1,46 +1,44 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: 2025骞�7鏈�7鏃� -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class MainLevelConfig : ConfigBase<int, MainLevelConfig> -{ - - public int LevelID; - public int ChapterID; - public int LevelNum; - public int[] WaveLineupIDList1; - public int[] WaveLineupIDList2; - public int[] WaveLineupIDList3; - public int[] WaveLineupIDList4; - public int[] WaveLineupIDList5; - public int[] WaveLineupIDList6; - public int[] BossLineupIDList; - public int[][] AwardItemList; - - 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 LevelID); - - int.TryParse(tables[1],out ChapterID); - - int.TryParse(tables[2],out LevelNum); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class MainLevelConfig : ConfigBase<int, MainLevelConfig> +{ + + public int LevelID; + public int ChapterID; + public int LevelNum; + public int[] WaveLineupIDList1; + public int[] WaveLineupIDList2; + public int[] WaveLineupIDList3; + public int[] WaveLineupIDList4; + public int[] WaveLineupIDList5; + public int[] WaveLineupIDList6; + public int[] BossLineupIDList; + public int[][] AwardItemList; + + 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 LevelID); + + int.TryParse(tables[1],out ChapterID); + + int.TryParse(tables[2],out LevelNum); + if (tables[3].Contains("[")) { WaveLineupIDList1 = JsonMapper.ToObject<int[]>(tables[3]); @@ -53,8 +51,8 @@ { int.TryParse(WaveLineupIDList1StringArray[i],out WaveLineupIDList1[i]); } - } - + } + if (tables[4].Contains("[")) { WaveLineupIDList2 = JsonMapper.ToObject<int[]>(tables[4]); @@ -67,8 +65,8 @@ { int.TryParse(WaveLineupIDList2StringArray[i],out WaveLineupIDList2[i]); } - } - + } + if (tables[5].Contains("[")) { WaveLineupIDList3 = JsonMapper.ToObject<int[]>(tables[5]); @@ -81,8 +79,8 @@ { int.TryParse(WaveLineupIDList3StringArray[i],out WaveLineupIDList3[i]); } - } - + } + if (tables[6].Contains("[")) { WaveLineupIDList4 = JsonMapper.ToObject<int[]>(tables[6]); @@ -95,8 +93,8 @@ { int.TryParse(WaveLineupIDList4StringArray[i],out WaveLineupIDList4[i]); } - } - + } + if (tables[7].Contains("[")) { WaveLineupIDList5 = JsonMapper.ToObject<int[]>(tables[7]); @@ -109,8 +107,8 @@ { int.TryParse(WaveLineupIDList5StringArray[i],out WaveLineupIDList5[i]); } - } - + } + if (tables[8].Contains("[")) { WaveLineupIDList6 = JsonMapper.ToObject<int[]>(tables[8]); @@ -123,8 +121,8 @@ { int.TryParse(WaveLineupIDList6StringArray[i],out WaveLineupIDList6[i]); } - } - + } + if (tables[9].Contains("[")) { BossLineupIDList = JsonMapper.ToObject<int[]>(tables[9]); @@ -137,13 +135,13 @@ { int.TryParse(BossLineupIDListStringArray[i],out BossLineupIDList[i]); } - } - - AwardItemList = JsonMapper.ToObject<int[][]>(tables[10].Replace("(", "[").Replace(")", "]")); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + + AwardItemList = JsonMapper.ToObject<int[][]>(tables[10].Replace("(", "[").Replace(")", "]")); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/NPCConfig.cs b/Main/Config/Configs/NPCConfig.cs index b643e3b..c191c66 100644 --- a/Main/Config/Configs/NPCConfig.cs +++ b/Main/Config/Configs/NPCConfig.cs @@ -1,196 +1,194 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class NPCConfig : ConfigBase<int, NPCConfig> -{ - - public int NPCID; - public int NPCType; - public string MODE; - public string charName; - public int NPCLV; - public float ModleHeight; - public float ModelRadius; - public float ModeProportion; - public Vector3 UIModeLOffset; - public float UIModeLProportion; - public Vector3 UIModelRotation; - public int CanDeadFly; - public int Country; - public int MinAtk; - public int MaxAtk; - public int Def; - public int Realm; - public int PoisionAtk; - public int FireAtk; - public int IceAtk; - public int PoisionDef; - public int IceDef; - public int ThunderDef; - public int AtkInterval; - public int Hit; - public int MissRate; - public int SuperHiteRate; - public int OrgSpeed; - public int MoveType; - public int AtkDist; - public int Skill1; - public int Skill2; - public int Skill3; - public int Skill4; - public int Skill5; - public int Skill6; - public int Skill7; - public int Skill8; - public int AtkType; - public int Sight; - public int MoveArea; - public int DHP; - public int MaxHPEx; - public int IsBoss; - public int SP; - public int AIType; - public int CanAttack; - public float weight; - public string HeadPortrait; - public int Show; - public int AtkFeedback; - public int hurtFeedback; - public int AutomaticFace; - public int Dig; - public int[] Sounds; - public int LifeBarCount; - public int NPCEffect; - public int NPCSpeakID; - public string Equips; - - 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 NPCID); - - int.TryParse(tables[1],out NPCType); - - MODE = tables[2]; - - charName = tables[3]; - - int.TryParse(tables[4],out NPCLV); - - float.TryParse(tables[5],out ModleHeight); - - float.TryParse(tables[6],out ModelRadius); - - float.TryParse(tables[7],out ModeProportion); - - UIModeLOffset=tables[8].Vector3Parse(); - - float.TryParse(tables[9],out UIModeLProportion); - - UIModelRotation=tables[10].Vector3Parse(); - - int.TryParse(tables[11],out CanDeadFly); - - int.TryParse(tables[12],out Country); - - int.TryParse(tables[13],out MinAtk); - - int.TryParse(tables[14],out MaxAtk); - - int.TryParse(tables[15],out Def); - - int.TryParse(tables[16],out Realm); - - int.TryParse(tables[17],out PoisionAtk); - - int.TryParse(tables[18],out FireAtk); - - int.TryParse(tables[19],out IceAtk); - - int.TryParse(tables[20],out PoisionDef); - - int.TryParse(tables[21],out IceDef); - - int.TryParse(tables[22],out ThunderDef); - - int.TryParse(tables[23],out AtkInterval); - - int.TryParse(tables[24],out Hit); - - int.TryParse(tables[25],out MissRate); - - int.TryParse(tables[26],out SuperHiteRate); - - int.TryParse(tables[27],out OrgSpeed); - - int.TryParse(tables[28],out MoveType); - - int.TryParse(tables[29],out AtkDist); - - int.TryParse(tables[30],out Skill1); - - int.TryParse(tables[31],out Skill2); - - int.TryParse(tables[32],out Skill3); - - int.TryParse(tables[33],out Skill4); - - int.TryParse(tables[34],out Skill5); - - int.TryParse(tables[35],out Skill6); - - int.TryParse(tables[36],out Skill7); - - int.TryParse(tables[37],out Skill8); - - int.TryParse(tables[38],out AtkType); - - int.TryParse(tables[39],out Sight); - - int.TryParse(tables[40],out MoveArea); - - int.TryParse(tables[41],out DHP); - - int.TryParse(tables[42],out MaxHPEx); - - int.TryParse(tables[43],out IsBoss); - - int.TryParse(tables[44],out SP); - - int.TryParse(tables[45],out AIType); - - int.TryParse(tables[46],out CanAttack); - - float.TryParse(tables[47],out weight); - - HeadPortrait = tables[48]; - - int.TryParse(tables[49],out Show); - - int.TryParse(tables[50],out AtkFeedback); - - int.TryParse(tables[51],out hurtFeedback); - - int.TryParse(tables[52],out AutomaticFace); - - int.TryParse(tables[53],out Dig); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class NPCConfig : ConfigBase<int, NPCConfig> +{ + + public int NPCID; + public int NPCType; + public string MODE; + public string charName; + public int NPCLV; + public float ModleHeight; + public float ModelRadius; + public float ModeProportion; + public Vector3 UIModeLOffset; + public float UIModeLProportion; + public Vector3 UIModelRotation; + public int CanDeadFly; + public int Country; + public int MinAtk; + public int MaxAtk; + public int Def; + public int Realm; + public int PoisionAtk; + public int FireAtk; + public int IceAtk; + public int PoisionDef; + public int IceDef; + public int ThunderDef; + public int AtkInterval; + public int Hit; + public int MissRate; + public int SuperHiteRate; + public int OrgSpeed; + public int MoveType; + public int AtkDist; + public int Skill1; + public int Skill2; + public int Skill3; + public int Skill4; + public int Skill5; + public int Skill6; + public int Skill7; + public int Skill8; + public int AtkType; + public int Sight; + public int MoveArea; + public int DHP; + public int MaxHPEx; + public int IsBoss; + public int SP; + public int AIType; + public int CanAttack; + public float weight; + public string HeadPortrait; + public int Show; + public int AtkFeedback; + public int hurtFeedback; + public int AutomaticFace; + public int Dig; + public int[] Sounds; + public int LifeBarCount; + public int NPCEffect; + public int NPCSpeakID; + public string Equips; + + 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 NPCID); + + int.TryParse(tables[1],out NPCType); + + MODE = tables[2]; + + charName = tables[3]; + + int.TryParse(tables[4],out NPCLV); + + float.TryParse(tables[5],out ModleHeight); + + float.TryParse(tables[6],out ModelRadius); + + float.TryParse(tables[7],out ModeProportion); + + UIModeLOffset=tables[8].Vector3Parse(); + + float.TryParse(tables[9],out UIModeLProportion); + + UIModelRotation=tables[10].Vector3Parse(); + + int.TryParse(tables[11],out CanDeadFly); + + int.TryParse(tables[12],out Country); + + int.TryParse(tables[13],out MinAtk); + + int.TryParse(tables[14],out MaxAtk); + + int.TryParse(tables[15],out Def); + + int.TryParse(tables[16],out Realm); + + int.TryParse(tables[17],out PoisionAtk); + + int.TryParse(tables[18],out FireAtk); + + int.TryParse(tables[19],out IceAtk); + + int.TryParse(tables[20],out PoisionDef); + + int.TryParse(tables[21],out IceDef); + + int.TryParse(tables[22],out ThunderDef); + + int.TryParse(tables[23],out AtkInterval); + + int.TryParse(tables[24],out Hit); + + int.TryParse(tables[25],out MissRate); + + int.TryParse(tables[26],out SuperHiteRate); + + int.TryParse(tables[27],out OrgSpeed); + + int.TryParse(tables[28],out MoveType); + + int.TryParse(tables[29],out AtkDist); + + int.TryParse(tables[30],out Skill1); + + int.TryParse(tables[31],out Skill2); + + int.TryParse(tables[32],out Skill3); + + int.TryParse(tables[33],out Skill4); + + int.TryParse(tables[34],out Skill5); + + int.TryParse(tables[35],out Skill6); + + int.TryParse(tables[36],out Skill7); + + int.TryParse(tables[37],out Skill8); + + int.TryParse(tables[38],out AtkType); + + int.TryParse(tables[39],out Sight); + + int.TryParse(tables[40],out MoveArea); + + int.TryParse(tables[41],out DHP); + + int.TryParse(tables[42],out MaxHPEx); + + int.TryParse(tables[43],out IsBoss); + + int.TryParse(tables[44],out SP); + + int.TryParse(tables[45],out AIType); + + int.TryParse(tables[46],out CanAttack); + + float.TryParse(tables[47],out weight); + + HeadPortrait = tables[48]; + + int.TryParse(tables[49],out Show); + + int.TryParse(tables[50],out AtkFeedback); + + int.TryParse(tables[51],out hurtFeedback); + + int.TryParse(tables[52],out AutomaticFace); + + int.TryParse(tables[53],out Dig); + if (tables[54].Contains("[")) { Sounds = JsonMapper.ToObject<int[]>(tables[54]); @@ -203,19 +201,19 @@ { int.TryParse(SoundsStringArray[i],out Sounds[i]); } - } - - int.TryParse(tables[55],out LifeBarCount); - - int.TryParse(tables[56],out NPCEffect); - - int.TryParse(tables[57],out NPCSpeakID); - - Equips = tables[58]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + + int.TryParse(tables[55],out LifeBarCount); + + int.TryParse(tables[56],out NPCEffect); + + int.TryParse(tables[57],out NPCSpeakID); + + Equips = tables[58]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/NPCExConfig.cs b/Main/Config/Configs/NPCExConfig.cs index 3cd51a5..4c74a4c 100644 --- a/Main/Config/Configs/NPCExConfig.cs +++ b/Main/Config/Configs/NPCExConfig.cs @@ -1,38 +1,36 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class NPCExConfig : ConfigBase<int, NPCExConfig> -{ - - public int NPCID; - public long SuppressFightPower; - - 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 NPCID); - - long.TryParse(tables[1],out SuppressFightPower); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class NPCExConfig : ConfigBase<int, NPCExConfig> +{ + + public int NPCID; + public long SuppressFightPower; + + 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 NPCID); + + long.TryParse(tables[1],out SuppressFightPower); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/NPCLineupConfig.cs b/Main/Config/Configs/NPCLineupConfig.cs index 51241cd..51d0817 100644 --- a/Main/Config/Configs/NPCLineupConfig.cs +++ b/Main/Config/Configs/NPCLineupConfig.cs @@ -1,59 +1,57 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: 2025骞�7鏈�7鏃� -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class NPCLineupConfig : ConfigBase<int, NPCLineupConfig> -{ - - public int LineupID; - public int PosNPCID1; - public int PosNPCID2; - public int PosNPCID3; - public int PosNPCID4; - public int PosNPCID5; - public int PosNPCID6; - public int PosNPCID7; - public int BossID; - - 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 LineupID); - - int.TryParse(tables[1],out PosNPCID1); - - int.TryParse(tables[2],out PosNPCID2); - - int.TryParse(tables[3],out PosNPCID3); - - int.TryParse(tables[4],out PosNPCID4); - - int.TryParse(tables[5],out PosNPCID5); - - int.TryParse(tables[6],out PosNPCID6); - - int.TryParse(tables[7],out PosNPCID7); - - int.TryParse(tables[8],out BossID); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class NPCLineupConfig : ConfigBase<int, NPCLineupConfig> +{ + + public int LineupID; + public int PosNPCID1; + public int PosNPCID2; + public int PosNPCID3; + public int PosNPCID4; + public int PosNPCID5; + public int PosNPCID6; + public int PosNPCID7; + public int BossID; + + 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 LineupID); + + int.TryParse(tables[1],out PosNPCID1); + + int.TryParse(tables[2],out PosNPCID2); + + int.TryParse(tables[3],out PosNPCID3); + + int.TryParse(tables[4],out PosNPCID4); + + int.TryParse(tables[5],out PosNPCID5); + + int.TryParse(tables[6],out PosNPCID6); + + int.TryParse(tables[7],out PosNPCID7); + + int.TryParse(tables[8],out BossID); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/OrderInfoConfig.cs b/Main/Config/Configs/OrderInfoConfig.cs index 307a10f..fe5d7e7 100644 --- a/Main/Config/Configs/OrderInfoConfig.cs +++ b/Main/Config/Configs/OrderInfoConfig.cs @@ -1,62 +1,60 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class OrderInfoConfig : ConfigBase<int, OrderInfoConfig> -{ - - public int id; - public string OrderInfo; - public string AppId; - public float PayRMBNum; - public int CTGID; - public float UsdMoney; - public string StoreOrderInfo; - public string StoreOrderInfo2; - public string Name; - public string StoreOrderInfo3; - - 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 id); - - OrderInfo = tables[1]; - - AppId = tables[2]; - - float.TryParse(tables[3],out PayRMBNum); - - int.TryParse(tables[4],out CTGID); - - float.TryParse(tables[5],out UsdMoney); - - StoreOrderInfo = tables[6]; - - StoreOrderInfo2 = tables[7]; - - Name = tables[8]; - - StoreOrderInfo3 = tables[9]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class OrderInfoConfig : ConfigBase<int, OrderInfoConfig> +{ + + public int id; + public string OrderInfo; + public string AppId; + public float PayRMBNum; + public int CTGID; + public float UsdMoney; + public string StoreOrderInfo; + public string StoreOrderInfo2; + public string Name; + public string StoreOrderInfo3; + + 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 id); + + OrderInfo = tables[1]; + + AppId = tables[2]; + + float.TryParse(tables[3],out PayRMBNum); + + int.TryParse(tables[4],out CTGID); + + float.TryParse(tables[5],out UsdMoney); + + StoreOrderInfo = tables[6]; + + StoreOrderInfo2 = tables[7]; + + Name = tables[8]; + + StoreOrderInfo3 = tables[9]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/PlayerFaceConfig.cs b/Main/Config/Configs/PlayerFaceConfig.cs index 08995f7..86718be 100644 --- a/Main/Config/Configs/PlayerFaceConfig.cs +++ b/Main/Config/Configs/PlayerFaceConfig.cs @@ -1,47 +1,45 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class PlayerFaceConfig : ConfigBase<int, PlayerFaceConfig> -{ - - public int FaceID; - public string Name; - public int[] JobShowList; - public int UnlockDefault; - public int ExpireMinutes; - public int CustomPlayerID; - public string Image; - public int BgColor; - public int EffectID; - public int[][] UnlockNeedItemList; - public int[] LightAttrType; - public int[] LightAttrValue; - public int LightFightPower; - public string Descriptive; - - 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 FaceID); - - Name = tables[1]; - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class PlayerFaceConfig : ConfigBase<int, PlayerFaceConfig> +{ + + public int FaceID; + public string Name; + public int[] JobShowList; + public int UnlockDefault; + public int ExpireMinutes; + public int CustomPlayerID; + public string Image; + public int BgColor; + public int EffectID; + public int[][] UnlockNeedItemList; + public int[] LightAttrType; + public int[] LightAttrValue; + public int LightFightPower; + public string Descriptive; + + 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 FaceID); + + Name = tables[1]; + if (tables[2].Contains("[")) { JobShowList = JsonMapper.ToObject<int[]>(tables[2]); @@ -54,22 +52,22 @@ { int.TryParse(JobShowListStringArray[i],out JobShowList[i]); } - } - - int.TryParse(tables[3],out UnlockDefault); - - int.TryParse(tables[4],out ExpireMinutes); - - int.TryParse(tables[5],out CustomPlayerID); - - Image = tables[6]; - - int.TryParse(tables[7],out BgColor); - - int.TryParse(tables[8],out EffectID); - - UnlockNeedItemList = JsonMapper.ToObject<int[][]>(tables[9].Replace("(", "[").Replace(")", "]")); - + } + + int.TryParse(tables[3],out UnlockDefault); + + int.TryParse(tables[4],out ExpireMinutes); + + int.TryParse(tables[5],out CustomPlayerID); + + Image = tables[6]; + + int.TryParse(tables[7],out BgColor); + + int.TryParse(tables[8],out EffectID); + + UnlockNeedItemList = JsonMapper.ToObject<int[][]>(tables[9].Replace("(", "[").Replace(")", "]")); + if (tables[10].Contains("[")) { LightAttrType = JsonMapper.ToObject<int[]>(tables[10]); @@ -82,8 +80,8 @@ { int.TryParse(LightAttrTypeStringArray[i],out LightAttrType[i]); } - } - + } + if (tables[11].Contains("[")) { LightAttrValue = JsonMapper.ToObject<int[]>(tables[11]); @@ -96,15 +94,15 @@ { int.TryParse(LightAttrValueStringArray[i],out LightAttrValue[i]); } - } - - int.TryParse(tables[12],out LightFightPower); - - Descriptive = tables[13]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + + int.TryParse(tables[12],out LightFightPower); + + Descriptive = tables[13]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/PlayerFacePicConfig.cs b/Main/Config/Configs/PlayerFacePicConfig.cs index 404dbba..45f8251 100644 --- a/Main/Config/Configs/PlayerFacePicConfig.cs +++ b/Main/Config/Configs/PlayerFacePicConfig.cs @@ -1,57 +1,55 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class PlayerFacePicConfig : ConfigBase<int, PlayerFacePicConfig> -{ - - public int FacePicID; - public string Name; - public string Image; - public int SortNum; - public int EffectID; - public int UnlockDefault; - public int ExpireMinutes; - public int[][] UnlockNeedItemList; - public int[] LightAttrType; - public int[] LightAttrValue; - public int LightFightPower; - public string Descriptive; - - 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 FacePicID); - - Name = tables[1]; - - Image = tables[2]; - - int.TryParse(tables[3],out SortNum); - - int.TryParse(tables[4],out EffectID); - - int.TryParse(tables[5],out UnlockDefault); - - int.TryParse(tables[6],out ExpireMinutes); - - UnlockNeedItemList = JsonMapper.ToObject<int[][]>(tables[7].Replace("(", "[").Replace(")", "]")); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class PlayerFacePicConfig : ConfigBase<int, PlayerFacePicConfig> +{ + + public int FacePicID; + public string Name; + public string Image; + public int SortNum; + public int EffectID; + public int UnlockDefault; + public int ExpireMinutes; + public int[][] UnlockNeedItemList; + public int[] LightAttrType; + public int[] LightAttrValue; + public int LightFightPower; + public string Descriptive; + + 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 FacePicID); + + Name = tables[1]; + + Image = tables[2]; + + int.TryParse(tables[3],out SortNum); + + int.TryParse(tables[4],out EffectID); + + int.TryParse(tables[5],out UnlockDefault); + + int.TryParse(tables[6],out ExpireMinutes); + + UnlockNeedItemList = JsonMapper.ToObject<int[][]>(tables[7].Replace("(", "[").Replace(")", "]")); + if (tables[8].Contains("[")) { LightAttrType = JsonMapper.ToObject<int[]>(tables[8]); @@ -64,8 +62,8 @@ { int.TryParse(LightAttrTypeStringArray[i],out LightAttrType[i]); } - } - + } + if (tables[9].Contains("[")) { LightAttrValue = JsonMapper.ToObject<int[]>(tables[9]); @@ -78,15 +76,15 @@ { int.TryParse(LightAttrValueStringArray[i],out LightAttrValue[i]); } - } - - int.TryParse(tables[10],out LightFightPower); - - Descriptive = tables[11]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + + int.TryParse(tables[10],out LightFightPower); + + Descriptive = tables[11]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/PlayerFacePicStarConfig.cs b/Main/Config/Configs/PlayerFacePicStarConfig.cs index 681de9a..7525723 100644 --- a/Main/Config/Configs/PlayerFacePicStarConfig.cs +++ b/Main/Config/Configs/PlayerFacePicStarConfig.cs @@ -1,43 +1,41 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class PlayerFacePicStarConfig : ConfigBase<int, PlayerFacePicStarConfig> -{ - - public int index; - public int FacePicID; - public int FacePicStar; - public int[][] StarUpNeedItemList; - public int[] StarAttrType; - public int[] StarAttrValue; - - 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 index); - - int.TryParse(tables[1],out FacePicID); - - int.TryParse(tables[2],out FacePicStar); - - StarUpNeedItemList = JsonMapper.ToObject<int[][]>(tables[3].Replace("(", "[").Replace(")", "]")); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class PlayerFacePicStarConfig : ConfigBase<int, PlayerFacePicStarConfig> +{ + + public int index; + public int FacePicID; + public int FacePicStar; + public int[][] StarUpNeedItemList; + public int[] StarAttrType; + public int[] StarAttrValue; + + 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 index); + + int.TryParse(tables[1],out FacePicID); + + int.TryParse(tables[2],out FacePicStar); + + StarUpNeedItemList = JsonMapper.ToObject<int[][]>(tables[3].Replace("(", "[").Replace(")", "]")); + if (tables[4].Contains("[")) { StarAttrType = JsonMapper.ToObject<int[]>(tables[4]); @@ -50,8 +48,8 @@ { int.TryParse(StarAttrTypeStringArray[i],out StarAttrType[i]); } - } - + } + if (tables[5].Contains("[")) { StarAttrValue = JsonMapper.ToObject<int[]>(tables[5]); @@ -64,11 +62,11 @@ { int.TryParse(StarAttrValueStringArray[i],out StarAttrValue[i]); } - } - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/PlayerFaceStarConfig.cs b/Main/Config/Configs/PlayerFaceStarConfig.cs index 7690c58..d9f355e 100644 --- a/Main/Config/Configs/PlayerFaceStarConfig.cs +++ b/Main/Config/Configs/PlayerFaceStarConfig.cs @@ -1,43 +1,41 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class PlayerFaceStarConfig : ConfigBase<int, PlayerFaceStarConfig> -{ - - public int index; - public int FaceID; - public int FaceStar; - public int[][] StarUpNeedItemList; - public int[] StarAttrType; - public int[] StarAttrValue; - - 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 index); - - int.TryParse(tables[1],out FaceID); - - int.TryParse(tables[2],out FaceStar); - - StarUpNeedItemList = JsonMapper.ToObject<int[][]>(tables[3].Replace("(", "[").Replace(")", "]")); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class PlayerFaceStarConfig : ConfigBase<int, PlayerFaceStarConfig> +{ + + public int index; + public int FaceID; + public int FaceStar; + public int[][] StarUpNeedItemList; + public int[] StarAttrType; + public int[] StarAttrValue; + + 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 index); + + int.TryParse(tables[1],out FaceID); + + int.TryParse(tables[2],out FaceStar); + + StarUpNeedItemList = JsonMapper.ToObject<int[][]>(tables[3].Replace("(", "[").Replace(")", "]")); + if (tables[4].Contains("[")) { StarAttrType = JsonMapper.ToObject<int[]>(tables[4]); @@ -50,8 +48,8 @@ { int.TryParse(StarAttrTypeStringArray[i],out StarAttrType[i]); } - } - + } + if (tables[5].Contains("[")) { StarAttrValue = JsonMapper.ToObject<int[]>(tables[5]); @@ -64,11 +62,11 @@ { int.TryParse(StarAttrValueStringArray[i],out StarAttrValue[i]); } - } - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/PlayerLVConfig.cs b/Main/Config/Configs/PlayerLVConfig.cs index 788d647..49fbee2 100644 --- a/Main/Config/Configs/PlayerLVConfig.cs +++ b/Main/Config/Configs/PlayerLVConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/PlayerPropertyConfig.cs b/Main/Config/Configs/PlayerPropertyConfig.cs index 4aae232..1d7b221 100644 --- a/Main/Config/Configs/PlayerPropertyConfig.cs +++ b/Main/Config/Configs/PlayerPropertyConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/PriorLanguageConfig.cs b/Main/Config/Configs/PriorLanguageConfig.cs index ca18099..fd7edf5 100644 --- a/Main/Config/Configs/PriorLanguageConfig.cs +++ b/Main/Config/Configs/PriorLanguageConfig.cs @@ -1,38 +1,36 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class PriorLanguageConfig : ConfigBase<int, PriorLanguageConfig> -{ - - public int Key; - public string Content; - - 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 Key); - - Content = tables[1]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class PriorLanguageConfig : ConfigBase<int, PriorLanguageConfig> +{ + + public int Key; + public string Content; + + 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 Key); + + Content = tables[1]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/RealmConfig.cs b/Main/Config/Configs/RealmConfig.cs index 03e53c1..a243ba4 100644 --- a/Main/Config/Configs/RealmConfig.cs +++ b/Main/Config/Configs/RealmConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/RealmLVUPTaskConfig.cs b/Main/Config/Configs/RealmLVUPTaskConfig.cs index f259861..8714416 100644 --- a/Main/Config/Configs/RealmLVUPTaskConfig.cs +++ b/Main/Config/Configs/RealmLVUPTaskConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/RichTextMsgReplaceConfig.cs b/Main/Config/Configs/RichTextMsgReplaceConfig.cs index 07e786f..b91c60d 100644 --- a/Main/Config/Configs/RichTextMsgReplaceConfig.cs +++ b/Main/Config/Configs/RichTextMsgReplaceConfig.cs @@ -1,44 +1,42 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class RichTextMsgReplaceConfig : ConfigBase<int, RichTextMsgReplaceConfig> -{ - - public int id; - public string Identification; - public int Number; - public string Content; - - 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 id); - - Identification = tables[1]; - - int.TryParse(tables[2],out Number); - - Content = tables[3]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class RichTextMsgReplaceConfig : ConfigBase<int, RichTextMsgReplaceConfig> +{ + + public int id; + public string Identification; + public int Number; + public string Content; + + 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 id); + + Identification = tables[1]; + + int.TryParse(tables[2],out Number); + + Content = tables[3]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/RuleConfig.cs b/Main/Config/Configs/RuleConfig.cs index eedd912..510c7e2 100644 --- a/Main/Config/Configs/RuleConfig.cs +++ b/Main/Config/Configs/RuleConfig.cs @@ -1,41 +1,39 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class RuleConfig : ConfigBase<int, RuleConfig> -{ - - public int ID; - public string Title; - public string Description; - - 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 ID); - - Title = tables[1]; - - Description = tables[2]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class RuleConfig : ConfigBase<int, RuleConfig> +{ + + public int ID; + public string Title; + public string Description; + + 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 ID); + + Title = tables[1]; + + Description = tables[2]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/SkillConfig.cs b/Main/Config/Configs/SkillConfig.cs index 55ed3e4..16bee66 100644 --- a/Main/Config/Configs/SkillConfig.cs +++ b/Main/Config/Configs/SkillConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: 2025骞�7鏈�28鏃� +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; @@ -15,42 +13,85 @@ public int SkillID; public string SkillName; - public string Description; - public string IconName; + public int SkillTypeID; + public int SkillLV; + public int SkillMaxLV; + public int UseType; public int FuncType; + public int CastTime; public int SkillType; public int HurtType; + public int ContinueUse; public int AtkType; - public int TagAim; - public int LastTime; + public int AtkRadius; + public int Tag; + public int AtkDist; + public int StiffTime; public int CoolDownTime; - public int EffectID1; - public int[] EffectValues1; - public int EffectID2; - public int[] EffectValues2; - public int EffectID3; - public int[] EffectValues3; - public int ConnSkill; - public int[] EnhanceSkillList; + public int MP; + public int HP; + public int XP; + public int UseItemID; + public int UseItemCount; + public int Effect1; + public int EffectValue11; + public int EffectValue12; + public int EffectValue13; + public int Effect2; + public int EffectValue21; + public int EffectValue22; + public int EffectValue23; + public int Effect3; + public int EffectValue31; + public int EffectValue32; + public int EffectValue33; + public int Effect4; + public int EffectValue41; + public int EffectValue42; + public int EffectValue43; + public int Effect5; + public int EffectValue51; + public int EffectValue52; + public int EffectValue53; + public int Effect6; + public int EffectValue61; + public int EffectValue62; + public int EffectValue63; + public int HappenRate6; + public int LastTime6; + public int SkillEnhance1; + public int SkillEnhance2; + public int StateSkillLV; + public int LearnSkillReq; + public int LearnSkillLV; + public int LearnLVReq; + public int LearnSkillPointReq; public int FightPower; - public int StartupFrames; - public int ActiveFrames; - public int RecoveryFrames; - public int LoopCount; + public int LVUpCostMoneyType; + public int LVUpCostMoney; + public int LVUpCostExp; + public int ClientActionLimit; + public int ClientSkillSeriesLimit; + public int SkillOfSeries; + public int ExpendMPRate; + public int ExAttr1; + public int ExAttr3; + public int ExAttr4; + public int ExAttr5; + public int BuffEffectID; + public int EffectName; + public string IconName; + public string Description; + public string BuffDescription; + public int BuffDisplay; public int CastPosition; - public int CastIndexNum; - public float CastDistance; + public int CastDistance; + public int[] TriggerFrames; public int[][] DamageDivide; - public int BulletEffectId; - public int BulletPos; - public int BulletPath; - public int BulletFlyTime; - public int ExplosionEffectId; - public int ExplosionPos; public string SkillMotionName; public int EffectId; - public int EffectPos; - public int EffectType; + public int ExplotionEffectId; + public float FlyTime; public override int LoadKey(string _key) { @@ -66,125 +107,175 @@ SkillName = tables[1]; - Description = tables[2]; + int.TryParse(tables[2],out SkillTypeID); - IconName = tables[3]; + int.TryParse(tables[3],out SkillLV); - int.TryParse(tables[4],out FuncType); + int.TryParse(tables[4],out SkillMaxLV); - int.TryParse(tables[5],out SkillType); + int.TryParse(tables[5],out UseType); - int.TryParse(tables[6],out HurtType); + int.TryParse(tables[6],out FuncType); - int.TryParse(tables[7],out AtkType); + int.TryParse(tables[7],out CastTime); - int.TryParse(tables[8],out TagAim); + int.TryParse(tables[8],out SkillType); - int.TryParse(tables[9],out LastTime); + int.TryParse(tables[9],out HurtType); - int.TryParse(tables[10],out CoolDownTime); + int.TryParse(tables[10],out ContinueUse); - int.TryParse(tables[11],out EffectID1); + int.TryParse(tables[11],out AtkType); - if (tables[12].Contains("[")) + int.TryParse(tables[12],out AtkRadius); + + int.TryParse(tables[13],out Tag); + + int.TryParse(tables[14],out AtkDist); + + int.TryParse(tables[15],out StiffTime); + + int.TryParse(tables[16],out CoolDownTime); + + int.TryParse(tables[17],out MP); + + int.TryParse(tables[18],out HP); + + int.TryParse(tables[19],out XP); + + int.TryParse(tables[20],out UseItemID); + + int.TryParse(tables[21],out UseItemCount); + + int.TryParse(tables[22],out Effect1); + + int.TryParse(tables[23],out EffectValue11); + + int.TryParse(tables[24],out EffectValue12); + + int.TryParse(tables[25],out EffectValue13); + + int.TryParse(tables[26],out Effect2); + + int.TryParse(tables[27],out EffectValue21); + + int.TryParse(tables[28],out EffectValue22); + + int.TryParse(tables[29],out EffectValue23); + + int.TryParse(tables[30],out Effect3); + + int.TryParse(tables[31],out EffectValue31); + + int.TryParse(tables[32],out EffectValue32); + + int.TryParse(tables[33],out EffectValue33); + + int.TryParse(tables[34],out Effect4); + + int.TryParse(tables[35],out EffectValue41); + + int.TryParse(tables[36],out EffectValue42); + + int.TryParse(tables[37],out EffectValue43); + + int.TryParse(tables[38],out Effect5); + + int.TryParse(tables[39],out EffectValue51); + + int.TryParse(tables[40],out EffectValue52); + + int.TryParse(tables[41],out EffectValue53); + + int.TryParse(tables[42],out Effect6); + + int.TryParse(tables[43],out EffectValue61); + + int.TryParse(tables[44],out EffectValue62); + + int.TryParse(tables[45],out EffectValue63); + + int.TryParse(tables[46],out HappenRate6); + + int.TryParse(tables[47],out LastTime6); + + int.TryParse(tables[48],out SkillEnhance1); + + int.TryParse(tables[49],out SkillEnhance2); + + int.TryParse(tables[50],out StateSkillLV); + + int.TryParse(tables[51],out LearnSkillReq); + + int.TryParse(tables[52],out LearnSkillLV); + + int.TryParse(tables[53],out LearnLVReq); + + int.TryParse(tables[54],out LearnSkillPointReq); + + int.TryParse(tables[55],out FightPower); + + int.TryParse(tables[56],out LVUpCostMoneyType); + + int.TryParse(tables[57],out LVUpCostMoney); + + int.TryParse(tables[58],out LVUpCostExp); + + int.TryParse(tables[59],out ClientActionLimit); + + int.TryParse(tables[60],out ClientSkillSeriesLimit); + + int.TryParse(tables[61],out SkillOfSeries); + + int.TryParse(tables[62],out ExpendMPRate); + + int.TryParse(tables[63],out ExAttr1); + + int.TryParse(tables[64],out ExAttr3); + + int.TryParse(tables[65],out ExAttr4); + + int.TryParse(tables[66],out ExAttr5); + + int.TryParse(tables[67],out BuffEffectID); + + int.TryParse(tables[68],out EffectName); + + IconName = tables[69]; + + Description = tables[70]; + + BuffDescription = tables[71]; + + int.TryParse(tables[72],out BuffDisplay); + + int.TryParse(tables[73],out CastPosition); + + int.TryParse(tables[74],out CastDistance); + + if (tables[75].Contains("[")) { - EffectValues1 = JsonMapper.ToObject<int[]>(tables[12]); + TriggerFrames = JsonMapper.ToObject<int[]>(tables[75]); } else { - string[] EffectValues1StringArray = tables[12].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); - EffectValues1 = new int[EffectValues1StringArray.Length]; - for (int i=0;i<EffectValues1StringArray.Length;i++) + string[] TriggerFramesStringArray = tables[75].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); + TriggerFrames = new int[TriggerFramesStringArray.Length]; + for (int i=0;i<TriggerFramesStringArray.Length;i++) { - int.TryParse(EffectValues1StringArray[i],out EffectValues1[i]); + int.TryParse(TriggerFramesStringArray[i],out TriggerFrames[i]); } } - int.TryParse(tables[13],out EffectID2); + DamageDivide = JsonMapper.ToObject<int[][]>(tables[76].Replace("(", "[").Replace(")", "]")); - if (tables[14].Contains("[")) - { - EffectValues2 = JsonMapper.ToObject<int[]>(tables[14]); - } - else - { - string[] EffectValues2StringArray = tables[14].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); - EffectValues2 = new int[EffectValues2StringArray.Length]; - for (int i=0;i<EffectValues2StringArray.Length;i++) - { - int.TryParse(EffectValues2StringArray[i],out EffectValues2[i]); - } - } + SkillMotionName = tables[77]; - int.TryParse(tables[15],out EffectID3); + int.TryParse(tables[78],out EffectId); - if (tables[16].Contains("[")) - { - EffectValues3 = JsonMapper.ToObject<int[]>(tables[16]); - } - else - { - string[] EffectValues3StringArray = tables[16].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); - EffectValues3 = new int[EffectValues3StringArray.Length]; - for (int i=0;i<EffectValues3StringArray.Length;i++) - { - int.TryParse(EffectValues3StringArray[i],out EffectValues3[i]); - } - } + int.TryParse(tables[79],out ExplotionEffectId); - int.TryParse(tables[17],out ConnSkill); - - if (tables[18].Contains("[")) - { - EnhanceSkillList = JsonMapper.ToObject<int[]>(tables[18]); - } - else - { - string[] EnhanceSkillListStringArray = tables[18].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); - EnhanceSkillList = new int[EnhanceSkillListStringArray.Length]; - for (int i=0;i<EnhanceSkillListStringArray.Length;i++) - { - int.TryParse(EnhanceSkillListStringArray[i],out EnhanceSkillList[i]); - } - } - - int.TryParse(tables[19],out FightPower); - - int.TryParse(tables[20],out StartupFrames); - - int.TryParse(tables[21],out ActiveFrames); - - int.TryParse(tables[22],out RecoveryFrames); - - int.TryParse(tables[23],out LoopCount); - - int.TryParse(tables[24],out CastPosition); - - int.TryParse(tables[25],out CastIndexNum); - - float.TryParse(tables[26],out CastDistance); - - DamageDivide = JsonMapper.ToObject<int[][]>(tables[27].Replace("(", "[").Replace(")", "]")); - - int.TryParse(tables[28],out BulletEffectId); - - int.TryParse(tables[29],out BulletPos); - - int.TryParse(tables[30],out BulletPath); - - int.TryParse(tables[31],out BulletFlyTime); - - int.TryParse(tables[32],out ExplosionEffectId); - - int.TryParse(tables[33],out ExplosionPos); - - SkillMotionName = tables[34]; - - int.TryParse(tables[35],out EffectId); - - int.TryParse(tables[36],out EffectPos); - - int.TryParse(tables[37],out EffectType); + float.TryParse(tables[80],out FlyTime); } catch (Exception exception) { diff --git a/Main/Config/Configs/StoreConfig.cs b/Main/Config/Configs/StoreConfig.cs index a56dd90..492a15d 100644 --- a/Main/Config/Configs/StoreConfig.cs +++ b/Main/Config/Configs/StoreConfig.cs @@ -1,56 +1,54 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class StoreConfig : ConfigBase<int, StoreConfig> -{ - - public int ID; - public int ShopType; - public int[] SecondType; - public int ShopSort; - public int ItemID; - public int ItemCnt; - public int IsBind; - public string ItemListEx; - public int MainItemID; - public string JobItem; - public int RefreshType; - public int[] VIPLV; - public int LV; - public int LVSee; - public int[] GoumaiNumber; - public int MoneyType; - public int MoneyNumber; - public int MoneyOriginal; - public int LimitValue; - public string SalesStatus; - public int TheOnlyShop; - public int RemindSuccess; - public int IsHideSellOut; - - 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 ID); - - int.TryParse(tables[1],out ShopType); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class StoreConfig : ConfigBase<int, StoreConfig> +{ + + public int ID; + public int ShopType; + public int[] SecondType; + public int ShopSort; + public int ItemID; + public int ItemCnt; + public int IsBind; + public string ItemListEx; + public int MainItemID; + public string JobItem; + public int RefreshType; + public int[] VIPLV; + public int LV; + public int LVSee; + public int[] GoumaiNumber; + public int MoneyType; + public int MoneyNumber; + public int MoneyOriginal; + public int LimitValue; + public string SalesStatus; + public int TheOnlyShop; + public int RemindSuccess; + public int IsHideSellOut; + + 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 ID); + + int.TryParse(tables[1],out ShopType); + if (tables[2].Contains("[")) { SecondType = JsonMapper.ToObject<int[]>(tables[2]); @@ -63,24 +61,24 @@ { int.TryParse(SecondTypeStringArray[i],out SecondType[i]); } - } - - int.TryParse(tables[3],out ShopSort); - - int.TryParse(tables[4],out ItemID); - - int.TryParse(tables[5],out ItemCnt); - - int.TryParse(tables[6],out IsBind); - - ItemListEx = tables[7]; - - int.TryParse(tables[8],out MainItemID); - - JobItem = tables[9]; - - int.TryParse(tables[10],out RefreshType); - + } + + int.TryParse(tables[3],out ShopSort); + + int.TryParse(tables[4],out ItemID); + + int.TryParse(tables[5],out ItemCnt); + + int.TryParse(tables[6],out IsBind); + + ItemListEx = tables[7]; + + int.TryParse(tables[8],out MainItemID); + + JobItem = tables[9]; + + int.TryParse(tables[10],out RefreshType); + if (tables[11].Contains("[")) { VIPLV = JsonMapper.ToObject<int[]>(tables[11]); @@ -93,12 +91,12 @@ { int.TryParse(VIPLVStringArray[i],out VIPLV[i]); } - } - - int.TryParse(tables[12],out LV); - - int.TryParse(tables[13],out LVSee); - + } + + int.TryParse(tables[12],out LV); + + int.TryParse(tables[13],out LVSee); + if (tables[14].Contains("[")) { GoumaiNumber = JsonMapper.ToObject<int[]>(tables[14]); @@ -111,27 +109,27 @@ { int.TryParse(GoumaiNumberStringArray[i],out GoumaiNumber[i]); } - } - - int.TryParse(tables[15],out MoneyType); - - int.TryParse(tables[16],out MoneyNumber); - - int.TryParse(tables[17],out MoneyOriginal); - - int.TryParse(tables[18],out LimitValue); - - SalesStatus = tables[19]; - - int.TryParse(tables[20],out TheOnlyShop); - - int.TryParse(tables[21],out RemindSuccess); - - int.TryParse(tables[22],out IsHideSellOut); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + + int.TryParse(tables[15],out MoneyType); + + int.TryParse(tables[16],out MoneyNumber); + + int.TryParse(tables[17],out MoneyOriginal); + + int.TryParse(tables[18],out LimitValue); + + SalesStatus = tables[19]; + + int.TryParse(tables[20],out TheOnlyShop); + + int.TryParse(tables[21],out RemindSuccess); + + int.TryParse(tables[22],out IsHideSellOut); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/SuccessConfig.cs b/Main/Config/Configs/SuccessConfig.cs index 1c10cd5..c451533 100644 --- a/Main/Config/Configs/SuccessConfig.cs +++ b/Main/Config/Configs/SuccessConfig.cs @@ -1,57 +1,55 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class SuccessConfig : ConfigBase<int, SuccessConfig> -{ - - public int ID; - public int Type; - public int Group; - public int NeedCnt; - public int[] Condition; - public string Condition2; - public int Condition3; - public string AwardItemList; - public string AwardItemList2; - public string Money; - public int Exp; - public int[] AwardAttribute; - public int RedPacketID; - public int MagicWeaponID; - public string MagicWeaponExp; - public string Describe; - public int NeedGoto; - public int Jump; - public int ReOrder; - public int RealmPracticeID; - - 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 ID); - - int.TryParse(tables[1],out Type); - - int.TryParse(tables[2],out Group); - - int.TryParse(tables[3],out NeedCnt); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class SuccessConfig : ConfigBase<int, SuccessConfig> +{ + + public int ID; + public int Type; + public int Group; + public int NeedCnt; + public int[] Condition; + public string Condition2; + public int Condition3; + public string AwardItemList; + public string AwardItemList2; + public string Money; + public int Exp; + public int[] AwardAttribute; + public int RedPacketID; + public int MagicWeaponID; + public string MagicWeaponExp; + public string Describe; + public int NeedGoto; + public int Jump; + public int ReOrder; + public int RealmPracticeID; + + 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 ID); + + int.TryParse(tables[1],out Type); + + int.TryParse(tables[2],out Group); + + int.TryParse(tables[3],out NeedCnt); + if (tables[4].Contains("[")) { Condition = JsonMapper.ToObject<int[]>(tables[4]); @@ -64,20 +62,20 @@ { int.TryParse(ConditionStringArray[i],out Condition[i]); } - } - - Condition2 = tables[5]; - - int.TryParse(tables[6],out Condition3); - - AwardItemList = tables[7]; - - AwardItemList2 = tables[8]; - - Money = tables[9]; - - int.TryParse(tables[10],out Exp); - + } + + Condition2 = tables[5]; + + int.TryParse(tables[6],out Condition3); + + AwardItemList = tables[7]; + + AwardItemList2 = tables[8]; + + Money = tables[9]; + + int.TryParse(tables[10],out Exp); + if (tables[11].Contains("[")) { AwardAttribute = JsonMapper.ToObject<int[]>(tables[11]); @@ -90,27 +88,27 @@ { int.TryParse(AwardAttributeStringArray[i],out AwardAttribute[i]); } - } - - int.TryParse(tables[12],out RedPacketID); - - int.TryParse(tables[13],out MagicWeaponID); - - MagicWeaponExp = tables[14]; - - Describe = tables[15]; - - int.TryParse(tables[16],out NeedGoto); - - int.TryParse(tables[17],out Jump); - - int.TryParse(tables[18],out ReOrder); - - int.TryParse(tables[19],out RealmPracticeID); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + + int.TryParse(tables[12],out RedPacketID); + + int.TryParse(tables[13],out MagicWeaponID); + + MagicWeaponExp = tables[14]; + + Describe = tables[15]; + + int.TryParse(tables[16],out NeedGoto); + + int.TryParse(tables[17],out Jump); + + int.TryParse(tables[18],out ReOrder); + + int.TryParse(tables[19],out RealmPracticeID); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/SysInfoConfig.cs b/Main/Config/Configs/SysInfoConfig.cs index db52954..284a123 100644 --- a/Main/Config/Configs/SysInfoConfig.cs +++ b/Main/Config/Configs/SysInfoConfig.cs @@ -1,41 +1,39 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class SysInfoConfig : ConfigBase<string, SysInfoConfig> -{ - - public string key; - public string sound; - public string effect; - public int[] type; - public string richText; - public int order; - - public override string LoadKey(string _key) - { - string key = GetKey(_key); - return key; - } - - public override void LoadConfig(string input) - { - try { - string[] tables = input.Split('\t'); - key = tables[0]; - - sound = tables[1]; - - effect = tables[2]; - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class SysInfoConfig : ConfigBase<string, SysInfoConfig> +{ + + public string key; + public string sound; + public string effect; + public int[] type; + public string richText; + public int order; + + public override string LoadKey(string _key) + { + string key = GetKey(_key); + return key; + } + + public override void LoadConfig(string input) + { + try { + string[] tables = input.Split('\t'); + key = tables[0]; + + sound = tables[1]; + + effect = tables[2]; + if (tables[3].Contains("[")) { type = JsonMapper.ToObject<int[]>(tables[3]); @@ -48,15 +46,15 @@ { int.TryParse(typeStringArray[i],out type[i]); } - } - - richText = tables[4]; - - int.TryParse(tables[5],out order); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + + richText = tables[4]; + + int.TryParse(tables[5],out order); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/TaskConfig.cs b/Main/Config/Configs/TaskConfig.cs index e2d2fea..be979cd 100644 --- a/Main/Config/Configs/TaskConfig.cs +++ b/Main/Config/Configs/TaskConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/TitleStarUpConfig.cs b/Main/Config/Configs/TitleStarUpConfig.cs index 4e345d9..2189cf3 100644 --- a/Main/Config/Configs/TitleStarUpConfig.cs +++ b/Main/Config/Configs/TitleStarUpConfig.cs @@ -1,43 +1,41 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class TitleStarUpConfig : ConfigBase<int, TitleStarUpConfig> -{ - - public int id; - public int TitleID; - public int TitleStar; - public int[][] StarUpNeedItemList; - public int[] StarAttrType; - public int[] StarAttrValue; - - 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 id); - - int.TryParse(tables[1],out TitleID); - - int.TryParse(tables[2],out TitleStar); - - StarUpNeedItemList = JsonMapper.ToObject<int[][]>(tables[3].Replace("(", "[").Replace(")", "]")); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class TitleStarUpConfig : ConfigBase<int, TitleStarUpConfig> +{ + + public int id; + public int TitleID; + public int TitleStar; + public int[][] StarUpNeedItemList; + public int[] StarAttrType; + public int[] StarAttrValue; + + 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 id); + + int.TryParse(tables[1],out TitleID); + + int.TryParse(tables[2],out TitleStar); + + StarUpNeedItemList = JsonMapper.ToObject<int[][]>(tables[3].Replace("(", "[").Replace(")", "]")); + if (tables[4].Contains("[")) { StarAttrType = JsonMapper.ToObject<int[]>(tables[4]); @@ -50,8 +48,8 @@ { int.TryParse(StarAttrTypeStringArray[i],out StarAttrType[i]); } - } - + } + if (tables[5].Contains("[")) { StarAttrValue = JsonMapper.ToObject<int[]>(tables[5]); @@ -64,11 +62,11 @@ { int.TryParse(StarAttrValueStringArray[i],out StarAttrValue[i]); } - } - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/TreasureCntAwardConfig.cs b/Main/Config/Configs/TreasureCntAwardConfig.cs index 0bb6253..e277cfc 100644 --- a/Main/Config/Configs/TreasureCntAwardConfig.cs +++ b/Main/Config/Configs/TreasureCntAwardConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/TreasureItemLibConfig.cs b/Main/Config/Configs/TreasureItemLibConfig.cs index 1a7d4f8..4f593bf 100644 --- a/Main/Config/Configs/TreasureItemLibConfig.cs +++ b/Main/Config/Configs/TreasureItemLibConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/TreasureSetConfig.cs b/Main/Config/Configs/TreasureSetConfig.cs index f3b4f19..44cc274 100644 --- a/Main/Config/Configs/TreasureSetConfig.cs +++ b/Main/Config/Configs/TreasureSetConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/TreeLVConfig.cs b/Main/Config/Configs/TreeLVConfig.cs index 052e8d4..b0b246c 100644 --- a/Main/Config/Configs/TreeLVConfig.cs +++ b/Main/Config/Configs/TreeLVConfig.cs @@ -1,40 +1,38 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: 2025骞�7鏈�7鏃� -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class TreeLVConfig : ConfigBase<int, TreeLVConfig> -{ - - public int TreeLV; - public int LVUPNeedMoney; - public int LVUPNeedTime; - public int[] EquipColorRateList; - public string ExAwardItemRateList; - - 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 TreeLV); - - int.TryParse(tables[1],out LVUPNeedMoney); - - int.TryParse(tables[2],out LVUPNeedTime); - +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class TreeLVConfig : ConfigBase<int, TreeLVConfig> +{ + + public int TreeLV; + public int LVUPNeedMoney; + public int LVUPNeedTime; + public int[] EquipColorRateList; + public string ExAwardItemRateList; + + 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 TreeLV); + + int.TryParse(tables[1],out LVUPNeedMoney); + + int.TryParse(tables[2],out LVUPNeedTime); + if (tables[3].Contains("[")) { EquipColorRateList = JsonMapper.ToObject<int[]>(tables[3]); @@ -47,13 +45,13 @@ { int.TryParse(EquipColorRateListStringArray[i],out EquipColorRateList[i]); } - } - - ExAwardItemRateList = tables[4]; - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} + } + + ExAwardItemRateList = tables[4]; + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/Configs/XBGetItemConfig.cs b/Main/Config/Configs/XBGetItemConfig.cs index db4d028..f84c221 100644 --- a/Main/Config/Configs/XBGetItemConfig.cs +++ b/Main/Config/Configs/XBGetItemConfig.cs @@ -1,11 +1,9 @@ 锘�//-------------------------------------------------------- // [Author]: YYL -// [ Date ]: Friday, June 27, 2025 +// [ Date ]: 2025骞�7鏈�26鏃� //-------------------------------------------------------- using System.Collections.Generic; -using System.IO; -using System.Threading; using System; using UnityEngine; using LitJson; diff --git a/Main/Config/Configs/priorbundleConfig.cs b/Main/Config/Configs/priorbundleConfig.cs index 326426a..98b8540 100644 --- a/Main/Config/Configs/priorbundleConfig.cs +++ b/Main/Config/Configs/priorbundleConfig.cs @@ -1,47 +1,45 @@ -锘�//-------------------------------------------------------- -// [Author]: YYL -// [ Date ]: Friday, June 27, 2025 -//-------------------------------------------------------- - -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System; -using UnityEngine; -using LitJson; - -public partial class priorbundleConfig : ConfigBase<int, priorbundleConfig> -{ - - public int id; - public string AssetABName; - public int AssetType; - public int Prior; - public int mapId; - - 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 id); - - AssetABName = tables[1]; - - int.TryParse(tables[2],out AssetType); - - int.TryParse(tables[3],out Prior); - - int.TryParse(tables[4],out mapId); - } - catch (Exception exception) - { - Debug.LogError(exception); - } - } -} +锘�//-------------------------------------------------------- +// [Author]: YYL +// [ Date ]: 2025骞�7鏈�26鏃� +//-------------------------------------------------------- + +using System.Collections.Generic; +using System; +using UnityEngine; +using LitJson; + +public partial class priorbundleConfig : ConfigBase<int, priorbundleConfig> +{ + + public int id; + public string AssetABName; + public int AssetType; + public int Prior; + public int mapId; + + 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 id); + + AssetABName = tables[1]; + + int.TryParse(tables[2],out AssetType); + + int.TryParse(tables[3],out Prior); + + int.TryParse(tables[4],out mapId); + } + catch (Exception exception) + { + Debug.LogError(exception); + } + } +} diff --git a/Main/Config/PartialConfigs/HeroLineupHaloConfig.cs b/Main/Config/PartialConfigs/HeroLineupHaloConfig.cs new file mode 100644 index 0000000..832b17e --- /dev/null +++ b/Main/Config/PartialConfigs/HeroLineupHaloConfig.cs @@ -0,0 +1,35 @@ +using System.Collections.Generic; +using UnityEngine; + +public partial class HeroLineupHaloConfig : ConfigBase<int, HeroLineupHaloConfig> +{ + // 鍥藉 鏁伴噺 + public static Dictionary<int, Dictionary<int, HeroLineupHaloConfig>> configDics = new Dictionary<int, Dictionary<int, HeroLineupHaloConfig>>(); + + protected override void OnConfigParseCompleted() + { + + Dictionary<int, HeroLineupHaloConfig> tempDic = null; + if (!configDics.TryGetValue(Country, out tempDic)) + { + tempDic = new Dictionary<int, HeroLineupHaloConfig>(); + configDics.Add(Country, tempDic); + } + + tempDic[NeedHeroCount] = this; + } + + public static HeroLineupHaloConfig GetConfig(int country, int count) + { + if (!configDics.ContainsKey(country)) + { + return null; + } + if (!configDics[country].ContainsKey(count)) + { + return null; + } + return configDics[country][count]; + } + +} \ No newline at end of file diff --git a/Main/Utility/GameObjectPool.cs.meta b/Main/Config/PartialConfigs/HeroLineupHaloConfig.cs.meta similarity index 68% copy from Main/Utility/GameObjectPool.cs.meta copy to Main/Config/PartialConfigs/HeroLineupHaloConfig.cs.meta index 7153f8c..80c953a 100644 --- a/Main/Utility/GameObjectPool.cs.meta +++ b/Main/Config/PartialConfigs/HeroLineupHaloConfig.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 99e41fbb2b3832c41b1575b72c946cca -timeCreated: 1504310243 -licenseType: Pro +guid: 7c4414e0cc0a8594a86f1c6dda522acb MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Main/Config/PartialConfigs/PlayerPropertyConfig.cs b/Main/Config/PartialConfigs/PlayerPropertyConfig.cs index 722d71e..2ba9d12 100644 --- a/Main/Config/PartialConfigs/PlayerPropertyConfig.cs +++ b/Main/Config/PartialConfigs/PlayerPropertyConfig.cs @@ -9,7 +9,7 @@ private static Dictionary<int, List<int>> outputDict = new Dictionary<int, List<int>>(); public static int[] baseAttrs = { 6, 7, 8 }; //鏀婚槻琛� - + public static int[] basePerAttrs = { 16, 17, 18 }; //鏀婚槻琛� 鐧惧垎姣� protected override void OnConfigParseCompleted() { List<PlayerPropertyConfig> list = null; diff --git a/Main/Core/ResModule/GameObjectPoolManager.cs b/Main/Core/ResModule/GameObjectPoolManager.cs index eb3a521..5214318 100644 --- a/Main/Core/ResModule/GameObjectPoolManager.cs +++ b/Main/Core/ResModule/GameObjectPoolManager.cs @@ -1,20 +1,106 @@ -锘縰sing System.Collections.Generic; +using System.Collections.Generic; using UnityEngine; using System; - +using Cysharp.Threading.Tasks; public class GameObjectPoolManager : SingletonMonobehaviour<GameObjectPoolManager> { #if UNITY_EDITOR - private Dictionary<int, DebugItem> m_DebugInstIDDict = null; + private bool m_ShowDebugPanel = false; + private Vector2 m_ScrollPosition = Vector2.zero; + + private void OnGUI() + { + if (!m_ShowDebugPanel) return; + + GUILayout.BeginArea(new Rect(10, 10, 400, 600)); + GUILayout.BeginVertical("Box"); + m_ScrollPosition = GUILayout.BeginScrollView(m_ScrollPosition, GUILayout.Width(380), GUILayout.Height(580)); + + GUILayout.Label("瀵硅薄姹犺皟璇曢潰鏉�", GUILayout.Height(30)); + GUILayout.Space(10); + + foreach (var poolEntry in m_PoolDict) + { + int prefabInstanceId = poolEntry.Key; + GameObjectPool pool = poolEntry.Value; + + GUILayout.BeginVertical("Box"); + GUILayout.Label($"姹犲悕绉�: {pool.Prefab.name}"); + GUILayout.Label($"娲昏穬瀵硅薄鏁�: {pool.m_ActiveHashSet.Count}"); + GUILayout.Label($"绌洪棽瀵硅薄鏁�: {pool.m_FreeQueue.Count}"); + int count = m_PoolUsageFrequency.TryGetValue(prefabInstanceId, out int frequency) ? frequency : 0; + GUILayout.Label($"浣跨敤棰戠巼: {count}"); + GUILayout.EndVertical(); + GUILayout.Space(5); + } + + GUILayout.EndScrollView(); + GUILayout.EndVertical(); + GUILayout.EndArea(); + } + + [UnityEditor.MenuItem("Tools/瀵硅薄姹�/鏄剧ず璋冭瘯闈㈡澘")] + private static void ToggleDebugPanel() + { + if (Instance != null) + { + Instance.m_ShowDebugPanel = !Instance.m_ShowDebugPanel; + } + } #endif + // 姹犵粺璁℃暟鎹� + public Dictionary<int, PoolStats> PoolStatistics { get; private set; } = new Dictionary<int, PoolStats>(); + + public class PoolStats + { + public int TotalObjects { get; set; } + public int ActiveObjects { get; set; } + public int FreeObjects { get; set; } + public int UsageFrequency { get; set; } + } + + // 鏇存柊姹犵粺璁℃暟鎹� + private void UpdatePoolStats() + { + if (m_PoolDict == null) + return; + + foreach (var poolEntry in m_PoolDict) + { + int prefabInstanceId = poolEntry.Key; + GameObjectPool pool = poolEntry.Value; + + if (!PoolStatistics.ContainsKey(prefabInstanceId)) + { + PoolStatistics[prefabInstanceId] = new PoolStats(); + } + + PoolStats stats = PoolStatistics[prefabInstanceId]; + stats.TotalObjects = pool.m_ActiveHashSet.Count + pool.m_FreeQueue.Count; + stats.ActiveObjects = pool.m_ActiveHashSet.Count; + stats.FreeObjects = pool.m_FreeQueue.Count; + stats.UsageFrequency = m_PoolUsageFrequency.TryGetValue(prefabInstanceId, out int frequency) ? frequency : 0; + } + } + + private Dictionary<int, GameObjectPool> m_PoolDict = null; // 涓嶉渶瑕侀攢姣佺殑瀵硅薄鍒楄〃 private List<int> dontDestoryGoInstIDList = null; private Transform m_TargetContainer; + + // 瀹氭湡妫�鏌ユ睜鐨勬椂闂撮棿闅旓紙绉掞級 + private float m_PoolCheckInterval = 600f; + + // 璁板綍姣忎釜姹犵殑浣跨敤棰戠巼 + private Dictionary<int, int> m_PoolUsageFrequency = new Dictionary<int, int>(); + + //闇�瑕佸姩鎬佸嵏杞界殑棰勫埗浣擄紝渚嬪鍒囨崲鍦烘櫙鏃� + public List<GameObject> needDestroyPrefabList = new List<GameObject>(); public void Initialize() { @@ -34,12 +120,40 @@ dontDestoryGoInstIDList = new List<int>(); } -#if UNITY_EDITOR - if (m_DebugInstIDDict == null) + // 鍚姩瀹氭湡妫�鏌ユ睜鐨勫崗绋� + CheckPoolUsage(); + } + + private async UniTask CheckPoolUsage() + { + while (true) { - m_DebugInstIDDict = new Dictionary<int, DebugItem>(); + await UniTask.Delay(TimeSpan.FromSeconds(m_PoolCheckInterval)); + + foreach (var poolEntry in m_PoolDict) + { + int prefabInstanceId = poolEntry.Key; + GameObjectPool pool = poolEntry.Value; + + // 濡傛灉姹犵殑浣跨敤棰戠巼浣庝簬闃堝�硷紝鍑忓皯姹犵殑澶у皬 + if (m_PoolUsageFrequency.TryGetValue(prefabInstanceId, out int usageCount) && usageCount < 5) + { + // 淇濈暀鑷冲皯涓�涓璞★紝閬垮厤棰戠箒鍒涘缓鍜岄攢姣� + int targetSize = Mathf.Max(1, pool.m_FreeQueue.Count / 2); + while (pool.m_FreeQueue.Count > targetSize) + { + GameObject obj = pool.m_FreeQueue.Dequeue(); + if (!dontDestoryGoInstIDList.Contains(obj.GetInstanceID())) + { + Destroy(obj); + } + } + } + + // 閲嶇疆浣跨敤棰戠巼 + m_PoolUsageFrequency[prefabInstanceId] = 0; + } } -#endif } public void AddDontDestroyGoInstID(int id) @@ -65,12 +179,26 @@ return false; } + /// <summary> + /// 浼犲叆鐨勪负棰勫埗浣擄紝鑰岄潪缁勪欢锛屽惁鍒欎細瀵艰嚧GetInstanceID绠$悊娣蜂贡锛屾瘡娆″疄渚嬪寲閮戒細鏀瑰彉 + /// </summary> + /// <param name="prefab"></param> + /// <returns></returns> public GameObjectPool RequestPool(GameObject prefab) { if (prefab == null) { return null; } + +#if UNITY_EDITOR + if (UnityEditor.PrefabUtility.GetPrefabAssetType(prefab) == UnityEditor.PrefabAssetType.NotAPrefab) + { + Debug.LogError($"{prefab.name}涓嶆槸涓�涓鍒朵綋锛�"); + return null; + } +#endif + int _prefabInstanceId = prefab.GetInstanceID(); @@ -105,20 +233,28 @@ return null; } +#if UNITY_EDITOR + if (UnityEditor.PrefabUtility.GetPrefabAssetType(prefab) == UnityEditor.PrefabAssetType.NotAPrefab) + { + Debug.LogError($"{prefab.name}涓嶆槸涓�涓鍒朵綋锛�"); + return null; + } +#endif return RequestPool(prefab).Request(); } + //鐗瑰畾鎯呭喌涓嬮渶瑕佸姩鎬佸嵏杞界殑锛屽鍒囨崲鍦烘櫙鏃� public void UnLoadAll(bool force = false) { List<int> _removeList = new List<int>(); foreach (var _pool in m_PoolDict.Values) { - // if (GAMgr.Instance.needDestroyPrefabList.Contains(_pool.Prefab)) - // { + if (needDestroyPrefabList.Contains(_pool.Prefab)) + { _pool.Clear(); _removeList.Add(_pool.PrefabInstanceId); - // } + } } for (int i = 0; i < _removeList.Count; ++i) @@ -137,20 +273,19 @@ return m_Prefab; } } + + //棰勫埗浣撳疄渚媔d锛岀敤浜庢绱㈡睜 public int PrefabInstanceId { get; private set; } - public List<GameObject> m_ActiveList = null; - private List<GameObject> m_FreeList = null; + public HashSet<GameObject> m_ActiveHashSet = new HashSet<GameObject>(); + public Queue<GameObject> m_FreeQueue = null; + private int Pool_FreeList_Warning_Threshold = 10; //褰撶┖闂插璞¢珮浜庢鍊兼椂锛屼細杩涜鏃ュ織杈撳嚭鎻愰啋 Action<GameObject> releaseCallBack; -#if UNITY_EDITOR && !UNITY_ANDROID && !UNITY_IOS - private Transform m_DebugContainer; - private Transform m_DebugActive; - private Transform m_DebugFree; -#endif + public string assetBundleName; public string assetName; @@ -159,17 +294,9 @@ { m_Prefab = prefab; PrefabInstanceId = m_Prefab.GetInstanceID(); - m_ActiveList = new List<GameObject>(); - m_FreeList = new List<GameObject>(); + m_ActiveHashSet = new HashSet<GameObject>(); + m_FreeQueue = new Queue<GameObject>(); -#if UNITY_EDITOR && !UNITY_ANDROID && !UNITY_IOS - m_DebugContainer = new GameObject(prefab.name).transform; - m_DebugActive = new GameObject("Active").transform; - m_DebugFree = new GameObject("Free").transform; - m_DebugActive.SetParent(m_DebugContainer); - m_DebugFree.SetParent(m_DebugContainer); - m_DebugContainer.SetParent(Instance.transform); -#endif } public void AddReleaseListener(Action<GameObject> _callBack) @@ -188,16 +315,17 @@ for (int i = 0; i < count; ++i) { _go = Instantiate(m_Prefab, Constants.Special_Hide_Position, Quaternion.identity); - m_FreeList.Add(_go); + m_FreeQueue.Enqueue(_go); _go.transform.SetParent(Instance.m_TargetContainer); _go.transform.position = Constants.Special_Hide_Position; -#if UNITY_EDITOR && !UNITY_ANDROID && !UNITY_IOS - DebugItem _debugItem = new GameObject(_go.GetInstanceID().ToString()).AddMissingComponent<DebugItem>(); - _debugItem.transform.SetParent(m_DebugFree); - _debugItem.target = _go; - Instance.m_DebugInstIDDict[_go.GetInstanceID()] = _debugItem; +#if UNITY_EDITOR + // 妫�鏌ョ┖闂插垪琛ㄦ暟閲忔槸鍚﹁秴杩囬槇鍊� + if (m_FreeQueue.Count > Pool_FreeList_Warning_Threshold) + { + Debug.LogWarning($"GameObjectPool {m_Prefab.name} 鐨勭┖闂插璞℃暟閲� ({m_FreeQueue.Count}) 瓒呰繃闃堝�� ({Pool_FreeList_Warning_Threshold})锛岃妫�鏌ユ槸鍚﹂渶瑕佹竻鐞嗐��"); + } #endif var animator = _go.GetComponent<Animator>(); if (animator != null) @@ -212,48 +340,41 @@ { GameObject _go = null; - while (m_FreeList.Count > 0) + if (m_FreeQueue.Count > 0) { - if (m_FreeList[0] != null) + _go = m_FreeQueue.Dequeue(); + + m_ActiveHashSet.Add(_go); + + // 缁熻姹犵殑浣跨敤棰戠巼 + if (Instance.m_PoolUsageFrequency.ContainsKey(m_Prefab.GetInstanceID())) { - _go = m_FreeList[0]; - - m_ActiveList.Add(_go); - m_FreeList.RemoveAt(0); - -#if UNITY_EDITOR && !UNITY_ANDROID && !UNITY_IOS - if (Instance.m_DebugInstIDDict.ContainsKey(_go.GetInstanceID())) - { - DebugItem _debugItem = Instance.m_DebugInstIDDict[_go.GetInstanceID()]; - _debugItem.transform.SetParent(m_DebugActive); - } -#endif - break; + Instance.m_PoolUsageFrequency[m_Prefab.GetInstanceID()]++; } else { - m_FreeList.RemoveAt(0); + Instance.m_PoolUsageFrequency[m_Prefab.GetInstanceID()] = 1; } + } + if (_go == null) { _go = Instantiate(m_Prefab, Constants.Special_Hide_Position, Quaternion.identity); - m_ActiveList.Add(_go); + m_ActiveHashSet.Add(_go); -#if UNITY_EDITOR && !UNITY_ANDROID && !UNITY_IOS - DebugItem _debugItem = new GameObject(_go.GetInstanceID().ToString()).AddMissingComponent<DebugItem>(); - _debugItem.transform.SetParent(m_DebugActive); - _debugItem.target = _go; - Instance.m_DebugInstIDDict[_go.GetInstanceID()] = _debugItem; -#endif } _go.transform.SetParent(null); _go.transform.localScale = Vector3.one; + // 鏇存柊姹犵粺璁℃暟鎹� + Instance.UpdatePoolStats(); + return _go; } + public void Release(GameObject go) { @@ -261,24 +382,19 @@ { return; } - if (m_ActiveList.Contains(go)) - { - m_ActiveList.Remove(go); - } - if (m_FreeList.Contains(go)) - { - return; - } + m_ActiveHashSet.Remove(go); - m_FreeList.Add(go); + m_FreeQueue.Enqueue(go); go.transform.SetParent(Instance.m_TargetContainer); + go.transform.position = Constants.Special_Hide_Position; -#if UNITY_EDITOR && !UNITY_ANDROID && !UNITY_IOS - if (Instance.m_DebugInstIDDict.ContainsKey(go.GetInstanceID())) + +#if UNITY_EDITOR + // 妫�鏌ョ┖闂插垪琛ㄦ暟閲忔槸鍚﹁秴杩囬槇鍊� + if (m_FreeQueue.Count > Pool_FreeList_Warning_Threshold) { - DebugItem _debugItem = Instance.m_DebugInstIDDict[go.GetInstanceID()]; - _debugItem.transform.SetParent(m_DebugFree); + Debug.LogWarning($"GameObjectPool {m_Prefab.name} 鐨勭┖闂插璞℃暟閲� ({m_FreeQueue.Count}) 瓒呰繃闃堝�� ({Pool_FreeList_Warning_Threshold})锛岃妫�鏌ユ槸鍚﹂渶瑕佹竻鐞嗐��"); } #endif @@ -286,99 +402,96 @@ { releaseCallBack(go); } + + // 鏇存柊姹犵粺璁℃暟鎹� + Instance.UpdatePoolStats(); } public void ReleaseAll() { - for (int i = m_ActiveList.Count - 1; i >= 0; i--) + //閲婃斁 m_ActiveHashSet涓� 鐨凣ameObject锛屾帓闄� + foreach (GameObject go in m_ActiveHashSet) { - var _go = m_ActiveList[i]; - m_ActiveList.Remove(_go); - - if (!m_FreeList.Contains(_go)) + if (go != null) { - m_FreeList.Add(_go); - } + m_FreeQueue.Enqueue(go); + go.transform.SetParent(Instance.m_TargetContainer); + go.transform.position = Constants.Special_Hide_Position; -#if UNITY_EDITOR && !UNITY_ANDROID && !UNITY_IOS - DebugItem _debugItem = Instance.m_DebugInstIDDict[_go.GetInstanceID()]; - _debugItem.transform.SetParent(m_DebugFree); -#endif - _go.transform.SetParent(Instance.m_TargetContainer); - _go.transform.position = Constants.Special_Hide_Position; - - if (releaseCallBack != null) - { - releaseCallBack(_go); + if (releaseCallBack != null) + { + releaseCallBack(go); + } } + } + m_ActiveHashSet.Clear(); + + // 鏇存柊姹犵粺璁℃暟鎹� + Instance.UpdatePoolStats(); } public void Clear() { - for (int i = m_ActiveList.Count - 1; i >= 0; --i) + foreach (GameObject go in m_ActiveHashSet) { - if (m_ActiveList[i] == null - || Instance.dontDestoryGoInstIDList.Contains(m_ActiveList[i].GetInstanceID())) - continue; -#if UNITY_EDITOR && !UNITY_ANDROID && !UNITY_IOS - Destroy(Instance.m_DebugInstIDDict[m_ActiveList[i].GetInstanceID()].gameObject); -#endif - Destroy(m_ActiveList[i]); - m_ActiveList.RemoveAt(i); - } - -#if UNITY_EDITOR && !UNITY_ANDROID && !UNITY_IOS - if (m_ActiveList.Count != 0) - { - Debug.LogWarningFormat("{0} 姹犳竻鐞嗗悗, 杩樻湁 {1} 涓椿璺冨璞�. ", m_Prefab.name, m_ActiveList.Count); - for (int i = 0; i < m_ActiveList.Count; ++i) + if (go != null) { - Debug.LogWarningFormat(" |-- {0}", m_ActiveList[i].name); + if (!Instance.dontDestoryGoInstIDList.Contains(go.GetInstanceID())) + { + m_ActiveHashSet.Remove(go); + Destroy(go); + } + } + + } + +#if UNITY_EDITOR + if (m_ActiveHashSet.Count != 0) + { + Debug.LogWarningFormat("{0} 姹犳竻鐞嗗悗, 杩樻湁 {1} 涓椿璺冨璞�. ", m_Prefab.name, m_ActiveHashSet.Count); } #endif - for (int i = m_FreeList.Count - 1; i >= 0; --i) + Queue<GameObject> tempQueue = new Queue<GameObject>(); + while (m_FreeQueue.Count > 0) { - if (m_FreeList[i] == null - || Instance.dontDestoryGoInstIDList.Contains(m_FreeList[i].GetInstanceID())) - continue; -#if UNITY_EDITOR && !UNITY_ANDROID && !UNITY_IOS - Destroy(Instance.m_DebugInstIDDict[m_FreeList[i].GetInstanceID()].gameObject); -#endif - Destroy(m_FreeList[i]); - m_FreeList.RemoveAt(i); + GameObject obj = m_FreeQueue.Dequeue(); + if (Instance.dontDestoryGoInstIDList.Contains(obj.GetInstanceID())) + tempQueue.Enqueue(obj); + else + Destroy(obj); } + m_FreeQueue = tempQueue; -#if UNITY_EDITOR && !UNITY_ANDROID && !UNITY_IOS - if (m_FreeList.Count != 0) + +#if UNITY_EDITOR + if (m_FreeQueue.Count != 0) { - Debug.LogWarningFormat("{0} 姹犳竻鐞嗗悗, 杩樻湁 {1} 涓┖闂插璞�. ", m_Prefab.name, m_FreeList.Count); - for (int i = 0; i < m_FreeList.Count; ++i) - { - Debug.LogWarningFormat(" |-- {0}", m_FreeList[i].name); - } + Debug.LogWarningFormat("{0} 姹犳竻鐞嗗悗, 杩樻湁 {1} 涓┖闂插璞�. ", m_Prefab.name, m_FreeQueue.Count); + // for (int i = 0; i < m_FreeList.Count; ++i) + // { + // Debug.LogWarningFormat(" |-- {0}", m_FreeList[i].name); + // } } #endif if (IsEmpty()) { m_Prefab = null; -#if UNITY_EDITOR && !UNITY_ANDROID && !UNITY_IOS - Destroy(m_DebugContainer.gameObject); -#endif + } if (!string.IsNullOrEmpty(assetBundleName) && !string.IsNullOrEmpty(assetName)) { ResManager.Instance.UnloadAsset(assetBundleName, assetName); - ResManager.Instance.UnloadAssetBundle(assetBundleName, true, false); + // ResManager.Instance.UnloadAssetBundle(assetBundleName, true, false); } } public bool IsEmpty() { - return m_ActiveList.Count == 0 && m_FreeList.Count == 0; + return m_ActiveHashSet.Count == 0 && m_FreeQueue.Count == 0; } } } diff --git a/Main/ResModule/ResManager.cs b/Main/ResModule/ResManager.cs index 3d68b85..7c55d05 100644 --- a/Main/ResModule/ResManager.cs +++ b/Main/ResModule/ResManager.cs @@ -162,13 +162,13 @@ public string[] LoadConfig(string name) { string path = string.Empty; +#if UNITY_EDITOR if (!AssetSource.isUseAssetBundle) { -#if UNITY_EDITOR path = ResourcesPath.CONFIG_FODLER + "/" + name + ".txt"; -#endif } else +#endif { path = AssetVersionUtility.GetAssetFilePath($"Config/{name}.txt"); } diff --git a/Main/System/Hero/HeroInfo.Properties.cs b/Main/System/Hero/HeroInfo.Properties.cs index cba6718..0d25126 100644 --- a/Main/System/Hero/HeroInfo.Properties.cs +++ b/Main/System/Hero/HeroInfo.Properties.cs @@ -173,7 +173,7 @@ //涓婇樀灞炴��:鏀婚槻琛� - public int GetGoBattleAddPer() + public int GetOnBattleAddPer() { return qualityConfig.InitAddPer + qualityConfig.LVAddPer * heroLevel + qualityConfig.BreakLVAddPer * breakLevel + qualityConfig.StarAddPer * heroStar; } diff --git a/Main/System/Hero/HeroInfo.cs b/Main/System/Hero/HeroInfo.cs index 3a4de6d..a480fbf 100644 --- a/Main/System/Hero/HeroInfo.cs +++ b/Main/System/Hero/HeroInfo.cs @@ -21,25 +21,6 @@ } - //鏄惁涓荤嚎涓婇樀 81 # 鎵�鍦ㄩ樀瀹逛俊鎭垪琛� [闃靛绫诲瀷*10000+闃靛瀷绫诲瀷*100+浣嶇疆缂栧彿, ...] - public bool isInMainBattle - { - get - { - //浠庡垪琛ㄤ腑鎵惧埌 闃靛涓�1鐨� 涓荤嚎闃靛 - var list = itemHero.GetUseData(81); - if (list != null && list.Count > 0) - { - var index = list.FindIndex((item) => item / 10000 == 1); - if (index >= 0) - { - return true; - } - } - return false; - } - } - // 浼樺厛鍔熻兘鎻愰啋绫诲瀷锛�1瑙夐啋 2鍗囩骇 3绐佺牬 4鍗囨槦 // 浼樺厛椤哄簭锛� public int funcState @@ -51,7 +32,7 @@ } public bool isLock - { + { get { return itemHero.itemInfo.isLock; @@ -140,4 +121,19 @@ { return heroConfig.GetInheritPercent(attrType); } + + //鏄惁涓妜闃� 81 # 鎵�鍦ㄩ樀瀹逛俊鎭垪琛� [闃靛绫诲瀷*10000+闃靛瀷绫诲瀷*100+浣嶇疆缂栧彿, ...] + public bool IsInTeamByTeamType(TeamType teamType) + { + var list = itemHero.GetUseData(81); + if (list != null && list.Count > 0) + { + var index = list.FindIndex((item) => item / 10000 == (int)teamType); + if (index >= 0) + { + return true; + } + } + return false; + } } \ No newline at end of file diff --git a/Main/System/Hero/HeroManager.cs b/Main/System/Hero/HeroManager.cs index d116aab..e1311d0 100644 --- a/Main/System/Hero/HeroManager.cs +++ b/Main/System/Hero/HeroManager.cs @@ -10,8 +10,7 @@ //鍒濆鍒涘缓锛�0725锛夛紝鍚庣画璺熼殢鑳屽寘浜嬩欢澧炲姞鍒犻櫎 key = guid protected Dictionary<string, HeroInfo> heroInfoDict = new Dictionary<string, HeroInfo>(); - //姝﹀皢鍒楄〃鐣岄潰 - public List<string> heroSortList = new List<string>(); + //姝﹀皢绾㈢偣 //MainRedDot.HeroCardRedpoint * 1000 + hero.itemHero.gridIndex; @@ -41,7 +40,7 @@ void OnBeforePlayerDataInitialize() { - heroSortList.Clear(); + heroInfoDict.Clear(); } @@ -91,6 +90,11 @@ { return heroInfoDict.Values.ToList(); } + + public List<string> GetHeroGuidList() + { + return heroInfoDict.Keys.ToList(); + } public List<HeroInfo> GetPowerfulHeroList() { @@ -119,52 +123,8 @@ return retList; } - public bool waitResortHeroList = false; - //鍒锋柊鏃舵満, 鎵撳紑姝﹀皢鐣岄潰 鎴栬�� 鍏抽棴鍔熻兘鐣岄潰 - public void SortHeroList() - { - heroSortList = heroInfoDict.Keys.ToList(); - heroSortList.Sort(CmpHero); - } - - int CmpHero(string guidA, string guidB) - { - HeroInfo heroA = heroInfoDict[guidA]; - HeroInfo heroB = heroInfoDict[guidB]; - if (heroA == null || heroB == null) - { - return 0; - } - // 鎺掑簭瑙勫垯锛氫笂闃�>姝﹀皢绛夌骇锛炵獊鐮寸瓑绾э紴姝﹀皢瑙夐啋闃剁骇锛炴灏嗗搧璐紴姝﹀皢鍚炲櫖鏄熺骇锛炴灏咺D - if (heroA.isInMainBattle != heroB.isInMainBattle) - { - return heroA.isInMainBattle ? -1 : 1; - } - if (heroA.heroLevel != heroB.heroLevel) - { - return heroA.heroLevel > heroB.heroLevel ? -1 : 1; - } - if (heroA.breakLevel != heroB.breakLevel) - { - return heroA.breakLevel > heroB.breakLevel ? -1 : 1; - } - if (heroA.awakeLevel != heroB.awakeLevel) - { - return heroA.awakeLevel > heroB.awakeLevel ? -1 : 1; - } - if (heroA.Quality != heroB.Quality) - { - return heroA.Quality > heroB.Quality ? -1 : 1; - } - if (heroA.heroStar != heroA.heroStar) - { - return heroA.heroStar > heroB.heroStar ? -1 : 1; - } - - return heroA.heroId.CompareTo(heroB.heroId); - } } \ No newline at end of file diff --git a/Main/System/Hero/UIHeroController.cs b/Main/System/Hero/UIHeroController.cs index 241063a..1b25862 100644 --- a/Main/System/Hero/UIHeroController.cs +++ b/Main/System/Hero/UIHeroController.cs @@ -6,17 +6,42 @@ using UnityEngine.EventSystems; public class UIHeroController : MonoBehaviour { + private GameObjectPoolManager.GameObjectPool pool; + private int skinID; + protected SkeletonGraphic skeletonGraphic; + + protected Spine.AnimationState spineAnimationState; + private GameObject instanceGO; + + private Action onComplete; public void Create(int _skinID, float scale = 1f, Action _onComplete = null) { + if (skinID == _skinID) + { + //閬垮厤閲嶅鍒涘缓 + return; + } + skinID = _skinID; onComplete = _onComplete; - GameObject battleGO = UILoader.LoadPrefab("UIHero"); - GameObject instanceGO = null; + pool = GameObjectPoolManager.Instance.RequestPool(UILoader.LoadPrefab("UIHero")); + if (!transform.gameObject.activeSelf) { transform.SetActive(true); } - instanceGO = GameObject.Instantiate(battleGO, transform); + if (instanceGO == null) + { + instanceGO = pool.Request(); + instanceGO.transform.SetParent(transform); + //transform 鐨凱ivot Y鏄�0锛岃instanceGO 灞呬腑 + instanceGO.transform.localPosition = new Vector3(0, transform.GetComponent<RectTransform>().sizeDelta.y * 0.5f); + + //instanceGO.transform.localPosition = Vector3.zero; + instanceGO.transform.localScale = Vector3.one; + instanceGO.transform.localRotation = Quaternion.identity; + } + skeletonGraphic = instanceGO.GetComponentInChildren<SkeletonGraphic>(true); var skinConfig = HeroSkinConfig.Get(skinID); skeletonGraphic.skeletonDataAsset = ResManager.Instance.LoadAsset<SkeletonDataAsset>("Hero/SpineRes/", skinConfig.SpineRes + "_SkeletonData"); @@ -24,32 +49,32 @@ this.transform.localScale = Vector3.one * scale; spineAnimationState = skeletonGraphic.AnimationState; PlayAnimation(MotionName.idle, true); - + spineAnimationState.Complete -= OnAnimationComplete; spineAnimationState.Complete += OnAnimationComplete; } - private int skinID; - protected SkeletonGraphic skeletonGraphic; - - protected Spine.AnimationState spineAnimationState; - - private Spine.TrackEntry currentTrackEntry; - private Action onComplete; - void Destroy() + + protected void OnDestroy() { - spineAnimationState.Complete -= OnAnimationComplete; + if (spineAnimationState != null) + { + spineAnimationState.Complete -= OnAnimationComplete; + } + if (pool != null) + pool.Release(instanceGO); + skeletonGraphic = null; + pool = null; } - public virtual Spine.TrackEntry PlayAnimation(MotionName motionName, bool loop = false) + public virtual void PlayAnimation(MotionName motionName, bool loop = false) { - if (spineAnimationState == null) return null; + if (spineAnimationState == null) return; // 鐩存帴浣跨敤 ToString() 鑰屼笉鏄皟鐢� GetAnimationName - currentTrackEntry = spineAnimationState.SetAnimation(0, motionName.ToString(), loop); - return currentTrackEntry; + spineAnimationState.SetAnimation(0, motionName.ToString(), loop); } /// <summary> diff --git a/Main/System/HeroUI/HeroCardCell.cs b/Main/System/HeroUI/HeroCardCell.cs index 9c4ef27..7521a1c 100644 --- a/Main/System/HeroUI/HeroCardCell.cs +++ b/Main/System/HeroUI/HeroCardCell.cs @@ -21,7 +21,7 @@ public void Display(int index) { - var hero = HeroManager.Instance.GetHero(HeroManager.Instance.heroSortList[index]); + var hero = HeroManager.Instance.GetHero(HeroUIManager.Instance.heroSortList[index]); if (hero == null) { this.gameObject.SetActive(false); @@ -39,7 +39,7 @@ countryImg.SetSprite("herocountry" + heroConfig.Country); jobImg.SetSprite("herojob" + heroConfig.Class); heroModel.Create(heroConfig.SkinIDList[hero.SkinIndex], heroConfig.UIScale); - onStateImg.SetActive(hero.isInMainBattle); + onStateImg.SetActive(hero.IsInTeamByTeamType(TeamType.Story)); redpoint.redpointId = MainRedDot.HeroCardRedpoint * 1000 + hero.itemHero.gridIndex; var funcState = hero.funcState; diff --git a/Main/System/HeroUI/HeroCardLineCell.cs b/Main/System/HeroUI/HeroCardLineCell.cs index 7b19201..449b020 100644 --- a/Main/System/HeroUI/HeroCardLineCell.cs +++ b/Main/System/HeroUI/HeroCardLineCell.cs @@ -1,15 +1,14 @@ 锘縰sing UnityEngine; -using System.Collections.Generic; public class HeroCardLineCell : CellView { - [SerializeField] List<HeroCardCell> cardList; + [SerializeField] HeroCardCell[] cardList; public void Display(int index) { - for (int i = 0; i < cardList.Count; i++) + for (int i = 0; i < cardList.Length; i++) { - if (i + index < HeroManager.Instance.heroSortList.Count) + if (i + index < HeroUIManager.Instance.heroSortList.Count) { cardList[i].SetActive(true); cardList[i].Display(index + i); diff --git a/Main/System/HeroUI/HeroConnectionCell.cs b/Main/System/HeroUI/HeroConnectionCell.cs new file mode 100644 index 0000000..7cdeae4 --- /dev/null +++ b/Main/System/HeroUI/HeroConnectionCell.cs @@ -0,0 +1,15 @@ +using UnityEngine; +using UnityEngine.UI; + +//缇佺粖妯″潡 +public class HeroConnectionCell : MonoBehaviour +{ + [SerializeField] HeroConnectionHeadCell[] heros; + [SerializeField] Text connAttrText; + + public void Display() + { + + } +} + diff --git a/Main/Utility/GameObjectPool.cs.meta b/Main/System/HeroUI/HeroConnectionCell.cs.meta similarity index 69% copy from Main/Utility/GameObjectPool.cs.meta copy to Main/System/HeroUI/HeroConnectionCell.cs.meta index 7153f8c..370fd80 100644 --- a/Main/Utility/GameObjectPool.cs.meta +++ b/Main/System/HeroUI/HeroConnectionCell.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 99e41fbb2b3832c41b1575b72c946cca -timeCreated: 1504310243 -licenseType: Pro +guid: d9e6754a2b2ddd242a8da5b215186a22 MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Main/System/HeroUI/HeroConnectionHeadCell.cs b/Main/System/HeroUI/HeroConnectionHeadCell.cs new file mode 100644 index 0000000..540cffc --- /dev/null +++ b/Main/System/HeroUI/HeroConnectionHeadCell.cs @@ -0,0 +1,45 @@ +using UnityEngine; +using UnityEngine.UI; + +//缇佺粖涓殑姝﹀皢 +public class HeroConnectionHeadCell : MonoBehaviour +{ + [SerializeField] Image qualityImg; + [SerializeField] Image heroIcon; + [SerializeField] Text nameText; + [SerializeField] Image connMarkImg; //閾炬帴鐨勯攣鍥炬爣锛岀涓�涓笉鏄剧ず + + public void Display(int heroID, int index, string guid = "") + { + int skinID = 0; + HeroConfig heroConfig; + if (!string.IsNullOrEmpty(guid)) + { + var hero = HeroManager.Instance.GetHero(guid); + skinID = hero.SkinID; + heroConfig = hero.heroConfig; + } + else + { + heroConfig = HeroConfig.Get(heroID); + skinID = heroConfig.SkinIDList[0]; //榛樿绗竴涓浘閴村睍绀� + + } + + nameText.text = heroConfig.Name; + qualityImg.SetSprite("heroheadBG" + heroConfig.Quality); + var sprite = UILoader.LoadSprite("HeroHead", HeroSkinConfig.Get(skinID).SquareIcon); + if (sprite == null) + { + // 鍐呯綉鏈厤缃椂 + heroIcon.SetSprite("herohead_default"); + } + else + { + heroIcon.overrideSprite = sprite; + } + + connMarkImg.SetActive(index != 0); + } +} + diff --git a/Main/Utility/GameObjectPool.cs.meta b/Main/System/HeroUI/HeroConnectionHeadCell.cs.meta similarity index 68% copy from Main/Utility/GameObjectPool.cs.meta copy to Main/System/HeroUI/HeroConnectionHeadCell.cs.meta index 7153f8c..f6ab9d0 100644 --- a/Main/Utility/GameObjectPool.cs.meta +++ b/Main/System/HeroUI/HeroConnectionHeadCell.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 99e41fbb2b3832c41b1575b72c946cca -timeCreated: 1504310243 -licenseType: Pro +guid: 82e5125576855304da53130b59ab10c3 MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Main/System/HeroUI/HeroHeadBaseCell.cs b/Main/System/HeroUI/HeroHeadBaseCell.cs index f780716..ecd7d68 100644 --- a/Main/System/HeroUI/HeroHeadBaseCell.cs +++ b/Main/System/HeroUI/HeroHeadBaseCell.cs @@ -154,6 +154,7 @@ var sprite = UILoader.LoadSprite("HeroHead", HeroSkinConfig.Get(skinID).SquareIcon); if (sprite == null) { + // 鍐呯綉鏈厤缃椂 heroIcon.SetSprite("herohead_default"); } else diff --git a/Main/System/HeroUI/HeroListWin.cs b/Main/System/HeroUI/HeroListWin.cs index 5f7eb94..87389aa 100644 --- a/Main/System/HeroUI/HeroListWin.cs +++ b/Main/System/HeroUI/HeroListWin.cs @@ -16,33 +16,36 @@ [SerializeField] GameObject attrOnTip; [SerializeField] Button attrOnTipBtn; - [SerializeField] GameObject foldObject; - [SerializeField] Button unFoldBtn; //灞曞紑鎸夐挳 - [SerializeField] List<Button> countryBtnList; - [SerializeField] GameObject unFoldObject; - [SerializeField] Button foldBtn; //鏀惰捣鎸夐挳 - [SerializeField] List<Button> jobBtnList; //鍏ㄩ儴锛岃緭鍑恒�佽倝鐩俱�佽緟鍔┿�佹帶鍒� [SerializeField] Button changeHeroPosBtn; //甯冮樀鎸夐挳 private List<Image> countrySelectImgList; private List<Image> jobSelectImgList; + SinglePack singlePack; + /// </summary> protected override void InitComponent() { - heroPackBtn.onClick.AddListener(() => + heroPackBtn.AddListener(() => { HeroUIManager.Instance.QueryUnLockHeroPack(); + }); + changeHeroPosBtn.AddListener(() => + { + HeroUIManager.Instance.selectTeamType = TeamType.Story; + UIManager.Instance.OpenWindow<HeroPosWin>(); }); } protected override void OnPreOpen() { + singlePack = PackManager.Instance.GetSinglePack(PackType.Hero); heroListScroller.OnRefreshCell += OnRefreshCell; + //闇�瑕佽�冭檻璋冩暣涓烘灏嗙殑浜嬩欢锛岃�屼笉鏄儗鍖� PackManager.Instance.RefreshItemEvent += RefreshPakCount; - HeroManager.Instance.SortHeroList(); + HeroUIManager.Instance.SortHeroList(); CreateScroller(); Refresh(); } @@ -56,7 +59,6 @@ public override void Refresh() { - SinglePack singlePack = PackManager.Instance.GetSinglePack(PackType.Item); if (singlePack == null || singlePack.GetAllItems().Count <= 0) { heroListEmpty.SetActive(true); @@ -68,10 +70,32 @@ heroListScroller.SetActive(true); } + OnBattleTeamAttrPer(); + + RefreshPakCount(PackType.Hero, 0, 0); + } + + //涓婇樀鍔犳垚 + void OnBattleTeamAttrPer() + { + var valuePer = 0; + var team = TeamManager.Instance.GetTeam(TeamType.Story); + if (team != null) + { + for (int i = 0; i < team.serverData.Length; i++) + { + var hero = HeroManager.Instance.GetHero(team.serverData[i].guid); + if (hero != null) + { + valuePer += hero.GetOnBattleAddPer(); + } + } + + } //涓婇樀灞炴�� for (int i = 0; i < attrOnList.Count; i++) { - attrOnList[i].text = PlayerPropertyConfig.GetFullDescription(new Int2 (PlayerPropertyConfig.baseAttrs[i], 1 )); + attrOnList[i].text = PlayerPropertyConfig.GetFullDescription(new Int2(PlayerPropertyConfig.basePerAttrs[i], valuePer)); } } @@ -84,7 +108,7 @@ void CreateScroller() { heroListScroller.Refresh(); - for (int i = 0; i < HeroManager.Instance.heroSortList.Count; i++) + for (int i = 0; i < HeroUIManager.Instance.heroSortList.Count; i++) { if (i % 4 == 0) { @@ -96,13 +120,14 @@ void RefreshPakCount(PackType type, int index, int itemID) { - SinglePack singlePack = PackManager.Instance.GetSinglePack(PackType.Item); + if (type != PackType.Hero) + return; if (singlePack == null) return; int count = singlePack.GetAllItems().Count; - heroPackText.text = UIHelper.AppendColor(count > singlePack.unlockedGridCount ? TextColType.Red : TextColType.NavyBrown, + heroPackText.text = UIHelper.AppendColor(count > singlePack.unlockedGridCount ? TextColType.Red : TextColType.NavyBrown, string.Format("{0}/{1}", count, singlePack.unlockedGridCount)); } diff --git a/Main/System/HeroUI/HeroPosHeadCell.cs b/Main/System/HeroUI/HeroPosHeadCell.cs new file mode 100644 index 0000000..d0cfd2d --- /dev/null +++ b/Main/System/HeroUI/HeroPosHeadCell.cs @@ -0,0 +1,16 @@ +锘縰sing UnityEngine; +using UnityEngine.UI; + +public class HeroPosHeadCell : MonoBehaviour +{ + [SerializeField] HeroHeadBaseCell heroHeadBaseCell; + [SerializeField] Image jobImg; + [SerializeField] Text nameText; + [SerializeField] Transform selectRect; + + public void Display(int index) + { + + } +} + diff --git a/Main/Utility/GameObjectPool.cs.meta b/Main/System/HeroUI/HeroPosHeadCell.cs.meta similarity index 69% rename from Main/Utility/GameObjectPool.cs.meta rename to Main/System/HeroUI/HeroPosHeadCell.cs.meta index 7153f8c..bcf6256 100644 --- a/Main/Utility/GameObjectPool.cs.meta +++ b/Main/System/HeroUI/HeroPosHeadCell.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 99e41fbb2b3832c41b1575b72c946cca -timeCreated: 1504310243 -licenseType: Pro +guid: 85d03e47b5934534baabc6d5091adaa5 MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Main/System/HeroUI/HeroPosLineCell.cs b/Main/System/HeroUI/HeroPosLineCell.cs new file mode 100644 index 0000000..508ae5b --- /dev/null +++ b/Main/System/HeroUI/HeroPosLineCell.cs @@ -0,0 +1,23 @@ +锘縰sing UnityEngine; + +public class HeroPosLineCell : CellView +{ + [SerializeField] HeroPosHeadCell[] cardList; + + public void Display(int index) + { + for (int i = 0; i < cardList.Length; i++) + { + if (i + index < HeroUIManager.Instance.heroOnTeamSortList.Count) + { + cardList[i].SetActive(true); + cardList[i].Display(index + i); + } + else + { + cardList[i].SetActive(false); + } + } + } +} + diff --git a/Main/Utility/GameObjectPool.cs.meta b/Main/System/HeroUI/HeroPosLineCell.cs.meta similarity index 69% copy from Main/Utility/GameObjectPool.cs.meta copy to Main/System/HeroUI/HeroPosLineCell.cs.meta index 7153f8c..76f2b21 100644 --- a/Main/Utility/GameObjectPool.cs.meta +++ b/Main/System/HeroUI/HeroPosLineCell.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 99e41fbb2b3832c41b1575b72c946cca -timeCreated: 1504310243 -licenseType: Pro +guid: 22807977a993b4b438ca473603f2494e MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Main/System/HeroUI/HeroPosWin.cs b/Main/System/HeroUI/HeroPosWin.cs new file mode 100644 index 0000000..5028fae --- /dev/null +++ b/Main/System/HeroUI/HeroPosWin.cs @@ -0,0 +1,187 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +/// <summary> +/// 姝﹀皢甯冮樀: functionOrder锛氬竷闃电被鍨� +/// </summary> +public class HeroPosWin : UIBase +{ + [SerializeField] Text[] attrOnList; //涓婇樀灞炴�у姞鎴� + [SerializeField] Image countryOnImg; //涓婇樀闃靛瀷婵�娲诲浗瀹� + [SerializeField] List<Image> OnCountImgs; //涓婇樀鏁伴噺婵�娲� + [SerializeField] List<Image> scenePosImgs; //鍦烘櫙甯冮樀浣嶇疆 + [SerializeField] HeroScenePosCell[] sceneHero; + + [SerializeField] GroupButtonEx attackTeamBtn; + [SerializeField] GroupButtonEx defendTeamBtn; + + [SerializeField] Text fightPowerText; //鐢卞鎴风鑷繁棰勭畻鐨勬垬鍔� + [SerializeField] ScrollerController heroListScroller; + [SerializeField] Transform heroListEmpty; + [SerializeField] Toggle showConnTipToggleBtn; + [SerializeField] HeroSelectBehaviour fiterManager; //姝﹀皢绛涢�� + + [SerializeField] Button oneKeyOnBtn; //涓�閿笂闃� + [SerializeField] Button saveBtn; //淇濆瓨闃靛瀷 + [SerializeField] Button backBtn; //閫�鍑虹晫闈� + [SerializeField] GroupButtonEx jjcBtn; //绔炴妧鍦� + [SerializeField] GroupButtonEx tttBtn; //閫氬ぉ濉� + [SerializeField] GroupButtonEx mainFBBtn; //涓荤嚎鍓湰 + + //缇佺粖 + [SerializeField] HeroConnectionCell connetionForm; + + + protected override void InitComponent() + { + attackTeamBtn.AddListener(() => + { + if (HeroUIManager.Instance.selectTeamType == TeamType.Arena) + { + return; + } + + HeroUIManager.Instance.selectTeamType = TeamType.Arena; + Refresh(); + }); + defendTeamBtn.AddListener(() => + { + if (HeroUIManager.Instance.selectTeamType == TeamType.ArenaDefense) + { + return; + } + HeroUIManager.Instance.selectTeamType = TeamType.ArenaDefense; + Refresh(); + }); + } + + + protected override void OnPreOpen() + { + heroListScroller.OnRefreshCell += OnRefreshCell; + CreateScroller(); + Refresh(); + } + + protected override void OnPreClose() + { + heroListScroller.OnRefreshCell -= OnRefreshCell; + } + + + public override void Refresh() + { + OnBattleTeamAttrPer(); + RefreshOnTeamCountry(); + RefreshOnTeamBtn(); + } + + + + void OnRefreshCell(ScrollerDataType type, CellView cell) + { + var _cell = cell as HeroCardLineCell; + _cell.Display(cell.index); + } + + void CreateScroller() + { + heroListScroller.Refresh(); + for (int i = 0; i < HeroUIManager.Instance.heroSortList.Count; i++) + { + if (i % 4 == 0) + { + heroListScroller.AddCell(ScrollerDataType.Header, i); + } + } + heroListScroller.Restart(); + } + + //涓婇樀鍔犳垚 + void OnBattleTeamAttrPer() + { + var valuePer = 0; + var team = TeamManager.Instance.GetTeam(HeroUIManager.Instance.selectTeamType); + if (team != null) + { + for (int i = 0; i < team.serverData.Length; i++) + { + var hero = HeroManager.Instance.GetHero(team.serverData[i].guid); + if (hero != null) + { + valuePer += hero.GetOnBattleAddPer(); + } + } + + } + //涓婇樀灞炴�� + for (int i = 0; i < attrOnList.Length; i++) + { + attrOnList[i].text = PlayerPropertyConfig.GetFullDescription(new Int2(PlayerPropertyConfig.basePerAttrs[i], valuePer)); + } + } + + //涓婇樀姝﹀皢鍥藉鍏夌幆婵�娲� + void RefreshOnTeamCountry() + { + Int2 result = HeroUIManager.Instance.GetMaxCountHeroCountry(HeroUIManager.Instance.selectTeamType); + + var config = HeroLineupHaloConfig.GetConfig(result.x, result.y); + if (config == null) + { + countryOnImg.SetSprite("heroTeamCountry" + result.x); + for (int i = 0; i < OnCountImgs.Count; i++) + { + OnCountImgs[i].SetActive(false); + } + } + else + { + countryOnImg.SetSprite("heroTeamCountry" + result.x); + for (int i = 0; i < OnCountImgs.Count; i++) + { + if (i < result.y) + { + OnCountImgs[i].SetActive(true); + OnCountImgs[i].SetSprite("heroTeamCountryPoint" + result.x); + } + else + { + OnCountImgs[i].SetActive(false); + } + } + } + + } + + //绠$悊甯冮樀鍏ュ彛鎸夐挳锛氬绔炴妧鍦烘槸鍚︽牴鎹姛鑳芥樉闅愶紝閫氬ぉ濉斿拰涓荤嚎鍙湁杩涙敾鏂瑰竷闃甸粯璁や笉鏄剧ず + void RefreshOnTeamBtn() + { + if (HeroUIManager.Instance.selectTeamType == TeamType.Arena || + HeroUIManager.Instance.selectTeamType == TeamType.ArenaDefense) + { + attackTeamBtn.SetActive(true); + defendTeamBtn.SetActive(true); + if (HeroUIManager.Instance.selectTeamType == TeamType.Arena) + { + attackTeamBtn.SelectBtn(true); + } + else + { + defendTeamBtn.SelectBtn(true); + } + } + else + { + attackTeamBtn.SetActive(false); + defendTeamBtn.SetActive(false); + } + + } + + + + +} \ No newline at end of file diff --git a/Main/Utility/GameObjectPool.cs.meta b/Main/System/HeroUI/HeroPosWin.cs.meta similarity index 69% copy from Main/Utility/GameObjectPool.cs.meta copy to Main/System/HeroUI/HeroPosWin.cs.meta index 7153f8c..75db512 100644 --- a/Main/Utility/GameObjectPool.cs.meta +++ b/Main/System/HeroUI/HeroPosWin.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 99e41fbb2b3832c41b1575b72c946cca -timeCreated: 1504310243 -licenseType: Pro +guid: c8849c7f1a741cc438948b5f03557325 MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Main/System/HeroUI/HeroScenePosCell.cs b/Main/System/HeroUI/HeroScenePosCell.cs new file mode 100644 index 0000000..29ebb39 --- /dev/null +++ b/Main/System/HeroUI/HeroScenePosCell.cs @@ -0,0 +1,30 @@ +using UnityEngine; +using UnityEngine.UI; + +//甯冮樀涓殑 姝﹀皢瑙掕壊 +public class HeroScenePosCell : MonoBehaviour +{ + [SerializeField] Button heroBtn; + [SerializeField] Text jobTip; + [SerializeField] Text posTip; + [SerializeField] Image countryImg; + [SerializeField] Text nameText; + [SerializeField] Text lvText; + [SerializeField] UIHeroController heroModel; + [SerializeField] Image posCircleImg; + + public void Display(string guid) + { + var hero = HeroManager.Instance.GetHero(guid); + + lvText.text = Language.Get("L1094") + hero.heroLevel.ToString(); + var heroConfig = hero.heroConfig; + countryImg.SetSprite("herocountry" + heroConfig.Country); + heroModel.Create(heroConfig.SkinIDList[hero.SkinIndex], heroConfig.UIScale); + + + nameText.text = hero.breakLevel == 0 ? heroConfig.Name : Language.Get("herocardbreaklv", heroConfig.Name, hero.breakLevel); + + } +} + diff --git a/Main/Utility/GameObjectPool.cs.meta b/Main/System/HeroUI/HeroScenePosCell.cs.meta similarity index 69% copy from Main/Utility/GameObjectPool.cs.meta copy to Main/System/HeroUI/HeroScenePosCell.cs.meta index 7153f8c..63fc7de 100644 --- a/Main/Utility/GameObjectPool.cs.meta +++ b/Main/System/HeroUI/HeroScenePosCell.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 99e41fbb2b3832c41b1575b72c946cca -timeCreated: 1504310243 -licenseType: Pro +guid: 5568cf8758fcecf45ac471d4b4bbd6fe MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Main/System/HeroUI/HeroSelectBehaviour.cs b/Main/System/HeroUI/HeroSelectBehaviour.cs new file mode 100644 index 0000000..ced69f9 --- /dev/null +++ b/Main/System/HeroUI/HeroSelectBehaviour.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +//姝﹀皢绛涢�� +public class HeroSelectBehaviour : MonoBehaviour +{ + [SerializeField] Transform unFoldForm; //灞曞紑鍚庣殑瀹瑰櫒 + [SerializeField] Button foldBtn; //鏀惰捣鎸夐挳 + [SerializeField] Transform foldForm; //鏀惰捣瀹瑰櫒 + [SerializeField] Button unFoldBtn; //灞曞紑鎸夐挳 + [SerializeField] GroupButtonEx[] jobsBtn; + [SerializeField] GroupButtonEx[] countrysBtn; + [SerializeField] GroupButtonExManager jobManager; + [SerializeField] GroupButtonExManager countryManager; + + int m_Job = 0; + int m_Country = 0; + int foldState = 0; //0 鏀惰捣锛�1 灞曞紑 + + //鐐瑰嚮鎸夐挳闇�閫氱煡鍝嶅簲澶栭儴浜嬩欢 + public Action<int, int> selectAction; + + + + + void Awake() + { + foldBtn.AddListener(() => + { + foldState = 0; + RefreshFolState(); + }); + unFoldBtn.AddListener(() => + { + foldState = 1; + RefreshFolState(); + }); + + for (int i = 0; i < jobsBtn.Length; i++) + { + int index = i; + jobsBtn[i].AddListener(() => + { + m_Job = index; + RefreshJobsBtn(); + selectAction?.Invoke(m_Job, m_Country); + }); + } + + for (int i = 0; i < countrysBtn.Length; i++) + { + int index = i; + countrysBtn[i].AddListener(() => + { + m_Country = index; + RefreshCountryBtn(); + selectAction?.Invoke(m_Job, m_Country); + }); + } + + } + + public void Display(int state, int job, int country, Action<int, int> onRefresh) + { + foldState = state; + m_Job = job; + m_Country = country; + + RefreshFolState(); + RefreshJobsBtn(); + RefreshCountryBtn(); + selectAction = onRefresh; + + } + + + //鍒锋柊鍏ㄩ儴鍒嗙被 + void RefreshJobsBtn() + { + jobManager.SelectButton(jobsBtn[m_Job]); + } + //鍒锋柊鍏ㄩ儴鍒嗙被 + void RefreshCountryBtn() + { + countryManager.SelectButton(countrysBtn[m_Country]); + } + //鍒锋柊灞曞紑鏀惰捣鐘舵�� + void RefreshFolState() + { + unFoldBtn.SetActive(foldState == 1); + foldBtn.SetActive(foldState == 0); + } +} + diff --git a/Main/Utility/GameObjectPool.cs.meta b/Main/System/HeroUI/HeroSelectBehaviour.cs.meta similarity index 68% copy from Main/Utility/GameObjectPool.cs.meta copy to Main/System/HeroUI/HeroSelectBehaviour.cs.meta index 7153f8c..8d61d9f 100644 --- a/Main/Utility/GameObjectPool.cs.meta +++ b/Main/System/HeroUI/HeroSelectBehaviour.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 99e41fbb2b3832c41b1575b72c946cca -timeCreated: 1504310243 -licenseType: Pro +guid: 81701dbe94ee5914c97bbc39aa5a418f MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Main/System/HeroUI/HeroUIManager.cs b/Main/System/HeroUI/HeroUIManager.cs index dd3f8e2..f5684fb 100644 --- a/Main/System/HeroUI/HeroUIManager.cs +++ b/Main/System/HeroUI/HeroUIManager.cs @@ -5,13 +5,20 @@ using UnityEngine; +//姝﹀皢鐩稿叧鐣岄潰鐨勬搷浣滄暟鎹鐞� public class HeroUIManager : GameSystemManager<HeroUIManager> { + //姝﹀皢鍒楄〃鐣岄潰 + public List<string> heroSortList { get; private set; } = new List<string>(); //涓婇樀涓轰富绾跨殑鍒楄〃 + public List<string> heroOnTeamSortList { get; private set; } = new List<string>(); //涓嶅悓涓婇樀鐨勫垪琛ㄦ帓搴� + + public TeamType selectTeamType = TeamType.Story; //褰撳墠閫変腑鐨勬槸鍝釜闃靛, 甯冮樀鐩稿叧閫昏緫浣跨敤 public void OnBeforePlayerDataInitialize() { - + heroSortList.Clear(); + heroOnTeamSortList.Clear(); } public void OnPlayerLoginOk() @@ -28,13 +35,186 @@ } - void ParseConfig() + public bool waitResortHeroList = false; + + + //鍒锋柊鏃舵満, 鎵撳紑姝﹀皢鐣岄潰 鎴栬�� 鍏抽棴鍔熻兘鐣岄潰 + public void SortHeroList() { + heroSortList = HeroManager.Instance.GetHeroGuidList(); + heroSortList.Sort(CmpHero); } + int CmpHero(string guidA, string guidB) + { + HeroInfo heroA = HeroManager.Instance.GetHero(guidA); + HeroInfo heroB = HeroManager.Instance.GetHero(guidB); + if (heroA == null || heroB == null) + { + return 0; + } + + // 鎺掑簭瑙勫垯锛氫笂闃�>姝﹀皢绛夌骇锛炵獊鐮寸瓑绾э紴姝﹀皢瑙夐啋闃剁骇锛炴灏嗗搧璐紴姝﹀皢鍚炲櫖鏄熺骇锛炴灏咺D + bool isInTeamA = heroA.IsInTeamByTeamType(TeamType.Story); + bool isInTeamB = heroB.IsInTeamByTeamType(TeamType.Story); + if (isInTeamA != isInTeamB) + { + return isInTeamA ? -1 : 1; + } + if (heroA.heroLevel != heroB.heroLevel) + { + return heroA.heroLevel > heroB.heroLevel ? -1 : 1; + } + if (heroA.breakLevel != heroB.breakLevel) + { + return heroA.breakLevel > heroB.breakLevel ? -1 : 1; + } + if (heroA.awakeLevel != heroB.awakeLevel) + { + return heroA.awakeLevel > heroB.awakeLevel ? -1 : 1; + } + if (heroA.Quality != heroB.Quality) + { + return heroA.Quality > heroB.Quality ? -1 : 1; + } + if (heroA.heroStar != heroA.heroStar) + { + return heroA.heroStar > heroB.heroStar ? -1 : 1; + } + + return heroA.heroId.CompareTo(heroB.heroId); + } + + + public void SortHeroOnTeamList() + { + heroOnTeamSortList = HeroManager.Instance.GetHeroGuidList(); + heroOnTeamSortList.Sort(CmpHeroByTeamType); + } + + + int CmpHeroByTeamType(string guidA, string guidB) + { + HeroInfo heroA = HeroManager.Instance.GetHero(guidA); + HeroInfo heroB = HeroManager.Instance.GetHero(guidB); + if (heroA == null || heroB == null) + { + return 0; + } + + // 鎺掑簭瑙勫垯锛氫笂闃�>姝﹀皢绛夌骇锛炵獊鐮寸瓑绾э紴姝﹀皢瑙夐啋闃剁骇锛炴灏嗗搧璐紴姝﹀皢鍚炲櫖鏄熺骇锛炴灏咺D + bool isInTeamA = heroA.IsInTeamByTeamType(selectTeamType); + bool isInTeamB = heroB.IsInTeamByTeamType(selectTeamType); + if (isInTeamA != isInTeamB) + { + return isInTeamA ? -1 : 1; + } + if (heroA.heroLevel != heroB.heroLevel) + { + return heroA.heroLevel > heroB.heroLevel ? -1 : 1; + } + if (heroA.breakLevel != heroB.breakLevel) + { + return heroA.breakLevel > heroB.breakLevel ? -1 : 1; + } + if (heroA.awakeLevel != heroB.awakeLevel) + { + return heroA.awakeLevel > heroB.awakeLevel ? -1 : 1; + } + if (heroA.Quality != heroB.Quality) + { + return heroA.Quality > heroB.Quality ? -1 : 1; + } + if (heroA.heroStar != heroA.heroStar) + { + return heroA.heroStar > heroB.heroStar ? -1 : 1; + } + + return heroA.heroId.CompareTo(heroB.heroId); + } + + + public void QueryUnLockHeroPack() - { + { //瑙i攣鏇村鐨勬灏嗚儗鍖� } + + //涓婇樀闃熶紞涓悇涓浗瀹剁殑姝﹀皢鏁伴噺 + public Dictionary<HeroCountry, int> GetCountryHeroCountByTeamType(TeamType teamType) + { + Dictionary<HeroCountry, int> heroCountryCount = new Dictionary<HeroCountry, int>(); + + var team = TeamManager.Instance.GetTeam(teamType); + if (team != null) + { + for (int i = 0; i < team.serverData.Length; i++) + { + var hero = HeroManager.Instance.GetHero(team.serverData[i].guid); + if (hero != null) + { + if (!heroCountryCount.ContainsKey(hero.heroCountry)) + { + heroCountryCount.Add(hero.heroCountry, 1); + } + else + { + heroCountryCount[hero.heroCountry] += 1; + } + + } + } + + } + + return heroCountryCount; + } + + //鑾峰緱涓婇樀涓灏嗘暟閲忔渶澶х殑鍥藉鍜屾暟閲� + public Int2 GetMaxCountHeroCountry(TeamType teamType) + { + var countryCount = GetCountryHeroCountByTeamType(teamType); + //鎵惧埌鏈�澶х殑鍥藉鍜屾暟閲� + HeroCountry country = HeroCountry.None; + int maxValue = 0; + foreach (var data in countryCount) + { + if (data.Value > maxValue) + { + country = data.Key; + maxValue = data.Value; + } + } + return new Int2((int)country, maxValue); + } + + //AttackType 0 鏀诲嚮闃靛 1 闃插畧闃靛 + int GetSelectTeamTypeByAttackType(int AttackType) + { + if (selectTeamType == TeamType.Arena) + { + if (AttackType == 0) + { + return (int)TeamType.Arena; + } + else if (AttackType == 1) + { + return (int)TeamType.ArenaDefense; + } + } + else if (selectTeamType == TeamType.ArenaDefense) + { + if (AttackType == 0) + { + return (int)TeamType.ArenaDefense; + } + else if (AttackType == 1) + { + return (int)TeamType.Arena; + } + } + + return (int)TeamType.Story; + } } diff --git a/Main/System/KnapSack/Logic/ItemModel.cs b/Main/System/KnapSack/Logic/ItemModel.cs index 7b674fd..bb054fd 100644 --- a/Main/System/KnapSack/Logic/ItemModel.cs +++ b/Main/System/KnapSack/Logic/ItemModel.cs @@ -165,8 +165,8 @@ index = serverItem.ItemPlace; count = (int)serverItem.ItemCount; remainHour = (int)serverItem.RemainHour; - userData = serverItem.UserData; - guid = serverItem.ItemGUID; + userData = serverItem.UserData.Trim().Replace("\0", ""); + guid = serverItem.ItemGUID.Trim().Replace("\0", ""); isAuction = serverItem.IsBind; gearScore = (int)serverItem.GearScore; isLock = serverItem.IsLocked > 0; @@ -178,8 +178,9 @@ index = serverItem.ItemPlace; count = (int)serverItem.ItemCount; remainHour = (int)serverItem.RemainHour; - userData = serverItem.UserData; - guid = serverItem.ItemGUID; + //瀛楃涓插悗闈㈡湁绌哄瓧绗﹂棶棰橈紝缁忓父浼氬鑷翠笉鍙鏂欑殑bug + userData = serverItem.UserData.Trim().Replace("\0", ""); + guid = serverItem.ItemGUID.Trim().Replace("\0", ""); isAuction = serverItem.IsBind; gearScore = (int)serverItem.GearScore; isLock = serverItem.IsLocked > 0; diff --git a/Main/System/Main/HomeWin.cs b/Main/System/Main/HomeWin.cs index e9090b8..3b77d73 100644 --- a/Main/System/Main/HomeWin.cs +++ b/Main/System/Main/HomeWin.cs @@ -19,7 +19,7 @@ [SerializeField] Text taskNumText; [SerializeField] Image awardIcon; [SerializeField] Text awardCnt; - [SerializeField] EffectPlayer taskEffect; + [SerializeField] UIEffectPlayer taskEffect; //鍏冲崱 @@ -52,6 +52,9 @@ TaskManager.Instance.OnTaskUpdate += UpdateTask; Refresh(); UIManager.Instance.OpenWindow<BattleWin>(); + + taskEffect.effectId = Random.Range(1007, 1008); + taskEffect.Play(); } protected override void OnOpen() { diff --git a/Main/System/Message/WaitCallBack.cs b/Main/System/Message/WaitCallBack.cs index 6137ec6..8174851 100644 --- a/Main/System/Message/WaitCallBack.cs +++ b/Main/System/Message/WaitCallBack.cs @@ -2,168 +2,168 @@ using System.Collections.Generic; using UnityEngine; +/// <summary> +/// 寤惰繜鍑犵鎵ц浜嬩欢 +/// </summary> +public class WaitCallBack : MonoBehaviour +{ + internal float waitTime = 2.0f; + + public bool doOnAwake = false; /// <summary> - /// 寤惰繜鍑犵鎵ц浜嬩欢 + /// 鏃堕棿鍒拌揪鍥炶皟 /// </summary> - public class WaitCallBack : MonoBehaviour + public Action<Component> OnCompelete; + /// <summary> + /// 姣忓抚鍥炶皟 + /// </summary> + public Action<Component> OnWait; + + internal static Dictionary<GameObject, WaitCallBack> waitDic = new Dictionary<GameObject, WaitCallBack>(); + + private float m_Time = 0; + + private bool start = false; + + private Component m_Comp; + + private void Awake() { - internal float waitTime = 2.0f; - - public bool doOnAwake = false; - /// <summary> - /// 鏃堕棿鍒拌揪鍥炶皟 - /// </summary> - public Action<Component> OnCompelete; - /// <summary> - /// 姣忓抚鍥炶皟 - /// </summary> - public Action<Component> OnWait; - - internal static Dictionary<GameObject, WaitCallBack> waitDic = new Dictionary<GameObject, WaitCallBack>(); - - private float m_Time = 0; - - private bool start = false; - - private Component m_Comp; - - private void Awake() + if (doOnAwake) { - if (doOnAwake) - { - Play(); - } - } - - private void OnDisable() - { - Stop(); - } - - private void Update() - { - if (start) - { - m_Time += Time.deltaTime; - if (m_Time >= waitTime) - { - Stop(); - if (OnCompelete != null) - OnCompelete(m_Comp); - } - if (OnWait != null && start) - OnWait(m_Comp); - } - } - - internal void Play() - { - start = true; - } - - internal void Restart() - { - m_Time = 0; Play(); } - - internal void Stop() - { - m_Time = 0; - start = false; - } - - internal void Pause() - { - start = false; - } - - private void OnDestroy() - { - if (waitDic.ContainsKey(gameObject)) - { - waitDic.Remove(gameObject); - } - } - - internal void AddWaitDic(Component go) - { - m_Comp = go; - waitDic.Add(go.gameObject, this); - } } - public static class Helper + private void OnDisable() { - public static void DoWaitStart(this Component go) - { - if (GetWait(go) == null) - return; - GetWait(go).Play(); - } + Stop(); + } - public static void OnWaitCompelete(this Component go, Action<Component> func) + private void Update() + { + if (start) { - WaitCallBack wait = GetWait(go); - if (wait == null) - return; - wait.OnCompelete = func; - } - - public static void OnWait(this Component go, Action<Component> func) - { - WaitCallBack wait = GetWait(go); - if (wait == null) - return; - wait.OnWait = func; - } - - public static void DoWaitRestart(this Component go) - { - if (GetWait(go) == null) - return; - GetWait(go).Restart(); - } - - public static void DoWaitStop(this Component go) - { - if (GetWait(go) == null) - return; - GetWait(go).Stop(); - } - - public static void DoWaitPause(this Component go) - { - if (GetWait(go) == null) - return; - GetWait(go).Pause(); - } - - public static WaitCallBack GetWait(Component go) - { - WaitCallBack wait = null; - if (go == null) - return null; - WaitCallBack.waitDic.TryGetValue(go.gameObject, out wait); - if (wait == null) + m_Time += Time.deltaTime; + if (m_Time >= waitTime) { - wait = go.GetComponent<WaitCallBack>(); - if (wait == null) - { - wait = go.gameObject.AddComponent<WaitCallBack>(); - } - wait.AddWaitDic(go); + Stop(); + if (OnCompelete != null) + OnCompelete(m_Comp); } - return wait; - } - - public static void SetWait(this Component comp, float time) - { - WaitCallBack wait = GetWait(comp); - if (wait != null) - { - wait.waitTime = time; - } + if (OnWait != null && start) + OnWait(m_Comp); } } + internal void Play() + { + start = true; + } + + internal void Restart() + { + m_Time = 0; + Play(); + } + + internal void Stop() + { + m_Time = 0; + start = false; + } + + internal void Pause() + { + start = false; + } + + private void OnDestroy() + { + if (waitDic.ContainsKey(gameObject)) + { + waitDic.Remove(gameObject); + } + } + + internal void AddWaitDic(Component go) + { + m_Comp = go; + waitDic.Add(go.gameObject, this); + } +} + +public static class Helper +{ + public static void DoWaitStart(this Component go) + { + if (GetWait(go) == null) + return; + GetWait(go).Play(); + } + + public static void OnWaitCompelete(this Component go, Action<Component> func) + { + WaitCallBack wait = GetWait(go); + if (wait == null) + return; + wait.OnCompelete = func; + } + + public static void OnWait(this Component go, Action<Component> func) + { + WaitCallBack wait = GetWait(go); + if (wait == null) + return; + wait.OnWait = func; + } + + public static void DoWaitRestart(this Component go) + { + if (GetWait(go) == null) + return; + GetWait(go).Restart(); + } + + public static void DoWaitStop(this Component go) + { + if (GetWait(go) == null) + return; + GetWait(go).Stop(); + } + + public static void DoWaitPause(this Component go) + { + if (GetWait(go) == null) + return; + GetWait(go).Pause(); + } + + public static WaitCallBack GetWait(Component go) + { + WaitCallBack wait = null; + if (go == null) + return null; + WaitCallBack.waitDic.TryGetValue(go.gameObject, out wait); + if (wait == null) + { + wait = go.GetComponent<WaitCallBack>(); + if (wait == null) + { + wait = go.gameObject.AddComponent<WaitCallBack>(); + } + wait.AddWaitDic(go); + } + return wait; + } + + public static void SetWait(this Component comp, float time) + { + WaitCallBack wait = GetWait(comp); + if (wait != null) + { + wait.waitTime = time; + } + } +} + diff --git a/Main/System/PhantasmPavilion/AvatarCell.cs b/Main/System/PhantasmPavilion/AvatarCell.cs index 0d9cade..876ffb9 100644 --- a/Main/System/PhantasmPavilion/AvatarCell.cs +++ b/Main/System/PhantasmPavilion/AvatarCell.cs @@ -88,27 +88,27 @@ } } - EffectPlayer m_AvatarUIEffect; - private EffectPlayer avatarUIEffect + UIEffectPlayer m_AvatarUIEffect; + private UIEffectPlayer avatarUIEffect { get { if (m_AvatarUIEffect == null) { - m_AvatarUIEffect = this.GetComponent<EffectPlayer>("AvatarCell/Img_Avatar"); + m_AvatarUIEffect = this.GetComponent<UIEffectPlayer>("AvatarCell/Img_Avatar"); } return m_AvatarUIEffect; } } - EffectPlayer m_AvatarFrameUIEffect; - private EffectPlayer avatarFrameUIEffect + UIEffectPlayer m_AvatarFrameUIEffect; + private UIEffectPlayer avatarFrameUIEffect { get { if (m_AvatarFrameUIEffect == null) { - m_AvatarFrameUIEffect = this.GetComponent<EffectPlayer>("AvatarCell/Img_AvatarFrame"); + m_AvatarFrameUIEffect = this.GetComponent<UIEffectPlayer>("AvatarCell/Img_AvatarFrame"); } return m_AvatarFrameUIEffect; } diff --git a/Main/System/Team/TeamManager.cs b/Main/System/Team/TeamManager.cs index 9fe2403..15434cd 100644 --- a/Main/System/Team/TeamManager.cs +++ b/Main/System/Team/TeamManager.cs @@ -34,6 +34,10 @@ { // 鑻遍泟褰撳墠鎵�鏈夊湪鐨勯槦浼� List<int> heroTeams = heroInfo.itemHero.GetUseData(81); + if (heroTeams == null || heroTeams.Count == 0) + { + return; + } // 褰撳墠鑻遍泟鎵�鍦ㄧ殑闃熶紞淇℃伅 <闃熶紞绫诲瀷, <闃熷舰, 浣嶇疆>> @@ -151,9 +155,10 @@ if (!teamDict.TryGetValue(teamType, out team)) { - team = new TeamBase(teamType); - team.CreateDefault(HeroManager.Instance.GetPowerfulHeroList()); - teamDict.Add(teamType, team); + // 娴嬭瘯鐢� + // team = new TeamBase(teamType); + // team.CreateDefault(HeroManager.Instance.GetPowerfulHeroList()); + // teamDict.Add(teamType, team); } return team; diff --git a/Main/System/Team/TeamType.cs b/Main/System/Team/TeamType.cs index b63dd06..2b1654a 100644 --- a/Main/System/Team/TeamType.cs +++ b/Main/System/Team/TeamType.cs @@ -1,12 +1,14 @@ - +//涓庢湇鍔$鐨勭害瀹� 瀵瑰簲鍑芥暟GetSelectTeamTypeByAttackType public enum TeamType { None = 0, // PVE Story = 1, - + // PVP 杩涙敾 + Arena = 21, + // PVP 闃插畧 + ArenaDefense = 22, + Tower = 3, +} - // PVP - Arena = 101, -} \ No newline at end of file diff --git a/Main/System/Tip/MarqueeWin.cs b/Main/System/Tip/MarqueeWin.cs index c356d54..bbaf59b 100644 --- a/Main/System/Tip/MarqueeWin.cs +++ b/Main/System/Tip/MarqueeWin.cs @@ -12,7 +12,7 @@ [SerializeField] RichText marqueeText; [SerializeField] RectTransform marqueeBg; [SerializeField] TweenCurve tweenCurve; - [SerializeField] EffectPlayer m_Effect; + [SerializeField] UIEffectPlayer m_Effect; Vector3 fromPos; Vector3 toPos; diff --git a/Main/System/UIBase/UIBase.cs b/Main/System/UIBase/UIBase.cs index 2c5b83d..02d2031 100644 --- a/Main/System/UIBase/UIBase.cs +++ b/Main/System/UIBase/UIBase.cs @@ -353,17 +353,15 @@ /// <summary> /// 鎾斁UI鐗规晥 /// </summary> - /// <param name="effectName">鐗规晥璧勬簮鍚嶇О</param> + /// <param name="id">鐗规晥璧勬簮鍚嶇О</param> /// <param name="parent">鐗规晥鐖惰妭鐐癸紝榛樿涓哄綋鍓峌I</param> - /// <param name="autoDestroy">鏄惁鑷姩閿�姣侊紝榛樿涓簍rue</param> - /// <param name="destroyDelay">鑷姩閿�姣佸欢杩熸椂闂达紝榛樿涓�5绉�</param> /// <returns>鐗规晥娓告垙瀵硅薄</returns> - public EffectPlayer PlayUIEffect(int id, Transform parent = null) + public UIEffectPlayer PlayUIEffect(int id, Transform parent = null) { // 浣跨敤榛樿鍊� if (parent == null) parent = transform; - return EffectPlayer.Create(id, parent, false); + return UIEffectPlayer.CreateEffect(id, parent, false); } #endregion diff --git a/Main/Utility/EnumHelper.cs b/Main/Utility/EnumHelper.cs index 767adfe..a597a7f 100644 --- a/Main/Utility/EnumHelper.cs +++ b/Main/Utility/EnumHelper.cs @@ -1633,8 +1633,8 @@ public enum TitleBtnState { - Normal, - Click, + Normal, //闈炵偣鍑荤姸鎬� + Click, //鐐瑰嚮鍚庣姸鎬� Locked, } diff --git a/Main/Utility/GameObjectPool.cs b/Main/Utility/GameObjectPool.cs deleted file mode 100644 index 5f294d8..0000000 --- a/Main/Utility/GameObjectPool.cs +++ /dev/null @@ -1,99 +0,0 @@ -锘縰sing System.Collections; -using System.Collections.Generic; -using UnityEngine; - - -public class GameObjectPool -{ - - private List<GameObject> m_FreeList; - private List<GameObject> m_ActiveList; - private GameObject m_Prefab; - - public int nameHashCode; - public string name; - - public GameObjectPool(GameObject prefab) - { - name = prefab.name; - nameHashCode = name.GetHashCode(); - - m_Prefab = prefab; - m_FreeList = new List<GameObject>(); - m_ActiveList = new List<GameObject>(); - } - - public GameObject Request() - { - GameObject _gameObject = null; - if (m_FreeList.Count == 0) - { - _gameObject = Object.Instantiate(m_Prefab); - _gameObject.name = name; - } - else - { - _gameObject = m_FreeList[0]; - m_FreeList.RemoveAt(0); - } - m_ActiveList.Add(_gameObject); - return _gameObject; - } - - public void Release(GameObject gameObject) - { - if (m_ActiveList.Contains(gameObject)) - { - m_ActiveList.Remove(gameObject); - } - else - { - Debug.LogWarningFormat("鎵�鍥炴敹鐨刧o瀵硅薄 {0} 骞朵笉鏄粠姹犻噷鍙栧緱鐨�...", gameObject.name); - } - m_FreeList.Add(gameObject); - - } - - public void Clear() - { - foreach (var _item in m_FreeList) - { - Object.Destroy(_item); - } - foreach (var _item in m_ActiveList) - { - Object.Destroy(_item); - } - m_FreeList.Clear(); - m_ActiveList.Clear(); - } - - public void Destroy() - { - - Clear(); - - m_Prefab = null; - - m_FreeList = null; - m_ActiveList = null; - } - -#if UNITY_EDITOR - public void ForeachActive(System.Action<GameObject> method) - { - for (int i = m_ActiveList.Count - 1; i >= 0; --i) - { - method(m_ActiveList[i]); - } - } - - public void ForeachFree(System.Action<GameObject> method) - { - for (int i = m_FreeList.Count - 1; i >= 0; --i) - { - method(m_FreeList[i]); - } - } -#endif -} -- Gitblit v1.8.0