hch
4 天以前 359b1259da64376c9c885fd6f1de6512a215e197
497 【武将】武将时装 - 配音
2个文件已添加
6个文件已修改
256 ■■■■ 已修改文件
Main/Config/ConfigManager.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Config/Configs/HeroSkinAttrConfig.cs 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Config/Configs/HeroSkinAttrConfig.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Config/Configs/HeroSkinConfig.cs 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/FirstCharge/HeroShowLHWin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroBestWin.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroTrainWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroUIManager.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Config/ConfigManager.cs
@@ -71,6 +71,7 @@
            typeof(HeroFatesQualityLVConfig),
            typeof(HeroLineupHaloConfig),
            typeof(HeroQualityLVConfig),
            typeof(HeroSkinAttrConfig),
            typeof(HorseClassConfig),
            typeof(HorseSkinConfig),
            typeof(ItemCompoundConfig),
@@ -327,6 +328,8 @@
        ClearConfigDictionary<HeroLineupHaloConfig>();
        // 清空 HeroQualityLVConfig 字典
        ClearConfigDictionary<HeroQualityLVConfig>();
        // 清空 HeroSkinAttrConfig 字典
        ClearConfigDictionary<HeroSkinAttrConfig>();
        // 清空 HorseClassConfig 字典
        ClearConfigDictionary<HorseClassConfig>();
        // 清空 HorseSkinConfig 字典
Main/Config/Configs/HeroSkinAttrConfig.cs
New file
@@ -0,0 +1,134 @@
//--------------------------------------------------------
//    [Author]:           YYL
//    [  Date ]:           2026年3月4日
//--------------------------------------------------------
using System.Collections.Generic;
using System;
using UnityEngine;
using LitJson;
public partial class HeroSkinAttrConfig : ConfigBase<int, HeroSkinAttrConfig>
{
    static HeroSkinAttrConfig()
    {
        // 访问过静态构造函数
        visit = true;
    }
    public int SkinID;
    public int NeedItemID;
    public int StarMax;
    public int[] WearAttrIDList;
    public int[] WearAttrValueList;
    public int[] WearAttrPerStarAddList;
    public int[] RoleAttrIDList;
    public int[] RoleAttrValueList;
    public int[] RoleAttrPerStarAddList;
    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 SkinID);
            int.TryParse(tables[1],out NeedItemID);
            int.TryParse(tables[2],out StarMax);
            if (tables[3].Contains("["))
            {
                WearAttrIDList = JsonMapper.ToObject<int[]>(tables[3]);
            }
            else
            {
                string[] WearAttrIDListStringArray = tables[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                WearAttrIDList = new int[WearAttrIDListStringArray.Length];
                for (int i=0;i<WearAttrIDListStringArray.Length;i++)
                {
                     int.TryParse(WearAttrIDListStringArray[i],out WearAttrIDList[i]);
                }
            }
            if (tables[4].Contains("["))
            {
                WearAttrValueList = JsonMapper.ToObject<int[]>(tables[4]);
            }
            else
            {
                string[] WearAttrValueListStringArray = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                WearAttrValueList = new int[WearAttrValueListStringArray.Length];
                for (int i=0;i<WearAttrValueListStringArray.Length;i++)
                {
                     int.TryParse(WearAttrValueListStringArray[i],out WearAttrValueList[i]);
                }
            }
            if (tables[5].Contains("["))
            {
                WearAttrPerStarAddList = JsonMapper.ToObject<int[]>(tables[5]);
            }
            else
            {
                string[] WearAttrPerStarAddListStringArray = tables[5].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                WearAttrPerStarAddList = new int[WearAttrPerStarAddListStringArray.Length];
                for (int i=0;i<WearAttrPerStarAddListStringArray.Length;i++)
                {
                     int.TryParse(WearAttrPerStarAddListStringArray[i],out WearAttrPerStarAddList[i]);
                }
            }
            if (tables[6].Contains("["))
            {
                RoleAttrIDList = JsonMapper.ToObject<int[]>(tables[6]);
            }
            else
            {
                string[] RoleAttrIDListStringArray = tables[6].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                RoleAttrIDList = new int[RoleAttrIDListStringArray.Length];
                for (int i=0;i<RoleAttrIDListStringArray.Length;i++)
                {
                     int.TryParse(RoleAttrIDListStringArray[i],out RoleAttrIDList[i]);
                }
            }
            if (tables[7].Contains("["))
            {
                RoleAttrValueList = JsonMapper.ToObject<int[]>(tables[7]);
            }
            else
            {
                string[] RoleAttrValueListStringArray = tables[7].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                RoleAttrValueList = new int[RoleAttrValueListStringArray.Length];
                for (int i=0;i<RoleAttrValueListStringArray.Length;i++)
                {
                     int.TryParse(RoleAttrValueListStringArray[i],out RoleAttrValueList[i]);
                }
            }
            if (tables[8].Contains("["))
            {
                RoleAttrPerStarAddList = JsonMapper.ToObject<int[]>(tables[8]);
            }
            else
            {
                string[] RoleAttrPerStarAddListStringArray = tables[8].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                RoleAttrPerStarAddList = new int[RoleAttrPerStarAddListStringArray.Length];
                for (int i=0;i<RoleAttrPerStarAddListStringArray.Length;i++)
                {
                     int.TryParse(RoleAttrPerStarAddListStringArray[i],out RoleAttrPerStarAddList[i]);
                }
            }
        }
        catch (Exception exception)
        {
            Debug.LogError(exception);
        }
    }
}
Main/Config/Configs/HeroSkinAttrConfig.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 19252a3a70e332947a5a71105bfe19a0
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Main/Config/Configs/HeroSkinConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:           YYL
//    [  Date ]:           2026年2月13日
//    [  Date ]:           Wednesday, March 4, 2026
//--------------------------------------------------------
using System.Collections.Generic;
@@ -17,10 +17,8 @@
    }
    public int SkinID;
    public int[] WearAttrIDList;
    public int[] WearAttrValueList;
    public int[] AllBatAttrIDList;
    public int[] AllBatAttrValueList;
    public string SkinName;
    public int AudioID;
    public string Tachie;
    public float[] TachieParam;
    public string SquareIcon;
@@ -43,71 +41,19 @@
        string[] tables = input.Split('\t');
        int.TryParse(tables[0],out SkinID); 
            if (tables[1].Contains("["))
            {
                WearAttrIDList = JsonMapper.ToObject<int[]>(tables[1]);
            }
            else
            {
                string[] WearAttrIDListStringArray = tables[1].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                WearAttrIDList = new int[WearAttrIDListStringArray.Length];
                for (int i=0;i<WearAttrIDListStringArray.Length;i++)
                {
                     int.TryParse(WearAttrIDListStringArray[i],out WearAttrIDList[i]);
                }
            }
            SkinName = tables[1];
            if (tables[2].Contains("["))
            {
                WearAttrValueList = JsonMapper.ToObject<int[]>(tables[2]);
            }
            else
            {
                string[] WearAttrValueListStringArray = tables[2].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                WearAttrValueList = new int[WearAttrValueListStringArray.Length];
                for (int i=0;i<WearAttrValueListStringArray.Length;i++)
                {
                     int.TryParse(WearAttrValueListStringArray[i],out WearAttrValueList[i]);
                }
            }
            int.TryParse(tables[2],out AudioID);
            if (tables[3].Contains("["))
            {
                AllBatAttrIDList = JsonMapper.ToObject<int[]>(tables[3]);
            }
            else
            {
                string[] AllBatAttrIDListStringArray = tables[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                AllBatAttrIDList = new int[AllBatAttrIDListStringArray.Length];
                for (int i=0;i<AllBatAttrIDListStringArray.Length;i++)
                {
                     int.TryParse(AllBatAttrIDListStringArray[i],out AllBatAttrIDList[i]);
                }
            }
            Tachie = tables[3];
            if (tables[4].Contains("["))
            {
                AllBatAttrValueList = JsonMapper.ToObject<int[]>(tables[4]);
                TachieParam = JsonMapper.ToObject<float[]>(tables[4]);
            }
            else
            {
                string[] AllBatAttrValueListStringArray = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                AllBatAttrValueList = new int[AllBatAttrValueListStringArray.Length];
                for (int i=0;i<AllBatAttrValueListStringArray.Length;i++)
                {
                     int.TryParse(AllBatAttrValueListStringArray[i],out AllBatAttrValueList[i]);
                }
            }
            Tachie = tables[5];
            if (tables[6].Contains("["))
            {
                TachieParam = JsonMapper.ToObject<float[]>(tables[6]);
            }
            else
            {
                string[] TachieParamStringArray = tables[6].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                string[] TachieParamStringArray = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                TachieParam = new float[TachieParamStringArray.Length];
                for (int i=0;i<TachieParamStringArray.Length;i++)
                {
@@ -115,19 +61,19 @@
                }
            }
            SquareIcon = tables[7];
            SquareIcon = tables[5];
            RectangleIcon = tables[8];
            RectangleIcon = tables[6];
            SpineRes = tables[9];
            SpineRes = tables[7];
            InitialSkinName = tables[10];
            InitialSkinName = tables[8];
            ApearMotionName = tables[11];
            ApearMotionName = tables[9];
            TransfMotionName = tables[12];
            TransfMotionName = tables[10];
            LoopMotionName = tables[13];
            LoopMotionName = tables[11];
        }
        catch (Exception exception)
        {
Main/System/FirstCharge/HeroShowLHWin.cs
@@ -57,6 +57,8 @@
        roleLHModelTween2.SetStartState();
        roleLHModelTween2.Play();
        bgTexture.SetTexture2D("countryBG" + hero.Country);
        HeroUIManager.Instance.PlayerLHSound(hero.SkinIDList[0]);
    }
    void RefreshHeroInfo(int heroID)
Main/System/HeroUI/HeroBestWin.cs
@@ -140,8 +140,8 @@
        jobImg.SetSprite(HeroUIManager.Instance.GetJobIconName(heroConfig.Class));
        jobPosNameText.text = HeroUIManager.Instance.GetJobName(heroConfig.Class);
        descText.text = heroConfig.Desc;
        HeroUIManager.Instance.PlayerLHSound(skinID);
        RefreshConn();
        normalSkillCell.Init(heroConfig.AtkSkillID, () =>
        {
@@ -219,6 +219,7 @@
        }
        HeroUIManager.Instance.selectForPreviewHeroID = HeroUIManager.Instance.heroCollectList[resultIndex];
        Display();
    }
Main/System/HeroUI/HeroTrainWin.cs
@@ -236,6 +236,7 @@
        addPerObject.SetActive(false);
        allAttrScroll.verticalNormalizedPosition = 1;
        Display();
        HeroUIManager.Instance.PlayerLHSound(hero.SkinID);
    }
@@ -265,6 +266,7 @@
    {
        bgTexture.SetTexture2D("countryBG" + hero.heroConfig.Country);
        roleLhModel.Create(hero.SkinID, 1, motionName: "", isLh: true);
        roleXsModel.Create(hero.SkinID, 1);
        jobImg.SetSprite(HeroUIManager.Instance.GetJobIconName(hero.heroConfig.Class));
        jobPosNameText.text = HeroUIManager.Instance.GetJobName(hero.heroConfig.Class);
@@ -394,6 +396,8 @@
        guid = HeroUIManager.Instance.heroSortList[resultIndex];
        hero = HeroManager.Instance.GetHero(guid);
        Display();
        HeroUIManager.Instance.PlayerLHSound(hero.SkinID);
    }
Main/System/HeroUI/HeroUIManager.cs
@@ -259,6 +259,19 @@
        return per;
    }
    public void PlayerLHSound(int skinID)
    {
        if (NewBieCenter.Instance.inGuiding)
        {
            return;
        }
        var audioID = HeroSkinConfig.Get(skinID).AudioID;
        if (audioID > 0)
        {
            SoundPlayer.Instance.PlayNpcAudio(HeroSkinConfig.Get(skinID).AudioID);
        }
    }
    #endregion