少年修仙传客户端代码仓库
client_Zxw
2018-08-14 53e8e14f53ad83005d5b382b82e238392b3a07cc
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
2 文件已重命名
32个文件已修改
2 文件已复制
2个文件已添加
845 ■■■■■ 已修改文件
Core/GameEngine/DataToCtl/PackageRegedit.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/BossRebornConfig.cs 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/BossRebornConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/DemonJarConfig.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/DemonJarConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/ConfigManager.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/Realm/PlayerRealmData.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/Realm/RealmModel.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAB04_tagMCBossRebornInfo.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAB04_tagMCBossRebornInfo.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC08_tagGCBossRebornPoint.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAB_Activity/HAB04_tagMCBossRebornInfo.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAB_Activity/HAB04_tagMCBossRebornInfo.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAC_Activity/HAC08_tagGCBossRebornPoint.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BossReborn/BossRebornBehaviour.cs 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BossReborn/BossRebornData.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BossReborn/BossRebornModel.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BossReborn/BossRebornWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/BossIntroduceBehaviour.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/DemonJarBossIntroduceBehaviour.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/DemonJarBossIntroduceBehaviour.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/New/BagWin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/New/DepotWin.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/ImpactRankModel.cs 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServerActivityCell.cs 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServerActivityWin.cs 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/StoreWin.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Team/MyTeamWin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Team/TeamModel.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Team/TeamPrepareWin.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/MultipleRealmPointModel.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/NPracticePointWin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/OperationTimeHepler.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/WelfareCenter.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/WelfareWin.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowJump/WindowJumpMgr.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/RuntimeLogUtility.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -11,12 +11,11 @@
    public static void Init()
    {
        // 登记相应的数据体及对应的数据转逻辑类
        Register(typeof(HAB04_tagMCBossRebornInfo), typeof(DTCAB04_tagMCBossRebornInfo));
        Register(typeof(HA40B_tagGCPlayerJoinFamilyWarInfo), typeof(DTCA40B_tagGCPlayerJoinFamilyWarInfo));
        Register(typeof(HA319_tagMCPackDownloadRecord), typeof(DTCA319_tagMCPackDownloadRecord));
        Register(typeof(HAC0A_tagGCMultiRealmPointInfo), typeof(DTCAC0A_tagGCMultiRealmPointInfo));
        Register(typeof(HAC08_tagGCBossRebornPoint), typeof(DTCAC08_tagGCBossRebornPoint));
        Register(typeof(HAC07_tagGCBossRebornInfo), typeof(DTCAC07_tagGCBossRebornInfo));
        Register(typeof(HAB03_tagMCBossRebornPlayerInfo), typeof(DTCAB03_tagMCBossRebornPlayerInfo));
        Register(typeof(HAA11_tagMCSpringSaleInfo), typeof(DTCAA11_tagMCSpringSaleInfo));
        Register(typeof(HAA10_tagMCCostRebatePlayerInfo), typeof(DTCAA10_tagMCCostRebatePlayerInfo));
Core/GameEngine/Model/Config/BossRebornConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:            第二世界
//    [  Date ]:           Friday, July 20, 2018
//    [  Date ]:           Monday, August 13, 2018
//--------------------------------------------------------
using UnityEngine;
@@ -12,15 +12,6 @@
    public partial class BossRebornConfig : ConfigBase {
        public int Id { get ; private set ; }
        public int TotalTimes { get ; private set ; }
        public int SingleTimes { get ; private set ; }
        public int[] Reward1;
        public int[] RewardCount1;
        public int[] Reward2;
        public int[] RewardCount2;
        public int[] Reward3;
        public int[] RewardCount3;
        public int[] WorldLevel;
        public string Description { get ; private set; } 
        public int jump { get ; private set ; }
        public int order { get ; private set ; }
@@ -35,64 +26,11 @@
            {
                Id=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; 
            
                TotalTimes=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0;
                Description = rawContents[1].Trim();
            
                SingleTimes=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0;
                jump=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0;
            
                string[] Reward1StringArray = rawContents[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                Reward1 = new int[Reward1StringArray.Length];
                for (int i=0;i<Reward1StringArray.Length;i++)
                {
                     int.TryParse(Reward1StringArray[i],out Reward1[i]);
                }
                string[] RewardCount1StringArray = rawContents[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                RewardCount1 = new int[RewardCount1StringArray.Length];
                for (int i=0;i<RewardCount1StringArray.Length;i++)
                {
                     int.TryParse(RewardCount1StringArray[i],out RewardCount1[i]);
                }
                string[] Reward2StringArray = rawContents[5].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                Reward2 = new int[Reward2StringArray.Length];
                for (int i=0;i<Reward2StringArray.Length;i++)
                {
                     int.TryParse(Reward2StringArray[i],out Reward2[i]);
                }
                string[] RewardCount2StringArray = rawContents[6].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                RewardCount2 = new int[RewardCount2StringArray.Length];
                for (int i=0;i<RewardCount2StringArray.Length;i++)
                {
                     int.TryParse(RewardCount2StringArray[i],out RewardCount2[i]);
                }
                string[] Reward3StringArray = rawContents[7].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                Reward3 = new int[Reward3StringArray.Length];
                for (int i=0;i<Reward3StringArray.Length;i++)
                {
                     int.TryParse(Reward3StringArray[i],out Reward3[i]);
                }
                string[] RewardCount3StringArray = rawContents[8].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                RewardCount3 = new int[RewardCount3StringArray.Length];
                for (int i=0;i<RewardCount3StringArray.Length;i++)
                {
                     int.TryParse(RewardCount3StringArray[i],out RewardCount3[i]);
                }
                string[] WorldLevelStringArray = rawContents[9].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                WorldLevel = new int[WorldLevelStringArray.Length];
                for (int i=0;i<WorldLevelStringArray.Length;i++)
                {
                     int.TryParse(WorldLevelStringArray[i],out WorldLevel[i]);
                }
                Description = rawContents[10].Trim();
                jump=IsNumeric(rawContents[11]) ? int.Parse(rawContents[11]):0;
                order=IsNumeric(rawContents[12]) ? int.Parse(rawContents[12]):0;
                order=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0;
            }
            catch (Exception ex)
            {
Core/GameEngine/Model/Config/BossRebornConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 26164724ca2c3a54e9798d3537fb0ca7
timeCreated: 1532053505
timeCreated: 1534162360
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Core/GameEngine/Model/Config/DemonJarConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:            第二世界
//    [  Date ]:           Friday, July 20, 2018
//    [  Date ]:           Tuesday, August 14, 2018
//--------------------------------------------------------
using UnityEngine;
@@ -15,6 +15,7 @@
        public int LineID { get ; private set ; }
        public int Time { get ; private set ; }
        public int[] MustItemID;
        public string[] MustItemDescriptions;
        public int[] RareItemID;
        public string PortraitID { get ; private set; } 
        public int SpecialItemMark { get ; private set ; }
@@ -47,45 +48,47 @@
                     int.TryParse(MustItemIDStringArray[i],out MustItemID[i]);
                }
            
                string[] RareItemIDStringArray = rawContents[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                MustItemDescriptions = rawContents[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                string[] RareItemIDStringArray = rawContents[5].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                RareItemID = new int[RareItemIDStringArray.Length];
                for (int i=0;i<RareItemIDStringArray.Length;i++)
                {
                     int.TryParse(RareItemIDStringArray[i],out RareItemID[i]);
                }
            
                PortraitID = rawContents[5].Trim();
                PortraitID = rawContents[6].Trim();
            
                SpecialItemMark=IsNumeric(rawContents[6]) ? int.Parse(rawContents[6]):0;
                SpecialItemMark=IsNumeric(rawContents[7]) ? int.Parse(rawContents[7]):0;
            
                CanEnterTimes=IsNumeric(rawContents[7]) ? int.Parse(rawContents[7]):0;
                CanEnterTimes=IsNumeric(rawContents[8]) ? int.Parse(rawContents[8]):0;
            
                AutoAttention=IsNumeric(rawContents[8]) ? int.Parse(rawContents[8]):0;
                AutoAttention=IsNumeric(rawContents[9]) ? int.Parse(rawContents[9]):0;
            
                string[] Job1StringArray = rawContents[9].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                string[] Job1StringArray = rawContents[10].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                Job1 = new int[Job1StringArray.Length];
                for (int i=0;i<Job1StringArray.Length;i++)
                {
                     int.TryParse(Job1StringArray[i],out Job1[i]);
                }
            
                string[] Job2StringArray = rawContents[10].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                string[] Job2StringArray = rawContents[11].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                Job2 = new int[Job2StringArray.Length];
                for (int i=0;i<Job2StringArray.Length;i++)
                {
                     int.TryParse(Job2StringArray[i],out Job2[i]);
                }
            
                string[] Job3StringArray = rawContents[11].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                string[] Job3StringArray = rawContents[12].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                Job3 = new int[Job3StringArray.Length];
                for (int i=0;i<Job3StringArray.Length;i++)
                {
                     int.TryParse(Job3StringArray[i],out Job3[i]);
                }
            
                KillHurtMin=IsNumeric(rawContents[12]) ? int.Parse(rawContents[12]):0;
                KillHurtMin=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0;
            
                KillHurtMax=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0;
                KillHurtMax=IsNumeric(rawContents[14]) ? int.Parse(rawContents[14]):0;
            }
            catch (Exception ex)
            {
Core/GameEngine/Model/Config/DemonJarConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 7e442059ea96745478dd5787f9e84ef5
timeCreated: 1532068533
timeCreated: 1534212554
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Core/GameEngine/Model/ConfigManager.cs
@@ -42,6 +42,7 @@
        AddAsyncTask<IconConfig>();
        AddAsyncTask<ItemConfig>();
        AddAsyncTask<SkillConfig>();
        AddAsyncTask<TASKINFOConfig>();
        AddAsyncTask<mapnpcConfig>();
        AddAsyncTask<LoginSeverListConfig>();
        AddAsyncTask<DienstgradConfig>();
@@ -56,7 +57,6 @@
        AddAsyncTask<ItemPlusConfig>();
        AddAsyncTask<ItemPlusMaxConfig>();
        AddAsyncTask<PyTaskConfig>();
        AddAsyncTask<TASKINFOConfig>();
        AddAsyncTask<MailConfig>();
        AddAsyncTask<RuneTowerConfig>();
        AddAsyncTask<EquipWashConfig>();
Core/GameEngine/Model/Player/Realm/PlayerRealmData.cs
@@ -50,7 +50,7 @@
            {
                return;
            }
            if (!WindowCenter.Instance.CheckOpen<RealmUpHoldWin>() && !NewBieCenter.Instance.inGuiding)
            if (!WindowCenter.Instance.CheckOpen<RealmUpHoldWin>() && !NewBieCenter.Instance.inGuiding && !BossShowModel.Instance.BossShowing)
            {
                WindowCenter.Instance.Open<RealmUpHoldWin>();
            }
Core/GameEngine/Model/Player/Realm/RealmModel.cs
@@ -36,6 +36,7 @@
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += RefreshInfo;
            StageManager.Instance.onStageLoadFinish += OnStageLoadFinish;
            NewBieCenter.Instance.guideCompletedEvent += GuideCompletedEvent;
            BossShowModel.Instance.bossShowCompletedEvent += BossShowCompletedEvent;
        }
        private int cacheMapId = 0;
@@ -69,7 +70,7 @@
            if (StageManager.Instance.CurrentStage is DungeonStage)
            {
                if (PlayerDatas.Instance.realm.holdDataList.Count > 0
                && !WindowCenter.Instance.CheckOpen<RealmUpHoldWin>() && !NewBieCenter.Instance.inGuiding)
                && !WindowCenter.Instance.CheckOpen<RealmUpHoldWin>() && !NewBieCenter.Instance.inGuiding && !BossShowModel.Instance.BossShowing)
                {
                    WindowCenter.Instance.Open<RealmUpHoldWin>();
                }
@@ -88,7 +89,7 @@
                cacheRealmLv = PlayerDatas.Instance.baseData.realmLevel;
            }
            if (PlayerDatas.Instance.realm.holdDataList.Count > 0
                && !WindowCenter.Instance.CheckOpen<RealmUpHoldWin>() && !NewBieCenter.Instance.inGuiding)
                && !WindowCenter.Instance.CheckOpen<RealmUpHoldWin>() && !NewBieCenter.Instance.inGuiding && !BossShowModel.Instance.BossShowing)
            {
                WindowCenter.Instance.Open<RealmUpHoldWin>();
            }
@@ -106,6 +107,18 @@
            cacheMapId = PlayerDatas.Instance.baseData.MapID;
        }
        private void BossShowCompletedEvent()
        {
            if (StageManager.Instance.CurrentStage is DungeonStage)
            {
                if (PlayerDatas.Instance.realm.holdDataList.Count > 0
               && !WindowCenter.Instance.CheckOpen<RealmUpHoldWin>() && !NewBieCenter.Instance.inGuiding && !BossShowModel.Instance.BossShowing)
                {
                    WindowCenter.Instance.Open<RealmUpHoldWin>();
                }
            }
        }
        private void RefreshInfo(PlayerDataRefresh refreshType)
        {
            if (refreshType == PlayerDataRefresh.OfficialRank)
Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAB04_tagMCBossRebornInfo.cs
File was renamed from Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC07_tagGCBossRebornInfo.cs
@@ -1,24 +1,24 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Wednesday, July 18, 2018
//--------------------------------------------------------
using System;
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, August 13, 2018
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using Snxxz.UI;
public class DTCAC07_tagGCBossRebornInfo : DtcBasic
{
    public override void Done(GameNetPackBasic vNetPack)
    {
        base.Done(vNetPack);
        var package = vNetPack as HAC07_tagGCBossRebornInfo;
        OperationTimeHepler.Instance.UpdateBossReborn(package);
public class DTCAB04_tagMCBossRebornInfo : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack)
    {
        base.Done(vNetPack);
        var package = vNetPack as HAB04_tagMCBossRebornInfo;
        OperationTimeHepler.Instance.UpdateBossReborn(package);
    }
}
}
Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAB04_tagMCBossRebornInfo.cs.meta
File was renamed from Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC07_tagGCBossRebornInfo.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 1dac3402caac450408ead6d8c9f5474b
timeCreated: 1531883702
guid: cdf0d89d8efb5514b93662ac1c1e081e
timeCreated: 1534162080
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC08_tagGCBossRebornPoint.cs
@@ -19,6 +19,7 @@
        var package = vNetPack as HAC08_tagGCBossRebornPoint;
        model.bossRebornIntegral = (int)package.Point;
        model.bossRebornIndegralTotal = (int)package.TotalPoint;
    }
}
Core/NetworkPackage/ServerPack/HAB_Activity/HAB04_tagMCBossRebornInfo.cs
New file
@@ -0,0 +1,60 @@
using UnityEngine;
using System.Collections;
// AB 04 Boss复活活动信息 #tagMCBossRebornInfo
public class HAB04_tagMCBossRebornInfo : GameNetPackBasic
{
    public string StartDate;    // 开始日期 y-m-d
    public string EndtDate;    // 结束日期 y-m-d
    public ushort LimitLV;    // 限制等级
    public byte TaskCnt;
    public tagMCBossRebornTaskInfo[] TaskInfo = null;
    public HAB04_tagMCBossRebornInfo()
    {
        _cmd = (ushort)0xAB04;
    }
    public override void ReadFromBytes(byte[] vBytes)
    {
        TransBytes(out StartDate, vBytes, NetDataType.Chars, 10);
        TransBytes(out EndtDate, vBytes, NetDataType.Chars, 10);
        TransBytes(out LimitLV, vBytes, NetDataType.WORD);
        TransBytes(out TaskCnt, vBytes, NetDataType.BYTE);
        TaskInfo = new tagMCBossRebornTaskInfo[TaskCnt];
        for (int i = 0; i < TaskCnt; i++)
        {
            TaskInfo[i] = new tagMCBossRebornTaskInfo();
            TransBytes(out TaskInfo[i].TaskID, vBytes, NetDataType.BYTE);
            TransBytes(out TaskInfo[i].TotalTimes, vBytes, NetDataType.BYTE);
            TransBytes(out TaskInfo[i].SingleTimes, vBytes, NetDataType.BYTE);
            TransBytes(out TaskInfo[i].AwardItemCount, vBytes, NetDataType.BYTE);
            TaskInfo[i].AwardItem = new tagMCBossRebornAwardItem[TaskInfo[i].AwardItemCount];
            for (int j = 0; j < TaskInfo[i].AwardItemCount; j++)
            {
                TaskInfo[i].AwardItem[j] = new tagMCBossRebornAwardItem();
                TransBytes(out TaskInfo[i].AwardItem[j].ItemID, vBytes, NetDataType.DWORD);
                TransBytes(out TaskInfo[i].AwardItem[j].ItemCount, vBytes, NetDataType.WORD);
                TransBytes(out TaskInfo[i].AwardItem[j].IsBind, vBytes, NetDataType.BYTE);
            }
        }
    }
    public struct tagMCBossRebornAwardItem
    {
        public uint ItemID;
        public ushort ItemCount;
        public byte IsBind;
    }
    public struct tagMCBossRebornTaskInfo
    {
        public byte TaskID;        // id
        public byte TotalTimes;        // 可完成总次数,0表示不限次数
        public byte SingleTimes;        // 单次领奖需要次数
        public byte AwardItemCount;        // 奖励物品数
        public tagMCBossRebornAwardItem[] AwardItem;        // 奖励物品信息
    }
}
Core/NetworkPackage/ServerPack/HAB_Activity/HAB04_tagMCBossRebornInfo.cs.meta
copy from Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC07_tagGCBossRebornInfo.cs.meta copy to Core/NetworkPackage/ServerPack/HAB_Activity/HAB04_tagMCBossRebornInfo.cs.meta
File was copied from Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC07_tagGCBossRebornInfo.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 1dac3402caac450408ead6d8c9f5474b
timeCreated: 1531883702
guid: cba95a04b38120749b2fd9a9e9a3ce1b
timeCreated: 1534159505
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Core/NetworkPackage/ServerPack/HAC_Activity/HAC08_tagGCBossRebornPoint.cs
@@ -6,6 +6,7 @@
public class HAC08_tagGCBossRebornPoint : GameNetPackBasic
{
    public uint Point;    // 复活点数
    public uint TotalPoint;    // 复活总点数
    public HAC08_tagGCBossRebornPoint()
    {
@@ -15,6 +16,7 @@
    public override void ReadFromBytes(byte[] vBytes)
    {
        TransBytes(out Point, vBytes, NetDataType.DWORD);
        TransBytes(out TotalPoint, vBytes, NetDataType.DWORD);
    }
}
System/BossReborn/BossRebornBehaviour.cs
@@ -57,41 +57,14 @@
        private void DisplayBaseInfo()
        {
            var config = ConfigManager.Instance.GetTemplate<BossRebornConfig>(rebornTask.id);
            var surplusTime = config.TotalTimes == 0 ? -1 : ((config.TotalTimes - rebornTask.gotRewardTimes) / config.SingleTimes);
            var surplusTime = rebornTask.TotalTimes == 0 ? -1 : ((rebornTask.TotalTimes - rebornTask.gotRewardTimes) / rebornTask.SingleTimes);
            var surplusTimeString = UIHelper.GetTextColorByItemColor(surplusTime == 0 ? TextColType.Red : TextColType.Green,
                surplusTime == -1 ? Language.Get("BossFHLanguage4") : surplusTime.ToString());
            m_surplusTimes.text = Language.Get("BossFHLanguage3", surplusTimeString);
            m_Decription.text = string.Format(config.Description, config.SingleTimes);
            m_Decription.text = string.Format(config.Description, rebornTask.SingleTimes);
            var rewardIndex = config.WorldLevel.Length - 1;
            var worldLevel = model.GetWorldLevel();
            for (int i = 0; i < config.WorldLevel.Length; i++)
            {
                if (worldLevel < config.WorldLevel[i])
                {
                    rewardIndex = i;
                    break;
                }
            }
            var items = new List<Item>();
            if (config.Reward1.Length > rewardIndex && config.Reward1[rewardIndex] != 0)
            {
                items.Add(new Item(config.Reward1[rewardIndex], config.RewardCount1[rewardIndex]));
            }
            if (config.Reward2.Length > rewardIndex && config.Reward2[rewardIndex] != 0)
            {
                items.Add(new Item(config.Reward2[rewardIndex], config.RewardCount2[rewardIndex]));
            }
            if (config.Reward3.Length > rewardIndex && config.Reward3[rewardIndex] != 0)
            {
                items.Add(new Item(config.Reward3[rewardIndex], config.RewardCount3[rewardIndex]));
            }
            m_Rewards.Display(items);
            m_Rewards.Display(rebornTask.rewards);
        }
        private void Goto()
@@ -112,7 +85,7 @@
                state == BossRebornTask.State.Normal || state == BossRebornTask.State.Rewardable);
            var config = ConfigManager.Instance.GetTemplate<BossRebornConfig>(rebornTask.id);
            var surplusTime = config.TotalTimes == 0 ? -1 : ((config.TotalTimes - rebornTask.gotRewardTimes) / config.SingleTimes);
            var surplusTime = rebornTask.TotalTimes == 0 ? -1 : ((rebornTask.TotalTimes - rebornTask.gotRewardTimes) / rebornTask.SingleTimes);
            var surplusTimeString = UIHelper.GetTextColorByItemColor(surplusTime == 0 ? TextColType.Red : TextColType.Green,
                surplusTime == -1 ? Language.Get("BossFHLanguage4") : surplusTime.ToString());
            m_surplusTimes.text = Language.Get("BossFHLanguage3", surplusTimeString);
@@ -125,7 +98,7 @@
        private void UpdateRewardableTimes()
        {
            var config = ConfigManager.Instance.GetTemplate<BossRebornConfig>(rebornTask.id);
            m_CompleteTimes.text = StringUtility.Contact(rebornTask.completedTimes - rebornTask.gotRewardTimes, "/", config.SingleTimes);
            m_CompleteTimes.text = StringUtility.Contact(rebornTask.completedTimes - rebornTask.gotRewardTimes, "/", rebornTask.SingleTimes);
        }
    }
System/BossReborn/BossRebornData.cs
@@ -2,10 +2,15 @@
using System.Collections.Generic;
using System;
using TableConfig;
using Snxxz.UI;
public class BossRebornTask
{
    public readonly int id;
    public int TotalTimes;        // 可完成总次数,0表示不限次数
    public int SingleTimes;        // 单次领奖需要次数
    public List<Item> rewards = new List<Item>();
    int m_CompleteTimes = 0;
    public int completedTimes {
@@ -45,21 +50,32 @@
        this.id = _id;
    }
    public BossRebornTask(HAB04_tagMCBossRebornInfo.tagMCBossRebornTaskInfo _taskInfo)
    {
        this.id = _taskInfo.TaskID;
        ParseServerInfo(_taskInfo);
    }
    public void UpdateActivityData(int _completedTimes, int _gotRewardTimes)
    {
        this.completedTimes = _completedTimes;
        this.gotRewardTimes = _gotRewardTimes;
    }
    public void UpdateActivityBaseData(HAB04_tagMCBossRebornInfo.tagMCBossRebornTaskInfo _taskInfo)
    {
        ParseServerInfo(_taskInfo);
    }
    public State GetState()
    {
        var config = ConfigManager.Instance.GetTemplate<BossRebornConfig>(this.id);
        var totalTimes = config.TotalTimes == 0 ? int.MaxValue : config.TotalTimes;
        var totalTimes = TotalTimes == 0 ? int.MaxValue : TotalTimes;
        if (gotRewardTimes >= totalTimes)
        {
            return State.Completed;
        }
        else if (completedTimes - gotRewardTimes >= config.SingleTimes)
        else if (completedTimes - gotRewardTimes >= SingleTimes)
        {
            return State.Rewardable;
        }
@@ -69,6 +85,19 @@
        }
    }
    private void ParseServerInfo(HAB04_tagMCBossRebornInfo.tagMCBossRebornTaskInfo _taskInfo)
    {
        this.TotalTimes = _taskInfo.TotalTimes;
        this.SingleTimes = _taskInfo.SingleTimes;
        this.rewards.Clear();
        for (int i = 0; i < _taskInfo.AwardItemCount; i++)
        {
            var serverItem = _taskInfo.AwardItem[i];
            this.rewards.Add(new Item((int)serverItem.ItemID, serverItem.ItemCount, serverItem.IsBind == 1));
        }
    }
    public static int SortCompare(BossRebornTask _lhs, BossRebornTask _rhs)
    {
        var stateA = _lhs.GetState();
System/BossReborn/BossRebornModel.cs
@@ -23,14 +23,20 @@
            }
        }
        int m_BossRebornInderalTotal = 0;
        public int bossRebornIndegralTotal {
            get { return m_BossRebornInderalTotal; }
            set { m_BossRebornInderalTotal = value; }
        }
        public int surplusSecond { get { return OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.BossReborn); } }
        public event Action bossRebornIntergralEvent;
        public event Action<int> bossTaskStateChangeEvent;
        Dictionary<int, BossRebornTask> bossRebornTasks = new Dictionary<int, BossRebornTask>();
        const int bossRebornPointId = 20108;
        Redpoint bossRebornPoint = new Redpoint(201, bossRebornPointId);
        const int bossRebornPointId = 20909;
        public Redpoint bossRebornPoint = new Redpoint(MainRedDot.REDPOINT_OPENSERVER, bossRebornPointId);
        public override void Init()
        {
@@ -46,17 +52,18 @@
            return OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.BossReborn);
        }
        public int GetWorldLevel()
        public void UpdateTaskBaseInfos(HAB04_tagMCBossRebornInfo.tagMCBossRebornTaskInfo[] _tasks)
        {
            OperationBase operation;
            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.BossReborn, out operation))
            foreach (var task in _tasks)
            {
                var bossOperation = operation as OperationBossReborn;
                return bossOperation != null ? bossOperation.worldLevel : 0;
            }
            else
            {
                return 0;
                if (bossRebornTasks.ContainsKey(task.TaskID))
                {
                    bossRebornTasks[task.TaskID].UpdateActivityBaseData(task);
                }
                else
                {
                    bossRebornTasks[task.TaskID] = new BossRebornTask(task);
                }
            }
        }
