少年修仙传客户端代码仓库
client_Hale
2018-08-31 c7f797d0a0948f783e218a0352bb2d0328b779bb
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
12个文件已修改
309 ■■■■■ 已修改文件
Core/GameEngine/Login/Launch.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/ItemConfig.cs 149 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/ItemConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/StageManager.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainInterfaceWin.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/FlashSaleWin.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/SystemSetting/SystemSetWin.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/SystemSetting/SystemSetting.cs 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureLevelUpWin.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/ConsumeRebateWin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/OperationTimeHepler.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WorldMap/MapModel.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Login/Launch.cs
@@ -45,7 +45,7 @@
        SoundPlayer.CreateSoundPlayer();
        SoundPlayer.Instance.PlayLoginMusic();
        SystemSetting.Instance.SetSoundVolume(SystemSetting.Instance.GetSoundVolume());
        SystemSetting.Instance.SetGameFrame(SystemSetting.Instance.GetGameFrame());
        SystemSetting.Instance.SetGameFps(SystemSetting.Instance.GetGameFps());
        SDKUtility.Instance.Init();
        GameObjectPoolManager.Instance.gameObject.name = "GameObjectPool";
Core/GameEngine/Model/Config/ItemConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:            第二世界
//    [  Date ]:           Wednesday, August 01, 2018
//    [  Date ]:           Friday, August 31, 2018
//--------------------------------------------------------
using UnityEngine;
@@ -9,8 +9,8 @@
namespace TableConfig {
    
    public partial class ItemConfig : ConfigBase {
    public partial class ItemConfig : ConfigBase {
        public int ID { get ; private set ; }
        public int LV { get ; private set ; }
        public string ItemName { get ; private set; } 
@@ -21,6 +21,7 @@
        public int UseLV { get ; private set ; }
        public int CanSell { get ; private set ; }
        public int CanTrade { get ; private set ; }
        public int ComposeID { get ; private set ; }
        public int CanDrop { get ; private set ; }
        public int CanBind { get ; private set ; }
        public int CDType { get ; private set ; }
@@ -79,16 +80,16 @@
        public int Jump { get ; private set ; }
        public int[] GetWay;
        public string ItemTypeName { get ; private set; } 
        public int[] UseCondiType;
        public int[] UseCondiType;
        public override string getKey()
        {
            return ID.ToString();
        public override string getKey()
        {
            return ID.ToString();
        }
        public override void Parse() {
            try
            {
            try
            {
                ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; 
            
                LV=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; 
@@ -109,137 +110,139 @@
            
                CanTrade=IsNumeric(rawContents[9]) ? int.Parse(rawContents[9]):0; 
            
                CanDrop=IsNumeric(rawContents[10]) ? int.Parse(rawContents[10]):0;
                ComposeID=IsNumeric(rawContents[10]) ? int.Parse(rawContents[10]):0;
            
                CanBind=IsNumeric(rawContents[11]) ? int.Parse(rawContents[11]):0;
                CanDrop=IsNumeric(rawContents[11]) ? int.Parse(rawContents[11]):0;
            
                CDType=IsNumeric(rawContents[12]) ? int.Parse(rawContents[12]):0;
                CanBind=IsNumeric(rawContents[12]) ? int.Parse(rawContents[12]):0;
            
                CDTime=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0;
                CDType=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0;
            
                GoldPrice=IsNumeric(rawContents[14]) ? int.Parse(rawContents[14]):0;
                CDTime=IsNumeric(rawContents[14]) ? int.Parse(rawContents[14]):0;
            
                GoldPaperPrice=IsNumeric(rawContents[15]) ? int.Parse(rawContents[15]):0;
                GoldPrice=IsNumeric(rawContents[15]) ? int.Parse(rawContents[15]):0;
            
                SilverPrice=IsNumeric(rawContents[16]) ? int.Parse(rawContents[16]):0;
                GoldPaperPrice=IsNumeric(rawContents[16]) ? int.Parse(rawContents[16]):0;
            
                UseTag=IsNumeric(rawContents[17]) ? int.Parse(rawContents[17]):0;
                SilverPrice=IsNumeric(rawContents[17]) ? int.Parse(rawContents[17]):0;
            
                Effect1=IsNumeric(rawContents[18]) ? int.Parse(rawContents[18]):0;
                UseTag=IsNumeric(rawContents[18]) ? int.Parse(rawContents[18]):0;
            
                EffectValueA1=IsNumeric(rawContents[19]) ? int.Parse(rawContents[19]):0;
                Effect1=IsNumeric(rawContents[19]) ? int.Parse(rawContents[19]):0;
            
                EffectValueB1=IsNumeric(rawContents[20]) ? int.Parse(rawContents[20]):0;
                EffectValueA1=IsNumeric(rawContents[20]) ? int.Parse(rawContents[20]):0;
            
                EffectValueC1=IsNumeric(rawContents[21]) ? int.Parse(rawContents[21]):0;
                EffectValueB1=IsNumeric(rawContents[21]) ? int.Parse(rawContents[21]):0;
            
                Effect2=IsNumeric(rawContents[22]) ? int.Parse(rawContents[22]):0;
                EffectValueC1=IsNumeric(rawContents[22]) ? int.Parse(rawContents[22]):0;
            
                EffectValueA2=IsNumeric(rawContents[23]) ? int.Parse(rawContents[23]):0;
                Effect2=IsNumeric(rawContents[23]) ? int.Parse(rawContents[23]):0;
            
                EffectValueB2=IsNumeric(rawContents[24]) ? int.Parse(rawContents[24]):0;
                EffectValueA2=IsNumeric(rawContents[24]) ? int.Parse(rawContents[24]):0;
            
                EffectValueC2=IsNumeric(rawContents[25]) ? int.Parse(rawContents[25]):0;
                EffectValueB2=IsNumeric(rawContents[25]) ? int.Parse(rawContents[25]):0;
            
                Effect3=IsNumeric(rawContents[26]) ? int.Parse(rawContents[26]):0;
                EffectValueC2=IsNumeric(rawContents[26]) ? int.Parse(rawContents[26]):0;
            
                EffectValueA3=IsNumeric(rawContents[27]) ? int.Parse(rawContents[27]):0;
                Effect3=IsNumeric(rawContents[27]) ? int.Parse(rawContents[27]):0;
            
                EffectValueB3=IsNumeric(rawContents[28]) ? int.Parse(rawContents[28]):0;
                EffectValueA3=IsNumeric(rawContents[28]) ? int.Parse(rawContents[28]):0;
            
                EffectValueC3=IsNumeric(rawContents[29]) ? int.Parse(rawContents[29]):0;
                EffectValueB3=IsNumeric(rawContents[29]) ? int.Parse(rawContents[29]):0;
            
                Effect4=IsNumeric(rawContents[30]) ? int.Parse(rawContents[30]):0;
                EffectValueC3=IsNumeric(rawContents[30]) ? int.Parse(rawContents[30]):0;
            
                EffectValueA4=IsNumeric(rawContents[31]) ? int.Parse(rawContents[31]):0;
                Effect4=IsNumeric(rawContents[31]) ? int.Parse(rawContents[31]):0;
            
                EffectValueB4=IsNumeric(rawContents[32]) ? int.Parse(rawContents[32]):0;
                EffectValueA4=IsNumeric(rawContents[32]) ? int.Parse(rawContents[32]):0;
            
                EffectValueC4=IsNumeric(rawContents[33]) ? int.Parse(rawContents[33]):0;
                EffectValueB4=IsNumeric(rawContents[33]) ? int.Parse(rawContents[33]):0;
            
                Effect5=IsNumeric(rawContents[34]) ? int.Parse(rawContents[34]):0;
                EffectValueC4=IsNumeric(rawContents[34]) ? int.Parse(rawContents[34]):0;
            
                EffectValueA5=IsNumeric(rawContents[35]) ? int.Parse(rawContents[35]):0;
                Effect5=IsNumeric(rawContents[35]) ? int.Parse(rawContents[35]):0;
            
                EffectValueB5=IsNumeric(rawContents[36]) ? int.Parse(rawContents[36]):0;
                EffectValueA5=IsNumeric(rawContents[36]) ? int.Parse(rawContents[36]):0;
            
                EffectValueC5=IsNumeric(rawContents[37]) ? int.Parse(rawContents[37]):0;
                EffectValueB5=IsNumeric(rawContents[37]) ? int.Parse(rawContents[37]):0;
            
                AddSkill1=IsNumeric(rawContents[38]) ? int.Parse(rawContents[38]):0;
                EffectValueC5=IsNumeric(rawContents[38]) ? int.Parse(rawContents[38]):0;
            
                JobLimit=IsNumeric(rawContents[39]) ? int.Parse(rawContents[39]):0;
                AddSkill1=IsNumeric(rawContents[39]) ? int.Parse(rawContents[39]):0;
            
                RealmLimit=IsNumeric(rawContents[40]) ? int.Parse(rawContents[40]):0;
                JobLimit=IsNumeric(rawContents[40]) ? int.Parse(rawContents[40]):0;
            
                ItemColor=IsNumeric(rawContents[41]) ? int.Parse(rawContents[41]):0;
                RealmLimit=IsNumeric(rawContents[41]) ? int.Parse(rawContents[41]):0;
            
                StarLevel=IsNumeric(rawContents[42]) ? int.Parse(rawContents[42]):0;
                ItemColor=IsNumeric(rawContents[42]) ? int.Parse(rawContents[42]):0;
            
                MaxHoleCount=IsNumeric(rawContents[43]) ? int.Parse(rawContents[43]):0;
                StarLevel=IsNumeric(rawContents[43]) ? int.Parse(rawContents[43]):0;
            
                CanBreak=IsNumeric(rawContents[44]) ? int.Parse(rawContents[44]):0;
                MaxHoleCount=IsNumeric(rawContents[44]) ? int.Parse(rawContents[44]):0;
            
                MaxEndure=IsNumeric(rawContents[45]) ? int.Parse(rawContents[45]):0;
                CanBreak=IsNumeric(rawContents[45]) ? int.Parse(rawContents[45]):0;
            
                EndureReduceType=IsNumeric(rawContents[46]) ? int.Parse(rawContents[46]):0;
                MaxEndure=IsNumeric(rawContents[46]) ? int.Parse(rawContents[46]):0;
            
                BindType=IsNumeric(rawContents[47]) ? int.Parse(rawContents[47]):0;
                EndureReduceType=IsNumeric(rawContents[47]) ? int.Parse(rawContents[47]):0;
            
                MaxSkillCnt=IsNumeric(rawContents[48]) ? int.Parse(rawContents[48]):0;
                BindType=IsNumeric(rawContents[48]) ? int.Parse(rawContents[48]):0;
            
                ExpireTime=IsNumeric(rawContents[49]) ? int.Parse(rawContents[49]):0;
                MaxSkillCnt=IsNumeric(rawContents[49]) ? int.Parse(rawContents[49]):0;
            
                MaxFitLV=IsNumeric(rawContents[50]) ? int.Parse(rawContents[50]):0;
                ExpireTime=IsNumeric(rawContents[50]) ? int.Parse(rawContents[50]):0;
            
                SuiteiD=IsNumeric(rawContents[51]) ? int.Parse(rawContents[51]):0;
                MaxFitLV=IsNumeric(rawContents[51]) ? int.Parse(rawContents[51]):0;
            
                DropinstantEffName = rawContents[52].Trim();
                SuiteiD=IsNumeric(rawContents[52]) ? int.Parse(rawContents[52]):0;
            
                IconKey = rawContents[53].Trim();
                DropinstantEffName = rawContents[53].Trim();
            
                ChangeOrd=IsNumeric(rawContents[54]) ? int.Parse(rawContents[54]):0;
                IconKey = rawContents[54].Trim();
            
                Description = rawContents[55].Trim();
                ChangeOrd=IsNumeric(rawContents[55]) ? int.Parse(rawContents[55]):0;
            
                QualityName = rawContents[56].Trim();
                Description = rawContents[56].Trim();
            
                QualityEchoType=IsNumeric(rawContents[57]) ? int.Parse(rawContents[57]):0;
                QualityName = rawContents[57].Trim();
            
                LimitSTR=IsNumeric(rawContents[58]) ? int.Parse(rawContents[58]):0;
                QualityEchoType=IsNumeric(rawContents[58]) ? int.Parse(rawContents[58]):0;
            
                LimitPHY=IsNumeric(rawContents[59]) ? int.Parse(rawContents[59]):0;
                LimitSTR=IsNumeric(rawContents[59]) ? int.Parse(rawContents[59]):0;
            
                LimitPNE=IsNumeric(rawContents[60]) ? int.Parse(rawContents[60]):0;
                LimitPHY=IsNumeric(rawContents[60]) ? int.Parse(rawContents[60]):0;
            
                Template = rawContents[61].Trim();
                LimitPNE=IsNumeric(rawContents[61]) ? int.Parse(rawContents[61]):0;
            
                DropItemPattern=IsNumeric(rawContents[62]) ? int.Parse(rawContents[62]):0;
                Template = rawContents[62].Trim();
            
                SellTip=IsNumeric(rawContents[63]) ? int.Parse(rawContents[63]):0;
                DropItemPattern=IsNumeric(rawContents[63]) ? int.Parse(rawContents[63]):0;
            
                BatchUse=IsNumeric(rawContents[64]) ? int.Parse(rawContents[64]):0;
                SellTip=IsNumeric(rawContents[64]) ? int.Parse(rawContents[64]):0;
            
                Jump=IsNumeric(rawContents[65]) ? int.Parse(rawContents[65]):0;
                BatchUse=IsNumeric(rawContents[65]) ? int.Parse(rawContents[65]):0;
            
                string[] GetWayStringArray = rawContents[66].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                Jump=IsNumeric(rawContents[66]) ? int.Parse(rawContents[66]):0;
                string[] GetWayStringArray = rawContents[67].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                GetWay = new int[GetWayStringArray.Length];
                for (int i=0;i<GetWayStringArray.Length;i++)
                {
                     int.TryParse(GetWayStringArray[i],out GetWay[i]);
                }
            
                ItemTypeName = rawContents[67].Trim();
                ItemTypeName = rawContents[68].Trim();
            
                string[] UseCondiTypeStringArray = rawContents[68].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                string[] UseCondiTypeStringArray = rawContents[69].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                UseCondiType = new int[UseCondiTypeStringArray.Length];
                for (int i=0;i<UseCondiTypeStringArray.Length;i++)
                {
                     int.TryParse(UseCondiTypeStringArray[i],out UseCondiType[i]);
                }
            }
            catch (Exception ex)
            {
                DebugEx.Log(ex);
                }
            }
            catch (Exception ex)
            {
                DebugEx.Log(ex);
            }
        }
    
Core/GameEngine/Model/Config/ItemConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: cfc9e4de91b5b6741bf06e2003e353b9
timeCreated: 1533107824
timeCreated: 1535682711
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Fight/Stage/StageManager.cs
@@ -379,7 +379,7 @@
        DebugEx.LogFormat("StageManager => Load Scene : {0} Finished.", _resources);
        WindowCenter.Instance.Close<LoadingWin>();
        SystemSetting.Instance.SetFPSLimit(SystemSetting.Instance.GetFPSLimit());
        SystemSetting.Instance.SetGameFps(SystemSetting.Instance.GetGameFps());
    }
System/MainInterfacePanel/MainInterfaceWin.cs
@@ -1052,9 +1052,11 @@
        private void bossGrabHintEvent()
        {
            IsShowTaskPanel();
            if (!fairyGrabBossModel.grabBossHintOpen && Buffmodel.PkType != 0)
            int mapID = PlayerDatas.Instance.baseData.MapID;
            var config = Config.Instance.Get<MapConfig>(mapID);
            if (!fairyGrabBossModel.grabBossHintOpen && Buffmodel.PkType != config.Camp)
            {
                DTCA202_tagMCAttackMode.Send_SwitchAttackMode((E_AttackMode)0);
                DTCA202_tagMCAttackMode.Send_SwitchAttackMode((E_AttackMode)config.Camp);
            }
        }
    }
System/OpenServerActivity/FlashSaleWin.cs
@@ -127,10 +127,17 @@
        private void DisplaySurplusTime()
        {
            var seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.FlashSale);
            OperationBase operationBase;
            OperationTimeHepler.Instance.TryGetOperationTime(Operation.FlashSale, out operationBase);
            var seconds = 0;
            if (operationBase != null)
            {
                OperationFlashSale operation = operationBase as OperationFlashSale;
                seconds = operation.GetSurplusTime(operation.IndexOfFlashShop());
            }
            if (seconds > 0)
            {
                m_SurplusTime.text = TimeUtility.SecondsToDHMSCHS(seconds);
                m_SurplusTime.text = Language.Get("LimitGift1", TimeUtility.SecondsToDHMSCHS(seconds));
            }
            else
            {
System/SystemSetting/SystemSetWin.cs
@@ -82,7 +82,7 @@
            UpdateToggleSkin(m_OtherPlayer);
            UpdateToggleSkin(m_Monster);
            m_SixtyFrame.isOn = SystemSetting.Instance.GetGameFrame() == GameFrame.FullFrame;
            m_SixtyFrame.isOn = SystemSetting.Instance.GetGameFps() == GameFps.Full;
            var serverName = ServerListCenter.Instance.GetServerData(ServerListCenter.Instance.currentServer.region_flag).name;
            var playerAccount = PlayerDatas.Instance.baseData.AccID.Split('@');
@@ -182,7 +182,7 @@
                SystemSetting.Instance.SetQualityLevel(GameQuality.Low);
                if (isInited)
                {
                    SystemSetting.Instance.SetGameFrame(GameFrame.HalfFrame);
                    SystemSetting.Instance.SetGameFps(GameFps.Half);
                    SystemSetting.Instance.SetPlayerSyncCount(5);
                }
            }
@@ -192,21 +192,21 @@
        private void SwitchGameFrame()
        {
            var gameFrame = SystemSetting.Instance.GetGameFrame();
            var gameFrame = SystemSetting.Instance.GetGameFps();
            if (gameFrame==GameFrame.HalfFrame)
            if (gameFrame == GameFps.Half)
            {
                SystemSetting.Instance.SetGameFrame(GameFrame.FullFrame);
                SystemSetting.Instance.SetGameFps(GameFps.Full);
            }
            else
            {
                SystemSetting.Instance.SetGameFrame(GameFrame.HalfFrame);
                SystemSetting.Instance.SetGameFps(GameFps.Half);
            }
        }
        private void OnSwitchGameFrame()
        {
            m_SixtyFrame.isOn = SystemSetting.Instance.GetGameFrame() == GameFrame.FullFrame;
            m_SixtyFrame.isOn = SystemSetting.Instance.GetGameFps() == GameFps.Full;
        }
        private void OnShowOrHideOtherPlayers(bool _value)
System/SystemSetting/SystemSetting.cs
@@ -11,7 +11,6 @@
    const string QUALITY_LEVEL_KEY = "GameQualityLevel";
    const string SOUND_VOLUME_KEY = "SoundRatioKey";  //音乐
    const string SOUND_EFFECT_KEY = "SoundEffect"; //音效
    const string FPS_KEY = "FPSKey";
    const string GAMEFRAME_KEY = "GameFrameSetting";//垂直同步率
    public Dictionary<SystemSwitch, bool> systemSettings = new Dictionary<SystemSwitch, bool>();
@@ -54,19 +53,19 @@
        return LocalSave.GetFloat(SOUND_EFFECT_KEY, 1);
    }
    public void SetGameFrame(GameFrame _frame)
    public void SetGameFps(GameFps _frame)
    {
        LocalSave.SetInt(GAMEFRAME_KEY, (int)_frame);
        SetFPSLimit((int)_frame);
        Application.targetFrameRate = Mathf.Clamp((int)_frame, 30, 60);
        if (gameFrameChangeEvent != null)
        {
            gameFrameChangeEvent();
        }
    }
    public GameFrame GetGameFrame()
    public GameFps GetGameFps()
    {
        return (GameFrame)LocalSave.GetInt(GAMEFRAME_KEY, (int)GameFrame.FullFrame);
        return (GameFps)LocalSave.GetInt(GAMEFRAME_KEY, (int)GameFps.Full);
    }
    public void SetSystemSettingSwitch(SystemSwitch type, bool _value)
@@ -191,18 +190,18 @@
            {
                var defaultQuality = GameQuality.High;
//                 if (DeviceUtility.cpu >= 4 && DeviceUtility.memory > 3.5f * 1024)
//                 {
//                     defaultQuality = GameQuality.High;
//                 }
//                 else if (DeviceUtility.cpu >= 4 && DeviceUtility.memory > 2.5f * 1024)
//                 {
//                     defaultQuality = GameQuality.Medium; ;
//                 }
//                 else if (DeviceUtility.cpu > 1 && DeviceUtility.memory > 1.5f * 1024)
//                 {
//                     defaultQuality = GameQuality.Low;
//                 }
                //                 if (DeviceUtility.cpu >= 4 && DeviceUtility.memory > 3.5f * 1024)
                //                 {
                //                     defaultQuality = GameQuality.High;
                //                 }
                //                 else if (DeviceUtility.cpu >= 4 && DeviceUtility.memory > 2.5f * 1024)
                //                 {
                //                     defaultQuality = GameQuality.Medium; ;
                //                 }
                //                 else if (DeviceUtility.cpu > 1 && DeviceUtility.memory > 1.5f * 1024)
                //                 {
                //                     defaultQuality = GameQuality.Low;
                //                 }
                return (GameQuality)LocalSave.GetInt(QUALITY_LEVEL_KEY, (int)defaultQuality);
            }
@@ -217,15 +216,7 @@
        }
    }
    public void SetFPSLimit(int _fps)
    {
        Application.targetFrameRate = Mathf.Clamp(_fps, 30, 60);
    }
    public int GetFPSLimit()
    {
        return (int)GetGameFrame();
    }
    public void LetFPSUnLimit()
    {
@@ -236,6 +227,18 @@
    {
        systemSettings.Clear();
        m_PlayerSyncCount = -1;
    }
    private GameFps GetRecommendFps()
    {
        if (Screen.width * Screen.height > (1920 * 1080 + 10000))
        {
            return GameFps.Half;
        }
        else
        {
            return GameFps.Full;
        }
    }
    IEnumerator Co_WaitFewMinute()
@@ -266,9 +269,9 @@
    High = 2,
}
public enum GameFrame
public enum GameFps
{
    Free = -1,
    HalfFrame = 30,
    FullFrame = 60,
    Half = 30,
    Full = 60,
}
System/Treasure/TreasureLevelUpWin.cs
@@ -592,17 +592,17 @@
                StartBack();
                return;
            }
            if (!WindowJumpMgr.Instance.IsJumpState && model.exitRecord < 4)
            if (!WindowJumpMgr.Instance.IsJumpState && model.exitRecord >= 4)
            {
                StartBack();
                model.exitRecord += 1;
                model.exitRecord = 0;
                return;
            }
            model.openFromTreasureList = false;
            CloseImmediately();
            if (!WindowJumpMgr.Instance.IsJumpState)
            {
                model.exitRecord = 0;
                model.exitRecord++;
                WindowCenter.Instance.Open<MainInterfaceWin>();
            }
        }
System/Welfare/ConsumeRebateWin.cs
@@ -16,6 +16,7 @@
        [SerializeField] Text m_OperationSurplusTime;
        [SerializeField] Text m_OperationOpenTime;
        [SerializeField] Text m_OperationSurplusTimeTitle;
        [SerializeField] Text m_Rule;
        [SerializeField] ScrollerController m_Controller;
@@ -133,6 +134,7 @@
                        m_Controller.AddCell(ScrollerDataType.Header, i);
                    }
                }
                m_Rule.gameObject.SetActive(operation.dayReset);
            }
            m_Controller.Restart();
        }
System/Welfare/OperationTimeHepler.cs
@@ -253,6 +253,7 @@
                operation.limitLv = package.LimitLV;
                operation.startDate = ParseOperationDate(package.StartDate);
                operation.endDate = ParseOperationDate(package.EndtDate);
                operation.dateEnumerator = new OperationDateEnumerator(operation.startDate, operation.endDate);
                operation.dayReset = package.IsDayReset == 1;
                if (package.ActivityTimeCount == 0)
                {
@@ -1065,17 +1066,12 @@
            {
                return 0;
            }
            var _dayIndex = IndexOfOpenDay(TimeUtility.ServerNow);
            if (_dayIndex == -1)
            {
                return -1;
            }
            var _timeIndex = IndexOfOpenTime(TimeUtility.ServerNow);
            if (_timeIndex == -1)
            {
                return -1;
            }
            return Mathf.Min(flashShops.Count - 1, allDay ? _dayIndex : _dayIndex * 2 + _timeIndex);
            return Mathf.Min(flashShops.Count - 1, allDay ? 0 : _timeIndex);
        }
        public FlashSaleGift GetFlashSaleGift(int _index, int _id)
@@ -1117,6 +1113,30 @@
            return textBuilder.ToString();
        }
        public int GetSurplusTime(int index)
        {
            if (!InTime(TimeUtility.ServerNow))
            {
                return 0;
            }
            var seconds = 0;
            if (times.Count == 0)
            {
                DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
                        TimeUtility.Day, 0, 0, 0);
                endOperationTime = endOperationTime.AddDays(1);
                seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
            }
            if (index >= 0 && index < times.Count)
            {
                var _endTime = times[index];
                DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
                        TimeUtility.Day, _endTime.endHour, _endTime.endMinute, 0);
                seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
            }
            return seconds;
        }
        public struct FlashSale
        {
            public FlashSaleGift[] gifts;
@@ -1154,17 +1174,12 @@
            {
                return 0;
            }
            var _dayIndex = IndexOfOpenDay(TimeUtility.ServerNow);
            if (_dayIndex == -1)
            {
                return -1;
            }
            var _timeIndex = IndexOfOpenTime(TimeUtility.ServerNow);
            if (_timeIndex == -1)
            {
                return -1;
            }
            return Mathf.Min(giftpackage1.Count - 1, allDay ? _dayIndex : _dayIndex * 2 + _timeIndex);
            return Mathf.Min(giftpackage1.Count - 1, allDay ? 0 : _timeIndex);
        }
        public GiftPackageGift GetFlashSaleGift(int _index, int _id)
System/WorldMap/MapModel.cs
@@ -190,7 +190,7 @@
            if (mapLines.ContainsKey(_mapId))
            {
                sortedMapLines.AddRange(mapLines[_mapId]);
                CheckActivityLine();
                CheckActivityLine(_mapId);
                sortedMapLines.Sort(SortMaplines);
                return sortedMapLines;
            }
@@ -200,18 +200,25 @@
            }
        }
        void CheckActivityLine()
        void CheckActivityLine(int _mapId)
        {
            var activityLine = 0;
            fairyGrabBossModel.TryGetFairyGrabBossLine(out activityLine);
            if (activityLine != 0 && !fairyGrabBossModel.InActivityTime
                && PlayerDatas.Instance.baseData.FBID != activityLine)
            if (activityLine != 0)
            {
                var index = sortedMapLines.FindIndex((x) =>
                {
                    return activityLine + 1 == x.lineIndex;
                });
                if (index != -1)
                if (fairyGrabBossModel.InActivityTime ||
                    PlayerDatas.Instance.baseData.FBID == activityLine)
                {
                    if (index == -1)
                    {
                        sortedMapLines.Add(new MapLine(_mapId, activityLine + 1, 0, 0));
                    }
                }
                else if (index != -1)
                {
                    sortedMapLines.RemoveAt(index);
                }