lcy
2026-01-28 7e144da83766c9a0128116c8ba29557f29712845
441 公会相关界面 公会等级展示
3个文件已修改
6个文件已添加
180 ■■■■■ 已修改文件
Main/Config/ConfigManager.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Config/Configs/FamilyConfig.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Config/PartialConfigs/FamilyConfig.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Config/PartialConfigs/FamilyConfig.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildHallWin.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildLevelItem.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildLevelItem.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildLevelWin.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildLevelWin.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | 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: