少年修仙传客户端代码仓库
client_Hale
2018-09-21 8ec139a41a68bc0aebd3c2de4912276d3db3bd8e
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
13个文件已修改
2个文件已添加
504 ■■■■ 已修改文件
System/DailyQuest/DailyQuestWin.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DayRemind.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonModel.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyLeagueModel.cs 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyLeagueNoticeWin.cs 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyLeagueNoticeWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Message/WordAnalysis.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/ImpactRankModel.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServerActivityWin.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastAttributes.cs 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastModel.cs 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastReinforcementWin.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/FairyTreasureCollectPanelPattern5.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WorldMap/LocalMapFindPath.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestWin.cs
@@ -32,6 +32,7 @@
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        PlayerTaskDatas taskModel { get { return ModelCenter.Instance.GetModel<PlayerTaskDatas>(); } }
        TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
        MapModel mapModel { get { return ModelCenter.Instance.GetModel<MapModel>(); } }
        public int guidingDailyQuestId = 0;
@@ -295,6 +296,13 @@
                    WindowCenter.Instance.CloseImmediately<DailyQuestWin>();
                    WindowCenter.Instance.Open<PetWin>(false, 2);
                    break;
                case DailyQuestType.KillMonster:
                    var point = mapModel.GetRecommendHangPoint();
                    var mapEventConfig = Config.Instance.Get<MapEventPointConfig>(point);
                    mapModel.wannaLookLocalMap = mapEventConfig.MapID;
                    WindowCenter.Instance.CloseImmediately<DailyQuestWin>();
                    WindowCenter.Instance.Open<LocalMapWin>();
                    break;
                default:
                    break;
            }
System/DailyQuest/DayRemind.cs
@@ -45,6 +45,7 @@
    public const string OSGIFT_REDPOINT = "OSGitf_Redpoint";
    public const string TASK_SKILL_HOLE = "TaskSkillHole";
    public const string RUNE_SPECIAL_HOLE = "RuneSpecialHole";
    public const string LEAGUE_NOTICE_REDPOINT = "LeagueNoticeRedpoint";
    public Dictionary<string, int[]> dayRemindDic = new Dictionary<string, int[]>();
    public bool GetDayRemind(string _remindKey)
@@ -98,6 +99,7 @@
        SetDayRemind(OSGIFT_REDPOINT);
        SetDayRemind(TASK_SKILL_HOLE);
        SetDayRemind(RUNE_SPECIAL_HOLE);
        SetDayRemind(LEAGUE_NOTICE_REDPOINT);
    }
    private void SetDayRemind(string _key)
System/Dungeon/DungeonModel.cs
@@ -496,15 +496,6 @@
        private string GroupChallengeOnlyOneTip(int _mapId)
        {
            switch (_mapId)
            {
                case 60010:
                    if (PlayerDatas.Instance.baseData.LV < GeneralConfig.Instance.trialDungeonGroupChallengeTipLv)
                    {
                        return Language.Get("SingleIntoFB");
                    }
                    break;
            }
            return Language.Get("FBEnter_OnlyYou");
        }
System/FairyAu/FairyLeagueModel.cs
@@ -9,7 +9,7 @@
namespace Snxxz.UI
{
    public class FairyLeagueModel : Model, IAfterPlayerDataInitialize, IBeforePlayerDataInitialize, IPlayerLoginOk
    public class FairyLeagueModel : Model, IAfterPlayerDataInitialize, IBeforePlayerDataInitialize, IPlayerLoginOk,IOpenServerActivity
    {
        public event Action OnRefreshFairyLeagueEvent;
@@ -123,9 +123,11 @@
            DTCA003_tagUniversalGameRecInfo.onGetUniversalGameInfo += OnGetUniversalGameInfo;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent;
            StageManager.Instance.onStageLoadFinish += OnStageLoadFinish;
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
            TimeMgr.Instance.OnMinuteEvent += MinuteEvent;
            TimeMgr.Instance.OnDayEvent += DayEvent;
            fairyLeagueHelp = new FairyLeagueHelp();
            OpenServerActivityCenter.Instance.Register((int)OpenServerActivityCenter.OSActivityType.FairyLeagueNotice, this);
        }
        public override void UnInit()
@@ -154,6 +156,7 @@
            cacheLeagueStage = fairyLeagueStage;
            CheckFairyLeagueData();
            UpdateRedpoint();
            UpdateNoticeRedpoint();
            serverInited = true;
        }
@@ -244,6 +247,7 @@
        readonly List<int> fairyLeagueStateValues = new List<int>() { 11, 12, 13, 21, 22, 23 };
        FairyLeagueWeekTime fairyLeagueWeekTime = new FairyLeagueWeekTime();
        Dictionary<int, Dictionary<int, FairyLeagueWeekTime>> specialLeagueTimes = new Dictionary<int, Dictionary<int, FairyLeagueWeekTime>>();
        public Dictionary<int,int> leagueNoticeWeapons { get; private set; }
        private void ParseConfig()
        {
            FuncConfigConfig cfg = Config.Instance.Get<FuncConfigConfig>("FamilyMatchGuide");
@@ -351,12 +355,15 @@
            integralAddition = int.Parse(cfg.Numerical5);
            cfg = Config.Instance.Get<FuncConfigConfig>("FamilyMatchResourcePoint1");
            crystalRateDict = ConfigParse.GetDic<int, float>(cfg.Numerical1);
            cfg = Config.Instance.Get<FuncConfigConfig>("FamilyForcast");
            leagueNoticeWeapons = ConfigParse.GetDic<int, int>(cfg.Numerical1);
        }
        int GetIndexOfWeek(int _openWeekDay, int _openDays, out int dayOfWeek)
        {
            var index = (_openWeekDay + _openDays - 1) / 7;
            var index = (_openWeekDay + _openDays - 2) / 7;
            dayOfWeek = (_openWeekDay + _openDays - 1) % 7;
            dayOfWeek = dayOfWeek == 0 ? 7 : dayOfWeek;
            return index;
        }
@@ -905,6 +912,7 @@
        #region 红点
        private Redpoint m_LeagueRedpoint = new Redpoint(107, 10704);
        public Redpoint m_JoinFairyLeagueRedpoint { get; private set; }
        public void UpdateRedpoint()
        {
            m_JoinFairyLeagueRedpoint.state = RedPointState.None;
@@ -918,6 +926,115 @@
                return;
            }
            m_JoinFairyLeagueRedpoint.state = RedPointState.Simple;
        }
        #endregion
        #region 仙盟联赛预告
        private void OnFuncStateChangeEvent(int func)
        {
            if (func == 142)
            {
                if (onStateUpate != null)
                {
                    onStateUpate((int)OpenServerActivityCenter.OSActivityType.FairyLeagueNotice);
                }
                UpdateNoticeRedpoint();
            }
        }
        public event Action<int> onStateUpate;
        public bool IsOpen
        {
            get
            {
                return FuncOpen.Instance.IsFuncOpen(142) && !IsAfterFirstLeague();
            }
        }
        public bool IsAdvance
        {
            get { return false; }
        }
        public bool priorityOpen
        {
            get { return false; }
        }
        public int GetBeforeFirstLeagueTime()
        {
            var seconds = 0;
            if (TimeUtility.OpenWeekCnt <= 1)
            {
                if (IsAfterFirstLeague())
                {
                    return 0;
                }
                var weekTime = currentWeekTime == null ? nextWeekTime : currentWeekTime;
                var ring = weekTime.rings[0];
                var session = ring.sessions[0];
                var fightStage = session.stages.Find((x) =>
                {
                    return x.stage == FairyLeagueStage.Fight;
                });
                var time = TimeUtility.openServerTime.AddTicks((weekTime.rings[0].openServerDay - 1) * TimeSpan.TicksPerDay);
                time = new DateTime(time.Year, time.Month, time.Day, fightStage.startHour, fightStage.startMinute, 0);
                seconds = (int)(time - TimeUtility.ServerNow).TotalSeconds;
                seconds = Mathf.Max(seconds, 0);
            }
            return seconds;
        }
        public bool IsAfterFirstLeague()
        {
            if (TimeUtility.OpenWeekCnt <= 1)
            {
                var openServerTime = TimeUtility.openServerTime;
                var openServerWeekDay = openServerTime.DayOfWeek == DayOfWeek.Sunday ? 7 : (int)openServerTime.DayOfWeek;
                if (specialLeagueTimes.ContainsKey(openServerWeekDay))
                {
                    var dict = specialLeagueTimes[openServerWeekDay];
                    var weekCount = TimeUtility.OpenWeekCnt;
                    if (dict.ContainsKey(0) && weekCount > 0)
                    {
                        return true;
                    }
                    if (currentWeekTime == null)
                    {
                        return false;
                    }
                    var weekTime = currentWeekTime == null ? nextWeekTime : currentWeekTime;
                    if (weekTime.IsNextWeek)
                    {
                        return true;
                    }
                    if (weekTime.rings.Count > 1 && weekTime.currentRing == 1)
                    {
                        return true;
                    }
                    return weekTime.currentSession == 1 && weekTime.fairyLeagueStage == FairyLeagueStage.Over;
                }
            }
            return true;
        }
        Redpoint fairyLeagueNoticeRedpoint = new Redpoint(MainRedDot.REDPOINT_OPENSERVER, 20912);
        void UpdateNoticeRedpoint()
        {
            fairyLeagueNoticeRedpoint.state = RedPointState.None;
            if (!DayRemind.Instance.GetDayRemind(DayRemind.LEAGUE_NOTICE_REDPOINT)
                && IsOpen)
            {
                fairyLeagueNoticeRedpoint.state = RedPointState.Simple;
            }
        }
        public void SetViewLeagueNotice()
        {
            if (fairyLeagueNoticeRedpoint.state == RedPointState.Simple)
            {
                DayRemind.Instance.SetDayRemind(DayRemind.LEAGUE_NOTICE_REDPOINT, true);
                UpdateNoticeRedpoint();
            }
        }
        #endregion
    }
@@ -1093,6 +1210,8 @@
            public int dayOfWeek { get; set; }
            public int openServerDay { get; private set; }
            public void Sort()
            {
                sessions.Sort((Session x, Session y) =>
@@ -1122,6 +1241,8 @@
            public void ParseConfig(DungeonSpecialStateTimeConfig config, int dayOfWeek)
            {
                openServerDay = config.OpenServerDay;
                var session = sessions.Find((x) =>
                {
                    return x.session == (config.StateValue < 20 ? 0 : 1);
System/FairyAu/FairyLeagueNoticeWin.cs
New file
@@ -0,0 +1,111 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Friday, September 21, 2018
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using TableConfig;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
    public class FairyLeagueNoticeWin : Window
    {
        [SerializeField] RectTransform m_ContainerNoFairy;
        [SerializeField] RectTransform m_ContainerHasFairy;
        [SerializeField] Button m_JoinFairy;
        [SerializeField] Button m_Goto;
        [SerializeField] RawImage[] m_RawWeapons;
        [SerializeField, Header("武器角度,职业1,2,3")] Vector3[] m_WeaponAngles;
        FairyLeagueModel model { get { return ModelCenter.Instance.GetModel<FairyLeagueModel>(); } }
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            m_JoinFairy.onClick.AddListener(JoinFairy);
            m_Goto.onClick.AddListener(Goto);
        }
        protected override void OnPreOpen()
        {
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo;
            PlayerDatas.Instance.fairyData.OnRefreshFairyMine += OnRefreshFairyInfo;
            model.SetViewLeagueNotice();
            Display();
            DisplayWeapons();
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo;
            PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= OnRefreshFairyInfo;
            UI3DModelExhibition.Instance.StopShow();
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        void Display()
        {
            m_ContainerNoFairy.gameObject.SetActive(!PlayerDatas.Instance.fairyData.HasFairy);
            m_ContainerHasFairy.gameObject.SetActive(PlayerDatas.Instance.fairyData.HasFairy);
        }
        private void Goto()
        {
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.UnionFunc4);
        }
        private void JoinFairy()
        {
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.UnionFunc3);
        }
        private void OnRefreshFairyInfo()
        {
            Display();
        }
        void DisplayWeapons()
        {
            var job = PlayerDatas.Instance.baseData.Job;
            var _rawImage = m_RawWeapons[0];
            var _angle = m_WeaponAngles[0];
            var _weaponId = model.leagueNoticeWeapons.ContainsKey(job) ? model.leagueNoticeWeapons[job] : 0;
            if (_weaponId == 0)
            {
                return;
            }
            for (int i = 0; i < m_RawWeapons.Length; i++)
            {
                m_RawWeapons[i].gameObject.SetActive(job == (i + 1));
                if ((i + 1) == job)
                {
                    _rawImage = m_RawWeapons[i];
                    _angle = m_WeaponAngles[i];
                }
            }
            var config = Config.Instance.Get<ItemConfig>(_weaponId);
            UI3DModelExhibition.Instance.ShowEquipment(config.ChangeOrd, _angle, _rawImage);
        }
    }
}
System/FairyAu/FairyLeagueNoticeWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: c1c8b96d40cac8741ab435102d9d4549
timeCreated: 1537498840
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Message/WordAnalysis.cs
@@ -10,8 +10,8 @@
    public static Regex Color_Start_Regex = new Regex(@"<color=#[0-9a-zA-Z]+>", RegexOptions.Singleline);
    public static Regex Color_End_Regex = new Regex(@"</color>", RegexOptions.Singleline);
    public static Regex Space_Regex = new Regex(@"<Space=([0-9]*)>", RegexOptions.Singleline);
    public static Regex Size_Start_Regex = new Regex(@"<Size=([0-9]+)>", RegexOptions.Singleline);
    public static Regex Size_End_Regex = new Regex(@"</Size>", RegexOptions.Singleline);
    public static Regex Size_Start_Regex = new Regex(@"<[Ss]ize=([0-9]+)>", RegexOptions.Singleline);
    public static Regex Size_End_Regex = new Regex(@"</[Ss]ize>", RegexOptions.Singleline);
    private static RichTextEventEnum eventType = RichTextEventEnum.TABLE;
System/OpenServerActivity/ImpactRankModel.cs
@@ -781,7 +781,9 @@
            [Header("仙玉投资")]
            FairyInvest,
            [Header("VIP投资")]
            VipInvest
            VipInvest,
            [Header("仙盟联赛预告")]
            FairyLeagueNotice,
        }
    }
System/OpenServerActivity/OpenServerActivityWin.cs
@@ -29,6 +29,7 @@
                return m_OSRedEnvelopeModel ?? (m_OSRedEnvelopeModel = ModelCenter.Instance.GetModel<OSRedEnvelopeModel>());
            }
        }
        FairyLeagueModel fairyLeagueModel { get { return ModelCenter.Instance.GetModel<FairyLeagueModel>(); } }
        List<int> openActivitys = new List<int>();
        List<int> priorityActivitys = new List<int>();
@@ -64,6 +65,7 @@
            impactRankModel.presentSelectType = impactDefaultType;
            impactRankModel.gotoImpactRankType = 0;
            envelopeModel.selectType = 1;
            GlobalTimeEvent.Instance.secondEvent += SecondEvent;
            CheckAlreadyOpen();
            UpdateFunctionBtns();
        }
@@ -121,6 +123,7 @@
            TimeUtility.OnServerOpenDayRefresh -= OnStepServerDayEvent;
            OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent;
            OpenServerActivityCenter.Instance.openServerActivityStateChange -= OpenServerActivityStateChange;
            GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
            CloseOtherWin();
            impactRankModel.gotoImpactRankType = 0;
        }
@@ -165,6 +168,24 @@
            {
                openActivitys.Sort(Compare);
                return openActivitys[0];
            }
        }
        private void SecondEvent()
        {
            var cell = m_ActivityCtrl.GetActiveCellView((int)OpenServerActivityCenter.OSActivityType.FairyLeagueNotice);
            if (cell != null)
            {
                var activityCell = cell as OpenServerActivityCell;
                var seconds = fairyLeagueModel.GetBeforeFirstLeagueTime();
                if (seconds > 0)
                {
                    activityCell.title.text = UIHelper.ReplaceNewLine(Language.Get("FairyLeagueForcast", TimeUtility.SecondsToHMS(seconds)));
                }
                else
                {
                    activityCell.title.text = Language.Get("FamilyMatchName");
                }
            }
        }
@@ -224,6 +245,17 @@
                    if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.MultipRealmPoint, out operationBase))
                    {
                        _cell.title.text = Language.Get("MultipleRealmPoint", Language.Get(StringUtility.Contact("Num_CHS_", (operationBase as OperationMultipleRealmPoint).multiplePractice)));
                    }
                    break;
                case 12:
                    var seconds = fairyLeagueModel.GetBeforeFirstLeagueTime();
                    if (seconds > 0)
                    {
                        _cell.title.text = UIHelper.ReplaceNewLine(Language.Get("FairyLeagueForcast", TimeUtility.SecondsToHMS(seconds)));
                    }
                    else
                    {
                        _cell.title.text = Language.Get("FamilyMatchName");
                    }
                    break;
                default:
@@ -471,7 +503,7 @@
                    }
                    else
                    {
                        WindowCenter.Instance.Open<FairyJadeInvestmentWin>();
                        WindowCenter.Instance.Open<FairyJadeInvestmentWin>(true);
                    }
                    break;
                case 11:
@@ -481,10 +513,19 @@
                    }
                    else
                    {
                        WindowCenter.Instance.Open<VipInvestWin>();
                        WindowCenter.Instance.Open<VipInvestWin>(true);
                    }
                    break;
                case 12:
                    if (windowState == WindowState.Opened)
                    {
                        WindowCenter.Instance.OpenWithoutAnimation<FairyLeagueNoticeWin>();
                    }
                    else
                    {
                        WindowCenter.Instance.Open<FairyLeagueNoticeWin>(true);
                    }
                    break;
            }
        }
@@ -518,6 +559,7 @@
            WindowCenter.Instance.CloseImmediately<LimitedTimePackageWin>();
            WindowCenter.Instance.CloseImmediately<FairyJadeInvestmentWin>();
            WindowCenter.Instance.CloseImmediately<VipInvestWin>();
            WindowCenter.Instance.CloseImmediately<FairyLeagueNoticeWin>();
        }
        private int Compare(int order_x, int order_y)
System/Strengthening/GodBeastAttributes.cs
@@ -39,9 +39,9 @@
        [SerializeField] GameObject m_Text_two;//下级属性
        [SerializeField] Button m_StrengthenDoubleBtn;//双倍强化按钮
        [SerializeField] Text m_NeedFairy;//所需的仙玉
        [SerializeField] GameObject m_BottomBox;
        DogzModel Dogz_model;
        DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } }
        private Dictionary<int, int> QualityLimit = new Dictionary<int, int>();
        DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } }
        PlayerPackModel _playerPack;
        PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
        ItemTipsModel _itemTipsModel;
@@ -74,17 +74,14 @@
        }
        private void OnDisable()
        {
            GodBeast_Number = 0;
            GodBeast_Part = 0;
            GodBeastReinforcementWin.ChooseToModify -= ChooseToModify;
            godBeastModel.AbsorbEvent -= AbsorbEvent;
        }
        public void Init()
        {
            if (QualityLimit.Count <= 0)
            {
                string DogzAssist = Config.Instance.Get<FuncConfigConfig>("DogzAssist").Numerical4;//获取不同品质的神兽强化上限
                QualityLimit = ConfigParse.GetDic<int, int>(DogzAssist);
            }
        }
        public void Unit()
@@ -160,8 +157,7 @@
                }
                m_UIAlphaTween.gameObject.SetActive(true);
                m_FrameNull.SetActive(true);
                m_FullLevel.SetActive(false);
                m_StrengthenBtn.interactable = true;
                m_FullLevel.SetActive(false);
                GetDogZLevelAndExp();
                AttributeAssignment();
            }
@@ -182,7 +178,7 @@
                m_FrameNull.SetActive(false);
                m_FullLevel.SetActive(false);
                m_UIAlphaTween.gameObject.SetActive(false);
                m_StrengthenBtn.interactable = false;
                m_BottomBox.SetActive(false);
            }
        }
@@ -193,13 +189,15 @@
                return;
            }
            GainProficiency();//获取熟练度
            m_BottomBox.SetActive(true);
            var IudetDogzEquipPlus = m_DogZItemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);
            if (IudetDogzEquipPlus != null)
            {
                int lv = QualityLimit[m_DogZItemModel.chinItemModel.ItemColor];
                int lv = godBeastModel.QualityLimit[m_DogZItemModel.chinItemModel.ItemColor];
                var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, lv);
                if (DogZLv >= lv)
                {
                    m_BottomBox.SetActive(false);
                    m_Text_two.SetActive(false);
                    m_FrameNull.SetActive(false);
                    m_TextAttributes1.gameObject.SetActive(false);
@@ -220,10 +218,13 @@
                        var Dogz_EquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, DogZLv - 1);
                        NeedExp -= Dogz_EquipConfig.upExpTotal;
                    }
                    m_ExpNum.text = DogZExp + "/" + NeedExp;
                    m_ExpNum.text = NeedExp + "/" + NeedExp;
                }
                else
                {
                    m_StrengthenDoubleBtn.interactable = true;
                    m_StrengthenBtn.interactable = true;
                    m_Text_two.SetActive(true);
                    if (m_DoubleToggle.isOn)
                    {
@@ -373,7 +374,7 @@
            {
                return DogzLv;
            }
            int lv = QualityLimit[m_DogZItemModel.chinItemModel.ItemColor];
            int lv = godBeastModel.QualityLimit[m_DogZItemModel.chinItemModel.ItemColor];
            var IudetDogzEquipPlus = m_DogZItemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);
            if (IudetDogzEquipPlus != null)
            {
System/Strengthening/GodBeastModel.cs
@@ -16,15 +16,20 @@
    public Dictionary<int, int> Absorption_Dic = new Dictionary<int, int>();//获取选择的物品
    public event Action AbsorbEvent;
    public int ItemInde = 0;//物品下标
    public ItemModel Crystal_ItemModel;
    public int ItemPlace =-1;//神兽装备位置信息
    public ItemModel Crystal_ItemModel;//当前所选中的水晶物品
    public int ItemPlace = -1;//神兽装备位置信息
    public  Dictionary<int, int> QualityLimit = new Dictionary<int, int>();//对应品质所能选择的最大强化等级
    DogzModel Dogz_model;
    DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } }
    PlayerPackModel _playerPack;
    PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
    public override void Init()
    {
        if (QualityLimit.Count <= 0)
        {
            string DogzAssist = Config.Instance.Get<FuncConfigConfig>("DogzAssist").Numerical4;//获取不同品质的神兽强化上限
            QualityLimit = ConfigParse.GetDic<int, int>(DogzAssist);
        }
    }
    public void OnBeforePlayerDataInitialize()
@@ -118,7 +123,72 @@
        return SiteEnhancementAttributeDic;
    }
    public int DogZBagIndex = 0;
    public bool IsFullLevel()//是都满级能够继续吸收
    {
        bool IsBool = false;
        int DogZLV = 0;//获取当前神兽等级
        int DogProficiency = 0;//当前神兽的熟练度
        int SingleProficiency = 0;//单倍熟练度
        int DoubleProficiency = 0;//双倍熟练度
        ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptDogzEquip, DogZBagIndex);
        if (itemModel == null)
        {
            return false;
        }
        int lv = QualityLimit[itemModel.chinItemModel.ItemColor];
        var DogzEquipMaxConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(itemModel.chinItemModel.EquipPlace, lv);
        var IudetDogzEquipPlus = itemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);
        if (IudetDogzEquipPlus != null)
        {
            DogZLV = IudetDogzEquipPlus[0];
            DogProficiency = IudetDogzEquipPlus[1];
        }
        foreach (var key in Absorption_Dic.Keys)
        {
            ItemModel item_Model = playerPack.GetItemModelByIndex(PackType.rptDogzItem, key);
            if (item_Model != null)
            {
                if (item_Model.chinItemModel.Effect1 == 235)
                {
                    var _IudetDogzEquipPlus = item_Model.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);
                    SingleProficiency += item_Model.chinItemModel.EffectValueA1 * Absorption_Dic[key];
                    if (_IudetDogzEquipPlus != null)
                    {
                        SingleProficiency += _IudetDogzEquipPlus[1];
                        DoubleProficiency += item_Model.chinItemModel.EffectValueA1;
                    }
                    else
                    {
                        DoubleProficiency += item_Model.chinItemModel.EffectValueA1 * 2 * Absorption_Dic[key];
                    }
                }
            }
        }
        if (true)
        {
            if (DogProficiency + DoubleProficiency >= DogzEquipMaxConfig.upExpTotal)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        else
        {
            if (DogProficiency + SingleProficiency >= DogzEquipMaxConfig.upExpTotal)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}
System/Strengthening/GodBeastReinforcementWin.cs
@@ -61,6 +61,7 @@
                    if (GodBeastList[i].ItemPlace == godBeastModel.ItemPlace)
                    {
                        CurrentlySelected = GodBeastList[i].LocationMarker;
                        GetDogZBagIndex();
                        int Index = 0;
                        Index = GodBeastList.FindIndex((x) =>
                        {
@@ -75,6 +76,7 @@
                if (GodBeastList.Count > 0)
                {
                    CurrentlySelected = GodBeastList[0].LocationMarker;
                    GetDogZBagIndex();
                    m_ScrollerController.JumpIndex(0);
                }
            }
@@ -94,6 +96,7 @@
        protected override void OnPreClose()
        {
            godBeastModel.ItemPlace = -1;
           // godBeastModel.Absorption_Dic.Clear();
            playerPack.RefreshItemCountAct -= RefreshItemCountAct;
            m_ScrollerController.OnRefreshCell -= OnRefreshGridCell;
            DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent -= MakeItemAnswerEvent;
@@ -219,6 +222,7 @@
                if (locationMarker != CurrentlySelected)
                {
                    CurrentlySelected = locationMarker;
                    GetDogZBagIndex();
                    m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
                    if (ChooseToModify != null)
                    {
@@ -227,6 +231,20 @@
                }
            });
        }
        private void GetDogZBagIndex()//获取选择的神兽装备的装备下标
        {
            for (int i = 0; i < GodBeastList.Count; i++)
            {
                if (CurrentlySelected == GodBeastList[i].LocationMarker)
                {
                    godBeastModel.DogZBagIndex = GodBeastList[i].ItemPlace;
                   // DebugEx.LogError(godBeastModel.DogZBagIndex);
                    return;
                }
            }
        }
    }
}
System/Treasure/FairyTreasureCollectPanelPattern5.cs
@@ -276,32 +276,43 @@
            GetCurrentAchievement();
            if (treasure.state != TreasureState.Collected)
            {
                int unlocktreasureId = 0;
                var list = model.GetTreasureCategory(TreasureCategory.Human);
                for (int i = 0; i < list.Count; i++)
                //int unlocktreasureId = 0;
                //var list = model.GetTreasureCategory(TreasureCategory.Human);
                //for (int i = 0; i < list.Count; i++)
                //{
                //    Treasure _treasure;
                //    if(model.TryGetTreasure(list[i], out _treasure))
                //    {
                //        var index = _treasure.treasureStages.FindIndex((x) =>
                //        {
                //            return x.unlockType == TreasureStageUnlock.Treasure && x.treasure == treasure.id;
                //        });
                //        if (index != -1)
                //        {
                //            unlocktreasureId = list[i];
                //            break;
                //        }
                //    }
                //}
                //var unlockTreasureConfig = Config.Instance.Get<TreasureConfig>(unlocktreasureId);
                var config = Config.Instance.Get<TreasureConfig>(treasure.id);
                var requireCondition = 0;
                if (config != null)
                {
                    Treasure _treasure;
                    if(model.TryGetTreasure(list[i], out _treasure))
                    var successConfig = Config.Instance.Get<SuccessConfig>(config.Achievements.Length > 0 ? config.Achievements[0] : 0);
                    if (successConfig != null)
                    {
                        var index = _treasure.treasureStages.FindIndex((x) =>
                        {
                            return x.unlockType == TreasureStageUnlock.Treasure && x.treasure == treasure.id;
                        });
                        if (index != -1)
                        {
                            unlocktreasureId = list[i];
                            break;
                        }
                        requireCondition = successConfig.NeedCnt;
                    }
                }
                var unlockTreasureConfig = Config.Instance.Get<TreasureConfig>(unlocktreasureId);
                m_AchievementGetBtn.gameObject.SetActive(false);
                m_ActiveBtn.gameObject.SetActive(false);
                m_GotoGet.gameObject.SetActive(false);
                m_ContainerLocked.gameObject.SetActive(true);
                m_LockedDescription.text = Language.Get("BlastFurnaceGet", unlockTreasureConfig == null ? string.Empty : unlockTreasureConfig.Name);
                m_LockedDescription.text = Language.Get("BlastFurnaceGet", requireCondition);
                m_ContainerAchievement.gameObject.SetActive(false);
            }
            else if (currentAchievement == null || treasure.stage >= 1)
System/WorldMap/LocalMapFindPath.cs
@@ -27,7 +27,7 @@
        private List<GameObject> pathNodeBehaviours = new List<GameObject>(); //寻路点池
        List<LocalMapTag> tagBehaviours = new List<LocalMapTag>();
        MapModel model { get { return  ModelCenter.Instance.GetModel<MapModel>(); } }
        MapModel model { get { return ModelCenter.Instance.GetModel<MapModel>(); } }
        int mapId = 0;
        public void Init(int _mapId)
@@ -42,7 +42,17 @@
            mapId = _mapId;
            var tagChinMap = Config.Instance.Get<MapConfig>(mapId);
            var mapResConfig = DTCA127_tagMCStartChangeMap.GetMapResourcesConfig();
            MapResourcesConfig mapResConfig = null;
            if (mapId == PlayerDatas.Instance.baseData.MapID)
            {
                mapResConfig = DTCA127_tagMCStartChangeMap.GetMapResourcesConfig();
            }
            else
            {
                mapResConfig = DTCA127_tagMCStartChangeMap.GetMapResourcesConfig(mapId, 0);
            }
            var mapWidth = mapResConfig.MapScale.x;
            var mapHeight = mapResConfig.MapScale.y;
Utility/EnumHelper.cs
@@ -309,6 +309,7 @@
    PersonalBoss = 25,
    ElderGodArea = 26,
    FairyGrabBoss = 27,
    KillMonster=28,
}
public enum ActivityPrepareType