@@ -73,22 +80,6 @@
            }
            return bossRebornTasks[_id];
        }
        public int GetBossRebornNeedPoint()
        {
            var worldLevel = GetWorldLevel();
            var index = 0;
            for (int i = 0; i < GeneralConfig.Instance.bossRebornTotalPointWorldLevelNeed.Count; i++)
            {
                if (worldLevel >= GeneralConfig.Instance.bossRebornTotalPointWorldLevelNeed[i])
                {
                    index = i + 1;
                }
            }
            return GeneralConfig.Instance.bossRebornTotalPoint[Mathf.Clamp(index, 0, GeneralConfig.Instance.bossRebornTotalPoint.Count - 1)];
        }
        public void RequestTaskReward(int _id)
System/BossReborn/BossRebornWin.cs
@@ -35,7 +35,7 @@
        protected override void OnPreOpen()
        {
            m_Description.text = Language.Get("BossFHLanguage7", model.GetBossRebornNeedPoint());
            m_Description.text = Language.Get("BossFHLanguage7", model.bossRebornIndegralTotal);
            UpdateIntegral();
            UpdateCountDown();
        }
@@ -73,7 +73,7 @@
        private void UpdateIntegral()
        {
            var needPoint = model.GetBossRebornNeedPoint();
            var needPoint = model.bossRebornIndegralTotal;
            var progress = (float)model.bossRebornIntegral / needPoint;
            m_Slider.value = progress;
            m_Progress.text = StringUtility.Contact(model.bossRebornIntegral, "/", needPoint);
System/FindPrecious/BossIntroduceBehaviour.cs
@@ -13,7 +13,7 @@
    public class BossIntroduceBehaviour : MonoBehaviour
    {
        [SerializeField] FindPreciousType m_FindPreciousType = FindPreciousType.WorldBoss;
        [SerializeField] protected FindPreciousType m_FindPreciousType = FindPreciousType.WorldBoss;
        [SerializeField] Transform m_ContainerReward;
        [SerializeField] Transform m_ContainerBossInfo;
@@ -32,7 +32,7 @@
        float confirmDelay = 0.3f;
        float confirmTimer = 0f;
        int tempBossId = 0;
        int bossId = 0;
        protected int bossId = 0;
        public void Display(int _bossId, bool _immediately)
        {
@@ -92,7 +92,7 @@
            m_BossAbility.Display(bossId);
        }
        private void DrawReward()
        protected virtual void DrawReward()
        {
            UI3DModelExhibition.Instance.StopShowNPC();
            m_ViewType = ViewType.Reward;
System/FindPrecious/DemonJarBossIntroduceBehaviour.cs
New file
@@ -0,0 +1,46 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, August 14, 2018
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using TableConfig;
namespace Snxxz.UI
{
    public class DemonJarBossIntroduceBehaviour : BossIntroduceBehaviour
    {
        [SerializeField] Text[] m_UndoubtedlyRewardDescription;
        protected override void DrawReward()
        {
            base.DrawReward();
            if (m_FindPreciousType == FindPreciousType.DemonJar)
            {
                var demonJarConfig = ConfigManager.Instance.GetTemplate<DemonJarConfig>(bossId);
                for (int i = 0; i < m_UndoubtedlyRewardDescription.Length; i++)
                {
                    var behaviour = m_UndoubtedlyRewardDescription[i];
                    if (i < demonJarConfig.MustItemDescriptions.Length)
                    {
                        behaviour.gameObject.SetActive(true);
                        behaviour.text = demonJarConfig.MustItemDescriptions[i];
                    }
                    else
                    {
                        behaviour.gameObject.SetActive(false);
                    }
                }
            }
        }
    }
}
System/FindPrecious/DemonJarBossIntroduceBehaviour.cs.meta
copy from Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC07_tagGCBossRebornInfo.cs.meta copy to System/FindPrecious/DemonJarBossIntroduceBehaviour.cs.meta
File was copied from Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC07_tagGCBossRebornInfo.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 1dac3402caac450408ead6d8c9f5474b
timeCreated: 1531883702
guid: c1971e6d24a8dc4469a7c7465ff1e3b9
timeCreated: 1534212978
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/KnapSack/New/BagWin.cs
@@ -161,6 +161,8 @@
        {
            if (type != PackType.rptItem)
                return;
            _gridlineCtrl.JumpIndex(0);
            OnRefrenshUIModel();
        }
System/KnapSack/New/DepotWin.cs
@@ -136,6 +136,7 @@
        {
            if (type != PackType.rptWarehouse)
                return;
            _gridlineCtrl.JumpIndex(0);
            OnCreateGridLineCell(_gridlineCtrl);
        }
System/OpenServerActivity/ImpactRankModel.cs
@@ -355,11 +355,9 @@
        #endregion
        public event Action OnSelectRankTypeEvent;
        private int m_PresentSelectType = 0;
        public int presentSelectType
        {
        public int presentSelectType {
            get { return m_PresentSelectType; }
            set
            {
            set {
                m_PresentSelectType = value;
                if (OnSelectRankTypeEvent != null)
                {
@@ -398,11 +396,9 @@
        }
        private PlayerRankData.RankType m_PresentBillRankType = PlayerRankData.RankType.OpenServerStrengthen;
        public PlayerRankData.RankType presentBillRankType
        {
        public PlayerRankData.RankType presentBillRankType {
            get { return m_PresentBillRankType; }
            set
            {
            set {
                m_PresentBillRankType = value;
                if (CoroutineMgr.Instance.CanBegRank((int)m_PresentBillRankType))
                {
@@ -636,6 +632,9 @@
        ConsumeRebateModel consumeRebateModel { get { return ModelCenter.Instance.GetModel<ConsumeRebateModel>(); } }
        MultipleExpModel multipleExpModel { get { return ModelCenter.Instance.GetModel<MultipleExpModel>(); } }
        BossRebornModel bossRebornModel { get { return ModelCenter.Instance.GetModel<BossRebornModel>(); } }
        MultipleRealmPointModel multipleRealmModel { get { return ModelCenter.Instance.GetModel<MultipleRealmPointModel>(); } }
        public event Action openServerActivityStateChange;
@@ -722,6 +721,17 @@
                _functionOrder = 5;
                return true;
            }
            if (IsMultipleRealmOpen())
            {
                _functionOrder = 8;
                return true;
            }
            if (IsBossRebornOpen())
            {
                _functionOrder = 9;
                return true;
            }
            return false;
        }
@@ -768,10 +778,21 @@
            return multipleExpModel.Open();
        }
        public bool IsMultipleRealmOpen()
        {
            return multipleRealmModel.IsOpen;
        }
        public void ProcessErrorTip()
        {
            SysNotifyMgr.Instance.ShowTip("ActiveOutTime");
        }
        public bool IsBossRebornOpen()
        {
            return bossRebornModel.IsOpen();
        }
    }
}
System/OpenServerActivity/OpenServerActivityCell.cs
@@ -1,44 +1,47 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class OpenServerActivityCell : CellView
    {
        [SerializeField] RedpointBehaviour m_Redpoint;
        public RedpointBehaviour redpoint
        {
            get
            {
                return m_Redpoint;
            }
        }
        [SerializeField] Button m_FuncBtn;
        public Button funcBtn
        {
            get
            {
                return m_FuncBtn;
            }
        }
        [SerializeField] FunctionButtonConfig m_AlternativeConfig;
        public FunctionButtonConfig alternativeConfig { get { return m_AlternativeConfig; } set { m_AlternativeConfig = value; } }
        [SerializeField] Image m_Icon;
        [SerializeField] Text m_Title;
        public Text title { get { return m_Title; } }
        [SerializeField] Image m_Arrow;
        public Image arrow { get { return m_Arrow; } }
        private int m_Order = 0;
        public int order { get { return m_Order; } set { m_Order = value; } }
        public void ChangeState(TitleBtnState _state)
        {
            m_Icon.SetSprite(alternativeConfig.GetIconKey(_state));
            m_Title.color = alternativeConfig.GetFontColor(_state);
            m_Title.fontSize = alternativeConfig.GetFontSize(_state);
        }
    }
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class OpenServerActivityCell : CellView
    {
        [SerializeField] RedpointBehaviour m_Redpoint;
        public RedpointBehaviour redpoint
        {
            get
            {
                return m_Redpoint;
            }
        }
        [SerializeField] Button m_FuncBtn;
        public Button funcBtn
        {
            get
            {
                return m_FuncBtn;
            }
        }
        [SerializeField] FunctionButtonConfig m_AlternativeConfig;
        public FunctionButtonConfig alternativeConfig { get { return m_AlternativeConfig; } set { m_AlternativeConfig = value; } }
        [SerializeField] Image m_Icon;
        [SerializeField] Text m_Title;
        public Text title { get { return m_Title; } }
        [SerializeField] Image m_DownArrow;
        public Image downArrow { get { return m_DownArrow; } }
        [SerializeField] Image m_UpArrow;
        public Image upArrow { get { return m_UpArrow; } }
        private int m_Order = 0;
        public int order { get { return m_Order; } set { m_Order = value; } }
        public void ChangeState(TitleBtnState _state)
        {
            m_Icon.SetSprite(alternativeConfig.GetIconKey(_state));
            m_Title.color = alternativeConfig.GetFontColor(_state);
            m_Title.fontSize = alternativeConfig.GetFontSize(_state);
        }
    }
}
System/OpenServerActivity/OpenServerActivityWin.cs
@@ -17,28 +17,22 @@
        Dictionary<int, bool> m_ActivitySpreadDict = new Dictionary<int, bool>();
        ImpactRankModel m_ImpactRankModel;
        ImpactRankModel impactRankModel
        {
            get
            {
        ImpactRankModel impactRankModel {
            get {
                return m_ImpactRankModel ?? (m_ImpactRankModel = ModelCenter.Instance.GetModel<ImpactRankModel>());
            }
        }
        OSRedEnvelopeModel m_OSRedEnvelopeModel;
        OSRedEnvelopeModel envelopeModel
        {
            get
            {
        OSRedEnvelopeModel envelopeModel {
            get {
                return m_OSRedEnvelopeModel ?? (m_OSRedEnvelopeModel = ModelCenter.Instance.GetModel<OSRedEnvelopeModel>());
            }
        }
        OSTimeLimitGiftModel m_OSTimeLimitGiftModel;
        OSTimeLimitGiftModel timeLimitGiftModel
        {
            get
            {
        OSTimeLimitGiftModel timeLimitGiftModel {
            get {
                return m_OSTimeLimitGiftModel ?? (m_OSTimeLimitGiftModel = ModelCenter.Instance.GetModel<OSTimeLimitGiftModel>());
            }
        }
@@ -48,6 +42,9 @@
        ConsumeRebateModel consumeRebateModel { get { return ModelCenter.Instance.GetModel<ConsumeRebateModel>(); } }
        MultipleExpModel multipleExpModel { get { return ModelCenter.Instance.GetModel<MultipleExpModel>(); } }
        MultipleRealmPointModel multipleRealmPointModel { get { return ModelCenter.Instance.GetModel<MultipleRealmPointModel>(); } }
        BossRebornModel bossRebornModel { get { return ModelCenter.Instance.GetModel<BossRebornModel>(); } }
        List<int> openActivitys = new List<int>();
        List<int> activityReds = new List<int>();
@@ -181,6 +178,15 @@
                    activityReds.Add(1);
                }
            }
            if (OpenServerActivityCenter.Instance.IsBossRebornOpen())
            {
                openActivitys.Add(9);
                if (bossRebornModel.bossRebornPoint.state == RedPointState.Simple)
                {
                    activityReds.Add(9);
                }
            }
            if (OpenServerActivityCenter.Instance.IsMultipleExpOpen())
            {
                openActivitys.Add(5);
@@ -189,7 +195,14 @@
                    activityReds.Add(5);
                }
            }
            if (OpenServerActivityCenter.Instance.IsMultipleRealmOpen())
            {
                openActivitys.Add(8);
                if (multipleRealmPointModel.multipleRed.state == RedPointState.Simple)
                {
                    activityReds.Add(8);
                }
            }
            if (activityReds.Count > 0)
            {
                activityReds.Sort(Compare);
@@ -229,6 +242,15 @@
            {
                alreadyOpenActivitys.Add(5);
            }
            if (OpenServerActivityCenter.Instance.IsMultipleRealmOpen())
            {
                alreadyOpenActivitys.Add(8);
            }
            if (OpenServerActivityCenter.Instance.IsBossRebornOpen())
            {
                alreadyOpenActivitys.Add(9);
            }
        }
        private void OnOpenServerActivityRefresh(ScrollerDataType type, CellView cell)
@@ -246,13 +268,19 @@
        private void RefreshOpenActivityCell(OpenServerActivityCell _cell)
        {
            OperationBase operationBase;
            switch (_cell.index)
            {
                case 5:
                    OperationBase operationBase;
                    if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.MultipleExp, out operationBase))
                    {
                        _cell.title.text = Language.Get("ExpActivity_Text5", (operationBase as OperationMultiExp).GetMultipleCHS());
                    }
                    break;
                case 8:
                    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;
                default:
@@ -262,8 +290,13 @@
            _cell.order = _cell.index;
            _cell.redpoint.redpointId = MainRedDot.REDPOINT_OPENSERVER * 100 + _cell.index;
            _cell.ChangeState(_cell.order == functionOrder ? TitleBtnState.Click : TitleBtnState.Normal);
            _cell.arrow.rectTransform.localEulerAngles = m_ActivitySpreadDict[_cell.order] ? new Vector3(0, 0, -90) : Vector3.zero;
            _cell.arrow.gameObject.SetActive(_cell.order == 0 || _cell.order == 2);
            _cell.downArrow.gameObject.SetActive(false);
            _cell.upArrow.gameObject.SetActive(false);
            if(_cell.order == 0 || _cell.order == 2)
            {
                _cell.downArrow.gameObject.SetActive(m_ActivitySpreadDict[_cell.order]);
                _cell.upArrow.gameObject.SetActive(!m_ActivitySpreadDict[_cell.order]);
            }
            _cell.funcBtn.onClick.RemoveAllListeners();
            _cell.funcBtn.onClick.AddListener(() =>
            {
@@ -340,12 +373,10 @@
                        m_ActivityCtrl.AddCell(ScrollerDataType.Normal, sort * 100 + 2);
                        break;
                    case 3:
                        m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
                        break;
                    case 4:
                        m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
                        break;
                    case 5:
                    case 8:
                    case 9:
                        m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
                        break;
                }
@@ -437,6 +468,27 @@
                        WindowCenter.Instance.Open<MultipleExpWin>(true);
                    }
                    break;
                case 8:
                    if (windowState == WindowState.Opened)
                    {
                        WindowCenter.Instance.OpenWithoutAnimation<NPracticePointWin>();
                    }
                    else
                    {
                        WindowCenter.Instance.Open<NPracticePointWin>(true);
                    }
                    break;
                case 9:
                    if (windowState == WindowState.Opened)
                    {
                        WindowCenter.Instance.OpenWithoutAnimation<BossRebornWin>();
                    }
                    else
                    {
                        WindowCenter.Instance.Open<BossRebornWin>(true);
                    }
                    break;
            }
        }
@@ -464,6 +516,8 @@
            WindowCenter.Instance.CloseImmediately<FlashSaleWin>();
            WindowCenter.Instance.CloseImmediately<ConsumeRebateWin>();
            WindowCenter.Instance.CloseImmediately<MultipleExpWin>();
            WindowCenter.Instance.CloseImmediately<NPracticePointWin>();
            WindowCenter.Instance.CloseImmediately<BossRebornWin>();
        }
        private int Compare(int x, int y)
@@ -507,14 +561,20 @@
                    }
                    break;
                case Operation.BossReborn:
                    if (state == 0 && !alreadyOpenActivitys.Contains(9))
                    {
                        alreadyOpenActivitys.Add(9);
                        UpdateFunctionBtns();
                    }
                    break;
                case Operation.GiftPackage:
                    break;
                case Operation.FairyCeremony:
                    break;
                case Operation.MultipRealmPoint:
                    break;
                case Operation.max:
                    if (state == 0 && !alreadyOpenActivitys.Contains(8))
                    {
                        alreadyOpenActivitys.Add(8);
                        UpdateFunctionBtns();
                    }
                    break;
            }
        }
System/Store/StoreWin.cs
@@ -106,6 +106,29 @@
        protected override void OnActived()
        {
            base.OnActived();
            if(!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0)
            {
                if(m_storeModel.storeFunc1Point.state == RedPointState.Simple)
                {
                    functionOrder = _weekStoreTitle.order;
                }
                else if(m_storeModel.storeFunc2Point.state == RedPointState.Simple)
                {
                    functionOrder = _commonStoreTitle.order;
                }
                else if (m_storeModel.storeFunc3Point.state == RedPointState.Simple)
                {
                    functionOrder = _growStrongerStoreTitle.order;
                }
                else if (m_storeModel.storeFunc4Point.state == RedPointState.Simple)
                {
                    functionOrder = _bindStoreTitle.order;
                }
                else if (m_storeModel.storeFunc5Point.state == RedPointState.Simple)
                {
                    functionOrder = _integralStoreTitle.order;
                }
            }
            _funcBtnGroup.TriggerByOrder(functionOrder);
            GlobalTimeEvent.Instance.secondEvent += RefreshResetTime;
        }
System/Team/MyTeamWin.cs
@@ -102,6 +102,7 @@
            model.teammateChangeMapEvent += UpdateMission;
            model.missionLevelLimitChangeEvent += UpdateMission;
            model.missionLevelLimitChangeEvent += UpdateLevelLimit;
            model.missionLevelLimitChangeEvent += UpdateAutoPrepareButton;
            model.matchingStateChangeEvent += OnMatchStateChange;
            m_TeamInviteEntrancePanel.activeOrDeActiveEvent += OnInvitePanelActiveOrDeActive;
@@ -130,6 +131,7 @@
            model.teammateChangeMapEvent -= UpdateMission;
            model.missionLevelLimitChangeEvent -= UpdateMission;
            model.missionLevelLimitChangeEvent -= UpdateLevelLimit;
            model.missionLevelLimitChangeEvent -= UpdateAutoPrepareButton;
            model.matchingStateChangeEvent -= OnMatchStateChange;
            m_TeamInviteEntrancePanel.activeOrDeActiveEvent -= OnInvitePanelActiveOrDeActive;
System/Team/TeamModel.cs
@@ -554,7 +554,7 @@
            GameNetSystem.Instance.SendInfo(sendInfo);
        }
        public void ReqeustPrepareEnterDungeon(bool _prepare)
        public void RequestPrepareEnterDungeon(bool _prepare)
        {
            var sendInfo = new CB909_tagCGTeamMemberPrepare();
            sendInfo.PrepareState = (byte)(_prepare ? 1 : 2);
@@ -935,7 +935,7 @@
        {
            if (!AssetSource.sceneFromEditor && VersionConfig.Get().assetAccess != InstalledAsset.IngoreDownLoad && !AssetVersionUtility.unPriorAssetDownLoadDone)
            {
                ReqeustPrepareEnterDungeon(false);
                RequestPrepareEnterDungeon(false);
                return;
            }
@@ -1103,6 +1103,7 @@
        {
            if (isMatching)
            {
                SysNotifyMgr.Instance.ShowTip("TeamMatchingTimeOut");
                RequestCancelAutoMatchTeam();
            }
        }
System/Team/TeamPrepareWin.cs
@@ -34,7 +34,7 @@
        bool autoHandupRecord = false;
        int moveToNPCRecord = 0;
        bool rejectManual = false;
        TeamModel model { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
        #region Built-in
@@ -51,6 +51,7 @@
        protected override void OnPreOpen()
        {
            rejectManual = false;
            autoHandupRecord = PlayerDatas.Instance.hero.aiHandler.IsAuto();
            moveToNPCRecord = MapTransferUtility.Instance.NpcID;
@@ -82,11 +83,31 @@
        protected override void OnPreClose()
        {
            if (rejectManual || model.teamPrepare.isError || model.teamPrepare.IsReject())
            {
                if (autoHandupRecord)
                {
                    if (PlayerDatas.Instance.hero != null)
                    {
                        PlayerDatas.Instance.hero.Behaviour.StartHandupAI();
                    }
                    autoHandupRecord = false;
                }
                if (moveToNPCRecord != 0)
                {
                    MapTransferUtility.Instance.MoveToNPC(moveToNPCRecord);
                    moveToNPCRecord = 0;
                }
            }
            model.memberPrepareStateChangeEvent -= ShowPrepareStates;
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
@@ -114,27 +135,12 @@
        private void Reject()
        {
            if (autoHandupRecord)
            {
                if (PlayerDatas.Instance.hero != null)
                {
                    PlayerDatas.Instance.hero.Behaviour.StartHandupAI();
                }
                autoHandupRecord = false;
            }
            if (moveToNPCRecord != 0)
            {
                MapTransferUtility.Instance.MoveToNPC(moveToNPCRecord);
                moveToNPCRecord = 0;
            }
            var myPlayerId = PlayerDatas.Instance.baseData.PlayerID;
            var prepareState = model.teamPrepare.GetPlayerPrepareSate((int)myPlayerId);
            if (prepareState == TeammatePrepareState.UnPrepared)
            {
                model.ReqeustPrepareEnterDungeon(false);
                rejectManual = true;
                model.RequestPrepareEnterDungeon(false);
                WindowCenter.Instance.Close<TeamPrepareWin>();
            }
        }
@@ -145,7 +151,7 @@
            var prepareState = model.teamPrepare.GetPlayerPrepareSate((int)myPlayerId);
            if (prepareState == TeammatePrepareState.UnPrepared)
            {
                model.ReqeustPrepareEnterDungeon(true);
                model.RequestPrepareEnterDungeon(true);
            }
        }
@@ -153,7 +159,8 @@
        {
            if (model.myTeam.iamCaptainer)
            {
                model.ReqeustPrepareEnterDungeon(false);
                rejectManual = true;
                model.RequestPrepareEnterDungeon(false);
                WindowCenter.Instance.Close<TeamPrepareWin>();
            }
        }
System/Welfare/MultipleRealmPointModel.cs
@@ -5,8 +5,7 @@
{
    public class MultipleRealmPointModel : Model,IBeforePlayerDataInitialize,IAfterPlayerDataInitialize,IPlayerLoginOk
    {
        public const int MULTIPLEREALM_KEY = 20109;
        public Redpoint multipleRed = new Redpoint(201,MULTIPLEREALM_KEY);
        public Redpoint multipleRed = new Redpoint(MainRedDot.REDPOINT_OPENSERVER, 20908);
        public string LocalRecord_Key = "MultipleRealmRecord";
        bool isNewDay = false;
        public override void Init()
@@ -41,6 +40,16 @@
          
        }
        public bool IsOpen
        {
            get
            {
                OperationBase operation;
                OperationTimeHepler.Instance.TryGetOperationTime(Operation.MultipRealmPoint, out operation);
                return operation != null && operation.SatisfyOpenCondition() && operation.InDay(TimeUtility.ServerNow);
            }
        }
        private void RefreshOperationClose(Operation type)
        {
            if (type != Operation.MultipRealmPoint) return;
System/Welfare/NPracticePointWin.cs
@@ -12,6 +12,7 @@
        [SerializeField] Image multipleRealmImg;
        [SerializeField] Text activeRuleText;
        OperationBase operation;
        MultipleRealmPointModel multipleRealm { get { return ModelCenter.Instance.GetModel<MultipleRealmPointModel>(); } }
        protected override void BindController()
        {
@@ -24,6 +25,7 @@
        protected override void OnPreOpen()
        {
            multipleRealm.CheckShowRed(true);
            GlobalTimeEvent.Instance.secondEvent += RefreshSecond;
            InitUI();
        }
System/Welfare/OperationTimeHepler.cs
@@ -390,7 +390,7 @@
        }
        public void UpdateBossReborn(HAC07_tagGCBossRebornInfo package)
        public void UpdateBossReborn(HAB04_tagMCBossRebornInfo package)
        {
            if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
            {
@@ -423,9 +423,10 @@
                operationBase.Reset();
                operationBase.limitLv = package.LimitLV;
                operationBase.allDay = true;
                (operationBase as OperationBossReborn).worldLevel = package.WorldLV;
                operationBase.startDate = ParseOperationDate(package.StartDate);
                operationBase.endDate = ParseOperationDate(package.EndtDate);
                ModelCenter.Instance.GetModel<BossRebornModel>().UpdateTaskBaseInfos(package.TaskInfo);
            }
        }
@@ -1283,8 +1284,6 @@
    public class OperationBossReborn : OperationBase
    {
        public int worldLevel;
        public override bool SatisfyOpenCondition()
        {
            return PlayerDatas.Instance.baseData.LV >= limitLv;
System/Welfare/WelfareCenter.cs
@@ -13,8 +13,6 @@
        InSevenDayModel sevenDayModel { get { return ModelCenter.Instance.GetModel<InSevenDayModel>(); } }
        BossRebornModel bossRebornModel { get { return ModelCenter.Instance.GetModel<BossRebornModel>(); } }
        FairyJadeInvestmentModel m_FairyJadeInvestmentModel;
        FairyJadeInvestmentModel fairyJadeInvestmentModel { get { return m_FairyJadeInvestmentModel ?? (m_FairyJadeInvestmentModel = ModelCenter.Instance.GetModel<FairyJadeInvestmentModel>()); } }
        /// <summary>
@@ -65,12 +63,6 @@
                return;
            }
            if (bossRebornModel.IsOpen() && RedpointCenter.Instance.GetRedpointState(20108) == RedPointState.Simple)
            {
                WindowCenter.Instance.Close<MainInterfaceWin>();
                WindowCenter.Instance.Open<WelfareWin>(false, 7);
                return;
            }
            if (fairyJadeInvestmentModel.redPointStre1.state == RedPointState.Simple || fairyJadeInvestmentModel.redPointStre1.state == RedPointState.GetReward)
            {
                WindowCenter.Instance.Close<MainInterfaceWin>();
@@ -118,10 +110,6 @@
                return 3;
            }
            if (bossRebornModel.IsOpen() && RedpointCenter.Instance.GetRedpointState(20108) == RedPointState.Simple)
            {
                return 7;
            }
            if (fairyJadeInvestmentModel.redPointStre1.state == RedPointState.Simple || fairyJadeInvestmentModel.redPointStre1.state == RedPointState.GetReward)
            {             
                return 8;
System/Welfare/WelfareWin.cs
@@ -19,19 +19,13 @@
        [SerializeField] FunctionButton Btn_InSeven;
        [SerializeField] FunctionButton m_LevelGiftBtn;
        [SerializeField] FunctionButton m_ExchangeBtn;
        [SerializeField] FunctionButton m_BossReornBtn;
        [SerializeField] FunctionButton m_NpracticeBtn;
        [SerializeField] FunctionButton m_FairyJadeInvestment;
        [SerializeField] FunctionButtonGroup buttonGroup;
        [SerializeField] Button closeBtn;
        [SerializeField] Text m_MultipleRealmPointTitle;
        MultipleRealmPointModel multipleRealmModel { get { return ModelCenter.Instance.GetModel<MultipleRealmPointModel>(); } }
        InSevenDayModel m_InSevenDayModel;
        InSevenDayModel inSevenDay { get { return m_InSevenDayModel ?? (m_InSevenDayModel = ModelCenter.Instance.GetModel<InSevenDayModel>()); } }
    
        BossRebornModel bossRebornModel { get { return ModelCenter.Instance.GetModel<BossRebornModel>(); } }
        FairyJadeInvestmentModel m_FairyJadeInvestmentModel;
        FairyJadeInvestmentModel fairyJadeInvestmentModel { get { return m_FairyJadeInvestmentModel ?? (m_FairyJadeInvestmentModel = ModelCenter.Instance.GetModel<FairyJadeInvestmentModel>()); } }
        #region Built-in
@@ -46,9 +40,7 @@
            Btn_InSeven.AddListener(InSeven);
            m_LevelGiftBtn.onClick.AddListener(OnLevelGift);
            m_ExchangeBtn.onClick.AddListener(OnExchange);
            m_NpracticeBtn.AddListener(OnNPractice);
            closeBtn.onClick.AddListener(CloseClick);
            m_BossReornBtn.AddListener(BossRebornBtn);
            m_FairyJadeInvestment.AddListener(FairyJade);
        }
@@ -94,21 +86,6 @@
            functionOrder = 3;
        }
        private void BossRebornBtn()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<BossRebornWin>();
            }
            else
            {
                WindowCenter.Instance.Open<BossRebornWin>();
            }
            functionOrder = 7;
        }
        private void FairyJade()
        {
            CloseChildWin();
@@ -135,22 +112,6 @@
                WindowCenter.Instance.Open<AwardExchangeWin>();
            }
            functionOrder = 6;
        }
        private void OnNPractice()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<NPracticePointWin>();
            }
            else
            {
                WindowCenter.Instance.Open<NPracticePointWin>();
            }
            multipleRealmModel.CheckShowRed(true);
            functionOrder = 8;
        }
        private void OnSignIn()
@@ -265,15 +226,10 @@
            {
                WindowCenter.Instance.CloseImmediately<AwardExchangeWin>();
            }
            if (WindowCenter.Instance.CheckOpen<NPracticePointWin>())
            {
                WindowCenter.Instance.CloseImmediately<NPracticePointWin>();
            }
            if (WindowCenter.Instance.CheckOpen<FairyJadeInvestmentWin>())
            {
                WindowCenter.Instance.CloseImmediately<FairyJadeInvestmentWin>();
            }
            WindowCenter.Instance.CloseImmediately<BossRebornWin>();
        }
        private void OperationStartEvent(Operation arg1, int arg2)
@@ -283,28 +239,10 @@
        private void OperationEndEvent(Operation type, int state)
        {
            OperationBase operation;
            if (type == Operation.BossReborn && !bossRebornModel.IsOpen() && WindowCenter.Instance.CheckOpen<BossRebornWin>())
            {
                buttonGroup.TriggerByOrder(WelfareCenter.Instance.GetWelfareFuncOrder());
            }
            else if (type == Operation.MultipRealmPoint && !Open(Operation.MultipRealmPoint, out operation) && WindowCenter.Instance.CheckOpen<NPracticePointWin>())
            {
                buttonGroup.TriggerByOrder(WelfareCenter.Instance.GetWelfareFuncOrder());
            }
        }
        void CheckOperationOpen()
        {
            m_BossReornBtn.gameObject.SetActive(bossRebornModel.IsOpen());
            OperationBase operation = null;
            bool isOpen = Open(Operation.MultipRealmPoint, out operation);
            m_NpracticeBtn.gameObject.SetActive(isOpen);
            if (isOpen)
            {
                m_MultipleRealmPointTitle.text = Language.Get("MultipleRealmPoint", Language.Get(StringUtility.Contact("Num_CHS_", (operation as OperationMultipleRealmPoint).multiplePractice)));
            }
        }
        public bool Open(Operation type,out OperationBase operation)
System/WindowJump/WindowJumpMgr.cs
@@ -633,15 +633,13 @@
            case JumpUIType.TreasureSoul:
                SetJumpLogic<TreasureSoulWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.ConsumreRebate:
            case JumpUIType.BossReborn:
                SetJumpLogic<WelfareWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.LimitedTimePackage:
                SetJumpLogic<LimitedTimePackageWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.OSTimeLimitGift:
            case JumpUIType.FlashSale:
            case JumpUIType.ConsumreRebate:
            case JumpUIType.BossReborn:
                SetJumpLogic<OpenServerActivityWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.BestXB:
Utility/EnumHelper.cs
@@ -1117,7 +1117,6 @@
    PersonalBoss,
    ElderGodArea,
    DemonJar,
    AerialBuilding,
}
public enum GotServerRewardType
Utility/RuntimeLogUtility.cs
@@ -7,6 +7,8 @@
public class RuntimeLogUtility : MonoBehaviour
{
    private static string LS_Key_ForceAutoFight = "LS_Key_ForceAutoFight";
    public static bool s_BattleLog = false;
    public static bool s_MoveLog = false;
    public static bool s_ForceOneEnemy = false;
@@ -14,7 +16,24 @@
    public static bool s_UseKeyBoardCastSkill = false;
    public static bool s_LogMoveDistance = false;
    public static bool s_SkillEffectLog = false;
    public static bool s_forceAutoFight = false;
    public static bool s_forceAutoFight
    {
        get
        {
#if UNITY_EDITOR
            return EditorPrefs.GetBool("LS_Key_ForceAutoFight", true);
#else
            return true;
#endif
        }
        set
        {
#if UNITY_EDITOR
            EditorPrefs.SetBool("LS_Key_ForceAutoFight", value);
#endif
        }
    }
    public static string s_LogPath;
    static readonly Dictionary<uint, StringBuilder> s_LogDict = new Dictionary<uint, StringBuilder>();
    static readonly List<string> s_LogList = new List<string>();