| Main/Config/ConfigManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/Config/Configs/FamilyConfig.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/Config/PartialConfigs/FamilyConfig.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/Config/PartialConfigs/FamilyConfig.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Guild/GuildHallWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Guild/GuildLevelItem.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Guild/GuildLevelItem.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Guild/GuildLevelWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Guild/GuildLevelWin.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/Config/ConfigManager.cs
@@ -91,7 +91,6 @@ typeof(PlayerAttrConfig), typeof(PlayerFaceConfig), typeof(PresetUnlockConfig), typeof(PriorBundleConfig), typeof(RandomNameConfig), typeof(SignInConfig), typeof(StoreConfig), @@ -362,8 +361,6 @@ ClearConfigDictionary<PlayerFaceConfig>(); // 清空 PresetUnlockConfig 字典 ClearConfigDictionary<PresetUnlockConfig>(); // 清空 PriorBundleConfig 字典 ClearConfigDictionary<PriorBundleConfig>(); // 清空 RandomNameConfig 字典 ClearConfigDictionary<RandomNameConfig>(); // 清空 SignInConfig 字典 Main/Config/Configs/FamilyConfig.cs
@@ -1,6 +1,6 @@ //-------------------------------------------------------- // [Author]: YYL // [ Date ]: 2025年8月5日 // [ Date ]: 2026年1月28日 //-------------------------------------------------------- using System.Collections.Generic; @@ -21,6 +21,7 @@ public int DeputyLeaderMax; public int EliteMax; public int NeedExp; public string FuncText; public override int LoadKey(string _key) { @@ -41,6 +42,8 @@ int.TryParse(tables[3],out EliteMax); int.TryParse(tables[4],out NeedExp); FuncText = tables[5]; } catch (Exception exception) { Main/Config/PartialConfigs/FamilyConfig.cs
New file @@ -0,0 +1,42 @@ using System.Collections.Generic; using System.Linq; public partial class FamilyConfig : ConfigBase<int, FamilyConfig> { //战令类型: 所需值 :ZhanlingId static Dictionary<int, Dictionary<int, int>> typeToIDDict = new Dictionary<int, Dictionary<int, int>>(); protected override void OnConfigParseCompleted() { } public static bool TryGetFamilyConfig(int familyLV, out FamilyConfig familyConfig) { familyConfig = null; if (!HasKey(familyLV)) return false; familyConfig = Get(familyLV); return true; } public static bool TryGetNextLvConfig(int familyLV, out FamilyConfig nowConfig, out FamilyConfig nextConfig) { nextConfig = null; if (!TryGetFamilyConfig(familyLV, out nowConfig)) return false; int nextFamilyLV = familyLV + 1; if (!TryGetFamilyConfig(nextFamilyLV, out nextConfig)) return false; return true; } public static bool TryGetMaxFamilyLVConfig(out FamilyConfig maxConfig) { maxConfig = null; List<int> keys = GetKeys(); if (keys == null || keys.Count == 0) return false; int maxLV = keys.Max(); return TryGetFamilyConfig(maxLV, out maxConfig); } } Main/Config/PartialConfigs/FamilyConfig.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: dc8a70ad1c9a7ed488fe7326ef097ce2 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/System/Guild/GuildHallWin.cs
@@ -42,7 +42,7 @@ }); guildLVBtn.AddListener(() => { // UIManager.Instance.OpenWindow<GuildLevelUpWin>(); UIManager.Instance.OpenWindow<GuildLevelWin>(); }); noticeBtn.AddListener(() => @@ -98,8 +98,8 @@ guildNameText.text = guildInfo.FamilyName + Language.Get("L1039", ServerListCenter.Instance.GetServerName(guildInfo.ServerID)); guildNumText.text = GuildManager.Instance.EncryptGuildID(guildInfo.FamilyID); noticeText.text = string.IsNullOrEmpty(guildInfo.Broadcast) ? Language.Get("Guild_62") : guildInfo.Broadcast; lvExpProcess.fillAmount = (float)guildInfo.FamilyLVExp / config.NeedExp; expText.text = guildInfo.FamilyLVExp + "/" + config.NeedExp; lvExpProcess.fillAmount = config.NeedExp == 0 ? 1 : (float)guildInfo.FamilyLVExp / config.NeedExp; expText.text = config.NeedExp == 0 ? Language.Get("L1055") : StringUtility.Concat(guildInfo.FamilyLVExp.ToString(), "/", config.NeedExp.ToString()); } Main/System/Guild/GuildLevelItem.cs
New file @@ -0,0 +1,16 @@ using UnityEngine; public class GuildLevelItem : MonoBehaviour { [SerializeField] TextEx lvText; [SerializeField] TextEx memberMaxText; [SerializeField] TextEx funcInfoText; public void Display(FamilyConfig config) { if (config == null) return; lvText.text = Language.Get("BattlePassValue1", config.FamilyLV); memberMaxText.text = StringUtility.Concat(Language.Get("Guild_81"), Language.Get("Guild_40", config.MemberMax)); funcInfoText.text = StringUtility.Concat(Language.Get("Guild_81"), Language.Get("Guild_39", config.FuncText)); ; } } Main/System/Guild/GuildLevelItem.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: a0dc23011932ea5488d36288228cdf8e MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/System/Guild/GuildLevelWin.cs
New file @@ -0,0 +1,75 @@ using UnityEngine; /// <summary> /// 公会等级界面 /// </summary> public class GuildLevelWin : UIBase { [SerializeField] Transform noMax; [SerializeField] Transform max; [SerializeField] GuildLevelItem nowItem; [SerializeField] GuildLevelItem nextItem; [SerializeField] GuildLevelItem maxItem; [SerializeField] ImageEx sliderImage; [SerializeField] TextEx sliderText; protected override void OnPreOpen() { PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo; Display(); } protected override void OnPreClose() { PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo; } private void OnRefreshFairyInfo() { Display(); } private void Display() { PlayerFairyData fairyData = PlayerDatas.Instance.fairyData; if (fairyData == null || !fairyData.HasFairy || fairyData.fairy == null) return; int nowFamilyLV = fairyData.fairy.FamilyLV; bool hasNextLv = FamilyConfig.TryGetNextLvConfig(nowFamilyLV, out FamilyConfig nowConfig, out FamilyConfig nextConfig); noMax.SetActive(hasNextLv); max.SetActive(!hasNextLv); nowItem.SetActive(hasNextLv); nextItem.SetActive(hasNextLv); maxItem.SetActive(!hasNextLv); if (hasNextLv) { nowItem.Display(nowConfig); nextItem.Display(nextConfig); RefreshSlider(); return; } if (!FamilyConfig.TryGetMaxFamilyLVConfig(out FamilyConfig maxConfig)) return; maxItem.Display(maxConfig); } public void RefreshSlider() { PlayerFairyData fairyData = PlayerDatas.Instance.fairyData; if (fairyData == null || !fairyData.HasFairy || fairyData.fairy == null) return; int nowFamilyLV = fairyData.fairy.FamilyLV; bool hasNextLv = FamilyConfig.TryGetNextLvConfig(nowFamilyLV, out FamilyConfig nowConfig, out FamilyConfig nextConfig); if (hasNextLv) { int familyLVExp = fairyData.fairy.FamilyLVExp; sliderImage.fillAmount = nowConfig.NeedExp == 0 ? 1 : (float)familyLVExp / nowConfig.NeedExp; sliderText.text = nowConfig.NeedExp == 0 ? Language.Get("L1055") : StringUtility.Concat(familyLVExp.ToString(), "/", nowConfig.NeedExp.ToString()); } } } Main/System/Guild/GuildLevelWin.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 834b5b5af88e38d4783f30efa3d89599 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: