yyl
2025-09-11 c3525dadcaa037816b654a6bb706284bbbf51af3
Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts
20个文件已修改
427 ■■■■ 已修改文件
Main/Component/UI/Core/ButtonEx.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Config/Configs/ItemConfig.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HappyXB/HappyXBModel.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Hero/HeroInfo.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Hero/HeroManager.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroBestWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroCardCell.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroCollectionLvUpWin.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroTrainWin.cs 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroUIManager.Collect.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroUIManager.cs 222 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/KnapSack/New/CommonItemBaisc.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/KnapSack/PackManager.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/MainLevel/MainBossEnterWin.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/OfficialRank/OfficialTitleCell.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/OfficialRank/OfficialUpCell.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/OfficialRank/OfficialUpWin.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Team/TeamBase.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Utility/EnumHelper.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Component/UI/Core/ButtonEx.cs
@@ -52,6 +52,10 @@
    public override void OnPointerDown(PointerEventData eventData)
    {
        if (this.interactable == false)
        {
            return;
        }
        base.OnPointerDown(eventData);
        transform.localScale = originalScale * pressedScale;
    }
Main/Config/Configs/ItemConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:           YYL
//    [  Date ]:           2025年8月5日
//    [  Date ]:           Wednesday, September 10, 2025
//--------------------------------------------------------
using System.Collections.Generic;
Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs
@@ -1,6 +1,5 @@
using UnityEngine;
using System.Collections;
using static UnityEditor.Experimental.GraphView.GraphView;
//04 18 周围对象刷新#tagObjInfoRefresh
Main/System/HappyXB/HappyXBModel.cs
@@ -592,7 +592,11 @@
    //英雄招募
    public void HeroCallRedPoint()
    {
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.HappyFindTreasure)) return;
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.HappyFindTreasure))
            return;
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Hero))
            return;
        // 免费 10连 积分
        bestXB10Red.state = RedPointState.None;
        bestXBFreeRed.state = RedPointState.None;
Main/System/Hero/HeroInfo.cs
@@ -41,15 +41,7 @@
            return itemHero.GetUseDataFirstValue(70);
        }
    }
    // 优先功能提醒类型:1觉醒 2升级 3突破 4升星
    // 优先顺序:
    public int funcState
    {
        get
        {
            return 0;
        }
    }
    public bool isLock
    {
Main/System/Hero/HeroManager.cs
@@ -10,13 +10,6 @@
    //初始创建(0725),后续跟随背包事件增加删除  key = guid
    protected Dictionary<string, HeroInfo> heroInfoDict = new Dictionary<string, HeroInfo>();
    //武将红点
    //MainRedDot.HeroCardRedpoint * 1000 + hero.itemHero.gridIndex;
    public Action<HeroInfo> onNewHeroEvent;
    public Action<HeroInfo> onHeroChangeEvent;
    public Action<int> onHeroDeleteEvent;
Main/System/HeroUI/HeroBestWin.cs
@@ -235,7 +235,7 @@
        }
        countryImg.SetSprite(HeroUIManager.Instance.GetCountryIconName(heroConfig.Country));
        awakeLevel = HeroAwakeConfig.GetMaxAwakeLV(HeroUIManager.Instance.selectForPreviewHeroID);
        heroLevel = HeroUIManager.Instance.GetMaxLVByBreakLV(heroConfig.Quality, breakLevel);
        heroLevel = HeroUIManager.Instance.GetMaxLV(heroConfig.Quality);
        if (awakeLevel == 0)
        {
            awakeLVText.text = Language.Get("L1094") + heroLevel;
Main/System/HeroUI/HeroCardCell.cs
@@ -12,6 +12,7 @@
    [SerializeField] UIHeroController heroModel;
    [SerializeField] Image onStateImg;
    [SerializeField] RedpointBehaviour redpoint;
    [SerializeField] Image newImage;    //新标识和红点互斥
    [SerializeField] Image trainStateImg;
    [SerializeField] Text nameText;
    [SerializeField] Image awakeImg;
@@ -38,12 +39,23 @@
        heroModel.Create(heroConfig.SkinIDList[hero.SkinIndex], heroConfig.UIScale);
        onStateImg.SetActive(hero.IsInTeamByTeamType(TeamType.Story));
        redpoint.redpointId = MainRedDot.HeroCardRedpoint * 1000 + hero.itemHero.gridIndex;
        var funcState = hero.funcState;
        int teamPos = TeamManager.Instance.GetTeam(TeamType.Story).GetPosition(hero.itemHero.guid);
        if (teamPos >= 0)
        {
            redpoint.redpointId = MainRedDot.HeroCardRedpoint * 10 + teamPos;
            newImage.SetActive(false);
        }
        else
        {
            redpoint.redpointId = 0;
            newImage.SetActive(HeroUIManager.Instance.newHeroIDList.Contains(hero.heroId));
        }
        var funcState = HeroUIManager.Instance.GetFuncState(hero);
        if (funcState > 0)
        {
            trainStateImg.SetActive(true);
            trainStateImg.SetSprite("herofuncstate" + hero.funcState);
            trainStateImg.SetSprite("herofuncstate" + funcState);
        }
        else
        {
Main/System/HeroUI/HeroCollectionLvUpWin.cs
@@ -60,10 +60,10 @@
        HB122_tagSCHeroInfo.tagSCHero colData;
        HeroUIManager.Instance.TryGetHeroBookInfo(HeroUIManager.Instance.selectCollectHeroID, out colData);
        var bookPer = HeroUIManager.Instance.GetHeroBookPer(HeroUIManager.Instance.selectCollectHeroID);
        if (state == 5)
        if (state == 5 || state == 2)
        {
            //已满级
            titleText.text = Language.Get("HeroAwake13");
            titleText.text = state == 5 ? Language.Get("HeroAwake13") : Language.Get("HeroAwake12");
            fullPanel.SetActive(true);
            lvupPanel.SetActive(false);
@@ -85,8 +85,9 @@
            }
            else
            {
                fullImg.SetActive(true);
                btn.SetActive(false);
                fullImg.SetActive(state == 5);
                btn.SetActive(state == 2);
                btnText.text = Language.Get("L1109");
            }
        }
@@ -111,8 +112,8 @@
                //激活
                addPer = qualityConfig.BookInitAddPer;
                btnText.text = Language.Get("L1131");   //L1131    激活
                awardInfo.text = Language.Get("HeroAwake10", UIHelper.GetIconNameWithMoneyType(HeroUIManager.Instance.bookMoneyType),
                    HeroUIManager.Instance.bookMoneyValue);
                awardInfo.text = Language.Get("HeroAwake10", UIHelper.GetIconNameWithMoneyType(qualityConfig.BookActAwardMoney[0]),
                    qualityConfig.BookActAwardMoney[1]);
                unActiveGo.SetActive(true);
                titleText.text = Language.Get("HeroAwake11");
            }
Main/System/HeroUI/HeroTrainWin.cs
@@ -88,6 +88,11 @@
    [SerializeField] Text freezeAawkeLVText;
    [SerializeField] List<Image> starImgFreezeList;
    //伪红点用图片代替
    [SerializeField] Image redpointAwake;
    [SerializeField] Image redpointGift;
    [SerializeField] Image redpointLVUP;
    string guid;
    HeroInfo hero;
@@ -168,7 +173,7 @@
        awakeCellList = new List<GameObject>();
        freezeTipBtn.AddListener(() =>
        {
        {
            freezeTipGo.SetActive(!freezeTipGo.activeSelf);
        });
    }
@@ -242,6 +247,9 @@
        RefreshGift();
        RefreshAwake();
        RefreshFreeze();
        RefreshRedImg();
        HeroUIManager.Instance.RemoveNewHero(hero.heroId);
    }
    void RefreshItemLockEvent(PackType type, string guid, bool lockState)
@@ -333,7 +341,7 @@
    {
        RefreshStars();
        nameText.text = hero.breakLevel == 0 ? hero.heroConfig.Name : Language.Get("herocardbreaklv", hero.heroConfig.Name, hero.breakLevel);
        nameText.color = UIHelper.GetUIColorByFunc(hero.Quality);
        if (hero.Quality >= 4)
@@ -713,7 +721,65 @@
        {
            freezeTipBtn.SetActive(false);
        }
        freezeTipGo.SetActive(false);
    }
    void RefreshRedImg()
    {
        redpointAwake.SetActive(false);
        redpointGift.SetActive(false);
        redpointLVUP.SetActive(false);
        if (!hero.IsInTeamByTeamType(TeamType.Story))
        {
            return;
        }
        var heroCnt = PackManager.Instance.GetItemCountByID(PackType.Hero, hero.heroId);
        var itemPack = PackManager.Instance.GetSinglePack(PackType.Item);
        //5星后才能觉醒
        if (hero.heroStar >= HeroUIManager.Instance.starLevelCanAwake)
        {
            //判断觉醒材料是否足够
            var maxAwakeLV = HeroAwakeConfig.GetMaxAwakeLV(hero.heroId);
            if (hero.awakeLevel < maxAwakeLV)
            {
                var config = HeroQualityAwakeConfig.GetQualityAwakeConfig(hero.Quality, hero.awakeLevel);
                if (itemPack.GetCountById(config.UPCostItem[0]) >= config.UPCostItem[1])
                {
                    redpointAwake.SetActive(true);
                }
            }
        }
        if (heroCnt > 1)
        {
            redpointGift.SetActive(true);
        }
        var maxBreakLV = HeroBreakConfig.GetMaxBreakLv(hero.heroId);
        if (hero.breakLevel < maxBreakLV)
        {
            if (HeroUIManager.Instance.IsLVMaxByBreakLevel(hero))
            {
                var breakConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel);
                if (itemPack.GetCountById(breakConfig.UPCostItem[0]) >= breakConfig.UPCostItem[1])
                {
                    redpointLVUP.SetActive(true);
                    return;
                }
            }
        }
        if (!HeroUIManager.Instance.IsLVMax(hero))
        {
            var lvupConfig = HeroQualityLVConfig.GetQualityLVConfig(hero.Quality, hero.heroLevel);
            if (itemPack.GetCountById(lvupConfig.UPCostItem[0]) >= lvupConfig.UPCostItem[1])
            {
                redpointLVUP.SetActive(true);
            }
        }
    }
}
Main/System/HeroUI/HeroUIManager.Collect.cs
@@ -16,9 +16,6 @@
    public int selectHeroCollectListCountry = 0;    //武将列表界面筛选国家
    public int selectCollectHeroID; //选中的武将id 用于升级
    public int bookMoneyType; //图鉴奖励货币类型
    public int bookMoneyValue;//图鉴奖励货币数量
    public int selectForPreviewHeroID; //选中的武将id 用于预览
    //图鉴和皮肤的激活情况
@@ -35,6 +32,7 @@
        }
        allHeroBookPer = GetHeroCollectBookPer();
        OnHeroCollectEvent?.Invoke();
        UpdateHeroBookRedpoint();
    }
Main/System/HeroUI/HeroUIManager.cs
@@ -1,6 +1,8 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Jace.Operations;
using LitJson;
using UnityEngine;
@@ -13,25 +15,36 @@
    public int selectHeroListJob = 0;    //武将列表界面 筛选职业
    public int selectHeroListCountry = 0;    //武将列表界面筛选国家
    public string selectHeroGuid; //选中的武将id
    public int[] heroRedpointItemList;  //有影响红点的道具
    #endregion
    public WaitHeroFuncResponse waitResponse;    //请求武将功能,与服务端交互
    //用于非上阵武将战力变化时 武将ID:上次战力
    //使用方法:其他功能界面设置该值即可
    public KeyValuePair<string, long> lastFightPower = new KeyValuePair<string, long>();
    public KeyValuePair<string, long> lastFightPower = new KeyValuePair<string, long>();
    public override void Init()
    {
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
        DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnLoginLoadOK;
        HeroManager.Instance.onHeroChangeEvent += OnHeroChangeEvent;
        GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
        PackManager.Instance.RefreshItemEvent += RefreshItemEvent;
        TeamManager.Instance.OnTeamChange += OnTeamChangeEvent;
        ParseConfig();
        InitHeroOnTeamRedpointList();
        InitHeroBookRedpointList();
    }
    public override void Release()
    {
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
        DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnLoginLoadOK;
        HeroManager.Instance.onHeroChangeEvent -= OnHeroChangeEvent;
        GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
        PackManager.Instance.RefreshItemEvent -= RefreshItemEvent;
        TeamManager.Instance.OnTeamChange -= OnTeamChangeEvent;
    }
    void ParseConfig()
@@ -42,13 +55,11 @@
        rebornFormula = config.Numerical3;
        rebornPayBackPer = int.Parse(config.Numerical4);
        deletePayBackPer = int.Parse(config.Numerical5);
        ParseGiftConfig();
        config = FuncConfigConfig.Get("HeroBook");
        var arr = JsonMapper.ToObject<int[]>(config.Numerical1);
        bookMoneyType = arr[0];
        bookMoneyValue = arr[1];
        config = FuncConfigConfig.Get("HeroRedpoint");
        heroRedpointItemList = JsonMapper.ToObject<int[]>(config.Numerical1);
    }
    public void OnBeforePlayerDataInitialize()
@@ -58,13 +69,23 @@
        awakeRebirthCnt = 0;
        waitResponse = default;
        heroCollectInfoDic.Clear();
        newHeroIDList.Clear();
    }
    void OnLoginLoadOK()
    {
        UpdateHeroCardRedpoint();
    }
    private void OnHeroChangeEvent(HeroInfo hero)
    {
        if (!DTC0403_tagPlayerLoginLoadOK.finishedLogin)
            return;
        WaitServerResponse(hero);
        refreshRedPoint = true;
    }
    private void WaitServerResponse(HeroInfo hero)
@@ -98,7 +119,7 @@
        {
            var config = HeroAwakeConfig.GetHeroAwakeConfig(hero.heroId, hero.awakeLevel);
            if (hero.talentAwakeRandomIDList.Count > 0)
            {
            {
                UIManager.Instance.OpenWindow<HeroAwakeSelectGiftWin>();
            }
            else if (config.SkillID != 0 || config.UnlockTalentSlot != 0)
@@ -252,6 +273,7 @@
    public int selectHeroCallListJob = 0;    //筛选职业
    public int selectHeroCallListCountry = 0;    //筛选国家
    public List<int> newHeroIDList = new List<int>();  //新武将列表
    public bool IsNewHero(int heroID)
    {
        HB122_tagSCHeroInfo.tagSCHero bookInfo;
@@ -262,6 +284,7 @@
                //更精准的 需要比较本次抽的同武将个数 和 背包里有的个数再比较
                if (HappyXBModel.Instance.GetCountInResult(heroID) >= HeroManager.Instance.GetHeroCountByID(heroID))
                {
                    AddNewHero(heroID);
                    return true;
                }
                else
@@ -275,14 +298,34 @@
            }
        }
        AddNewHero(heroID);
        return true;
    }
    public void AddNewHero(int heroID)
    {
        if (newHeroIDList.Contains(heroID))
        {
            return;
        }
        newHeroIDList.Add(heroID);
    }
    public void RemoveNewHero(int heroID)
    {
        if (!newHeroIDList.Contains(heroID))
        {
            return;
        }
        newHeroIDList.Remove(heroID);
        refreshRedPoint = true;
    }
    List<int> allHeroCallScoreList = new List<int>();  //积分招募列表 
    public void SortHeroCallList()
    {
        if (allHeroCallScoreList.IsNullOrEmpty())
        {
        {
            allHeroCallScoreList = HappyXBModel.Instance.GetAllGridLibItemIDByType((int)HappXBTitle.HeroCallScore);
        }
        heroCallSortList = new List<int>();
@@ -319,13 +362,11 @@
        HeroConfig heroA = HeroConfig.Get(idA);
        HeroConfig heroB = HeroConfig.Get(idB);
        // 排序规则:武将品质>武将ID
        if (heroA.Quality != heroB.Quality)
        {
            return heroA.Quality > heroB.Quality ? -1 : 1;
        }
        return heroA.HeroID.CompareTo(heroB.HeroID);
    }
@@ -333,6 +374,167 @@
    #endregion
    // 优先功能提醒类型:1觉醒 2升星 3突破 4升级
    // 主线上阵武将才需要提醒  觉醒>升星>突破>升级
    public int GetFuncState(HeroInfo hero)
    {
        if (!hero.IsInTeamByTeamType(TeamType.Story))
        {
            return 0;
        }
        var heroCnt = PackManager.Instance.GetItemCountByID(PackType.Hero, hero.heroId);
        var itemPack = PackManager.Instance.GetSinglePack(PackType.Item);
        //5星后才能觉醒
        if (hero.heroStar < starLevelCanAwake)
        {
            if (heroCnt > 1) return 2;
        }
        else
        {
            //判断觉醒材料是否足够
            var maxAwakeLV = HeroAwakeConfig.GetMaxAwakeLV(hero.heroId);
            if (hero.awakeLevel < maxAwakeLV)
            {
                var config = HeroQualityAwakeConfig.GetQualityAwakeConfig(hero.Quality, hero.awakeLevel);
                if (itemPack.GetCountById(config.UPCostItem[0]) >= config.UPCostItem[1])
                {
                    return 1;
                }
            }
        }
        if (heroCnt > 1) return 2;
        var maxBreakLV = HeroBreakConfig.GetMaxBreakLv(hero.heroId);
        if (hero.breakLevel < maxBreakLV)
        {
            if (IsLVMaxByBreakLevel(hero))
            {
                var breakConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel);
                if (itemPack.GetCountById(breakConfig.UPCostItem[0]) >= breakConfig.UPCostItem[1])
                {
                    return 3;
                }
            }
        }
        if (!IsLVMax(hero))
        {
            var lvupConfig = HeroQualityLVConfig.GetQualityLVConfig(hero.Quality, hero.heroLevel);
            if (itemPack.GetCountById(lvupConfig.UPCostItem[0]) >= lvupConfig.UPCostItem[1])
            {
                return 4;
            }
        }
        return 0;
    }
    #region 红点
    public bool refreshRedPoint = false;
    List<Redpoint> heroOnTeamRedpointList = new List<Redpoint>();   //上阵的武将红点
    List<Redpoint> heroBookRedpointList = new List<Redpoint>(); //图鉴所有武将红点
    //新标识的红点 所有武将统一个
    Redpoint newMarkRedPoint = new Redpoint(MainRedDot.HeroCardRedpoint, MainRedDot.HeroCardRedpoint * 10 + 9);
    void InitHeroOnTeamRedpointList()
    {
        heroOnTeamRedpointList.Clear();
        for (int i = 0; i < TeamConst.MaxTeamHeroCount; i++)
        {
            heroOnTeamRedpointList.Add(new Redpoint(MainRedDot.HeroCardRedpoint, MainRedDot.HeroCardRedpoint * 10 + i));
        }
    }
    //武将卡的红点:只给上阵武将刷红点(含新标识),非上阵武将的新图标按图片处理不归类为红点
    void UpdateHeroCardRedpoint()
    {
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Hero))
            return;
        var team = TeamManager.Instance.GetTeam(TeamType.Story);
        for (int i = 0; i < heroOnTeamRedpointList.Count; i++)
        {
            var redpoint = heroOnTeamRedpointList[i];
            var teamHero = team.GetServerHeroByIndex(i);
            if (teamHero != null)
            {
                var hero = HeroManager.Instance.GetHero(teamHero.guid);
                if (hero != null)
                {
                    if (GetFuncState(hero) > 0)
                    {
                        redpoint.state = RedPointState.Simple;
                        continue;
                    }
                }
            }
            redpoint.state = RedPointState.None;
        }
        newMarkRedPoint.state = newHeroIDList.Count > 0 ? RedPointState.New : RedPointState.None;
    }
    void InitHeroBookRedpointList()
    {
        heroBookRedpointList.Clear();
        foreach (var key in HeroConfig.GetKeys())
        {
            heroBookRedpointList.Add(new Redpoint(MainRedDot.HeroCardCollectRedpoint, MainRedDot.HeroCardCollectRedpoint * 10000000 + key));
        }
    }
    void UpdateHeroBookRedpoint()
    {
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Hero))
            return;
        foreach (var redpoint in heroBookRedpointList)
        {
            var heroID = redpoint.id % 10000000;
            var state = GetHeroBookState(heroID, HeroConfig.Get(heroID).Quality);
            if (state == 1 || state == 3 || state == 4)
            {
                redpoint.state = RedPointState.Simple;
                continue;
            }
            redpoint.state = RedPointState.None;
        }
    }
    void OnSecondEvent()
    {
        if (refreshRedPoint)
        {
            UpdateHeroCardRedpoint();
            refreshRedPoint = false;
        }
    }
    void RefreshItemEvent(PackType packType, int index, int itemID)
    {
        if (packType != PackType.Item)
            return;
        if (heroRedpointItemList.Contains(itemID))
        {
            refreshRedPoint = true;
        }
    }
    void OnTeamChangeEvent(TeamType teamType)
    {
        if (teamType == TeamType.Story)
        {
            refreshRedPoint = true;
        }
    }
    #endregion
}
#region 等待服务端响应
Main/System/KnapSack/New/CommonItemBaisc.cs
@@ -330,12 +330,11 @@
    void DisPlayEffect(ItemConfig config)
    {
        if (itemBaseEffect == null)
            return;
        if (config.BaseEffectID == 0)
        {
            if (itemBaseEffect != null)
            {
                itemBaseEffect.SetActive(false);
            }
            itemBaseEffect.SetActive(false);
        }
        else
        {
Main/System/KnapSack/PackManager.cs
@@ -434,8 +434,9 @@
            if (itemGUIDDict[guid].packType == type)
            {
                itemGUIDDict.Remove(guid);
                DeleteItemEvent?.Invoke(type, guid, itemID, index, clearType);
            }
            //只是背包转移,不删除但也要通知
            DeleteItemEvent?.Invoke(type, guid, itemID, index, clearType);
        }
    }
Main/System/MainLevel/MainBossEnterWin.cs
@@ -107,9 +107,7 @@
        var canChallengeBoss = AutoFightModel.Instance.CanChallengeBoss();
        fightBtn.interactable = canChallengeBoss;
        fightBtn.SetColorful(null, canChallengeBoss);
        fightBtn.SetInteractable(canChallengeBoss);
        for (int i = 0; i < passAwards.Length; i++)
        {
Main/System/OfficialRank/OfficialTitleCell.cs
@@ -14,14 +14,14 @@
    }
    Transform m_OfficialRankObj;
    private Transform officialRankObj
    Image m_OfficialRankObj;
    private Image officialRankObj
    {
        get
        {   
            if (m_OfficialRankObj == null)
            {
                m_OfficialRankObj = this.GetComponent<Transform>("OfficialTitleCell/offcialRank");
                m_OfficialRankObj = this.GetComponent<Image>("OfficialTitleCell/offcialRank");
            }
            return m_OfficialRankObj;
        }
@@ -97,8 +97,12 @@
        if (titleID == 0)
        {
            officialRankObj.SetActive(true);
            var config = RealmConfig.Get(offcialRank);
            officialRankObj.SetSprite("OfficialRank" + offcialRank);
            titleUIFrame.SetActive(false);
            officialRankText.text = RealmConfig.Get(offcialRank).Name;
            officialRankText.text = config.Name;
            officialRankText.color = OfficialRankManager.Instance.GetOfficialRankColor(config.Quality);
        }
        else
        {
Main/System/OfficialRank/OfficialUpCell.cs
@@ -14,6 +14,7 @@
    [SerializeField] Image bgImg;
    [SerializeField] Image finishImg;
    [SerializeField] Image getAwardImg;
    [SerializeField] GameObject getAwardEffect;
    [SerializeField] Text taskName;
    [SerializeField] Image taskProcess;
    [SerializeField] Text taskProcessText;
@@ -29,6 +30,7 @@
        stateImg.SetSprite("OfficialMisionState" + state);
        finishImg.SetActive(state == 2);
        getAwardImg.SetActive(state == 1);
        getAwardEffect.SetActive(state == 1);
        bgImg.SetSprite(state == 0 ? "OfficialMissionBG0" : "OfficialMissionBG1");
        switch (config.TaskType)
        {
Main/System/OfficialRank/OfficialUpWin.cs
@@ -106,15 +106,15 @@
            missionCellArr[i].Display(ids[i]);
        }
        for (int i = 0; i < missionCellArr.Length; i++)
        {
            if (OfficialRankManager.Instance.GetMissionAwardState(i + 1) != 1)
            {
                lvUpBtn.SetColorful(null, false);
                return;
            }
        }
        lvUpBtn.SetColorful(null, true);
        // for (int i = 0; i < missionCellArr.Length; i++)
        // {
        //     if (OfficialRankManager.Instance.GetMissionAwardState(i + 1) != 1)
        //     {
        //         lvUpBtn.SetColorful(null, false);
        //         return;
        //     }
        // }
        // lvUpBtn.SetColorful(null, true);
    }
Main/System/Team/TeamBase.cs
@@ -295,6 +295,18 @@
        return -1; // No empty position
    }
    public int GetPosition(string guid)
    {
        foreach (var hero in serverHeroes)
        {
            if (hero != null && hero.guid == guid)
            {
                return hero.positionNum;
            }
        }
        return  -1;
    }
    //  布阵接口
    private void SetTeamHero(int posNum, TeamHero hero)
    {
Main/Utility/EnumHelper.cs
@@ -818,14 +818,14 @@
//功能开启限制类型
public enum FuncOpenEnum
{
    Strength = 1,//装备强化
    Gem = 2,//宝石镶嵌
    Wing = 3,//翅膀
    Hero = 1,//武将
    Challenge = 2,//挑战
    Official = 3,//内政
    Pet = 6,//灵宠
    Treasure = 7,//法宝
    Mounts = 8,//坐骑
    Rune = 9,//符印
    Realm = 12, //境界
    Realm = 12, //境界 官职
    Fairy = 15,// 仙盟
    FairyTask = 16,
    GodWeapon = 20,  //神兵