少年修仙传客户端代码仓库
client_Wu Xijin
2019-04-16 fc714208ff3a320c3bb52bddd5ea3d91f647a206
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
14个文件已修改
429 ■■■■■ 已修改文件
Fight/Actor/AI/AI_Npc_198.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/HeroBehaviour.cs 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/Skill/AttackHandler.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/Dungeon/DungeonStage.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/ClientHazyGrassStage.cs 308 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyAdventureHintWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyDemonKingModel.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyDemonKingPlayerBehaviour.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyDemonKingVictoryWin.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyGrassDungeonWin.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyRegionEntrancePanel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyRegionIncidentBehaviour.cs 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyRegionIncidentPanel.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyRegionModel.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/AI_Npc_198.cs
@@ -62,6 +62,7 @@
                var _nextForawrd = Random.rotation * m_Owner.Forward;
                var _randomDis = Random.Range(0, m_Owner.NpcConfig.Sight * .5f);
                m_Dest = m_Owner.BornPos + _nextForawrd * _randomDis;
                GActor.TryGetValidPos(m_Dest, ref m_Dest);
                m_RunAwayStep = 1;
                break;
            case 1:
Fight/Actor/HeroBehaviour.cs
@@ -887,24 +887,27 @@
                if (_target.ActorInfo.RealHp <= _hurtValue)
                {
                    _target.KillerServerInstID = m_Hero.ServerInstID;
                    _target.ActorInfo.serverDie = true;
                    GAMgr.Instance.ServerDie(_target.ServerInstID);
                    GAMgr.Instance.DoDelayDie(_target);
                    if (_clientNpc.NpcConfig.AIType != 198)
                    {
                        _target.KillerServerInstID = m_Hero.ServerInstID;
                        _target.ActorInfo.serverDie = true;
                        GAMgr.Instance.ServerDie(_target.ServerInstID);
                        GAMgr.Instance.DoDelayDie(_target);
                    if (m_Hero.LockTarget == _target)
                    {
                        m_Hero.LockTarget = null;
                    }
                    if (m_Hero.SelectTarget == _target)
                    {
                        m_Hero.SelectTarget = null;
                    }
                        if (m_Hero.LockTarget == _target)
                        {
                            m_Hero.LockTarget = null;
                        }
                        if (m_Hero.SelectTarget == _target)
                        {
                            m_Hero.SelectTarget = null;
                        }
                    if (_clientNpc != null
                     && _clientNpc.belongEventID != -1)
                    {
                        ClientSceneManager.Instance.NpcDead(_clientNpc.belongEventID, _clientNpc, _clientNpc.NpcConfig.NPCID);
                        if (_clientNpc != null
                         && _clientNpc.belongEventID != -1)
                        {
                            ClientSceneManager.Instance.NpcDead(_clientNpc.belongEventID, _clientNpc, _clientNpc.NpcConfig.NPCID);
                        }
                    }
                    // 前期战斗只发送石头人的
                    //if (1000 == _target.NpcConfig.NPCID)
Fight/Actor/Skill/AttackHandler.cs
@@ -195,6 +195,8 @@
                }
                else
                {
                    bool _doReduceHp = true;
                    if (attacker is GA_NpcClientFightNorm)
                    {
                        if (target.ActorInfo.RealHp <= (target.ActorInfo.RealMaxHp * .5f))
@@ -202,8 +204,18 @@
                            hurtValue = 0;
                        }
                    }
                    else if (target is GA_NpcClientFightNorm)
                    {
                        if ((target as GA_NpcClientFightNorm).NpcConfig.AIType == 198)
                        {
                            _doReduceHp = false;
                        }
                    }
                    target.ActorInfo.ReduceHp((uint)hurtValue);
                    if (_doReduceHp)
                    {
                        target.ActorInfo.ReduceHp((uint)hurtValue);
                    }
                    if (target.ServerInstID == PlayerDatas.Instance.baseData.PlayerID)
                    {
Fight/Stage/Dungeon/DungeonStage.cs
@@ -228,6 +228,8 @@
            case 31140:
            case JadeDynastyBossModel.JADEDYNASTY_MAP:
            case HazyDemonKingModel.Client_MapID:
            case HazyDemonKingModel.DEMONKINGMAPID1:
            case HazyDemonKingModel.DEMONKINGMAPID2:
                WindowCenter.Instance.Open<DungeonPickUpItemCoolDownWin>();
                break;
            case FairyLeagueModel.FAIRY_LEAGUE_DUNGEON:
System/HazyRegion/ClientHazyGrassStage.cs
@@ -1,166 +1,218 @@
using System;
using Snxxz.UI;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Snxxz.UI
using UnityEngine;
public class ClientHazyGrassStage : DungeonStage
{
    public class ClientHazyGrassStage : DungeonStage
    static readonly Vector3 PlayerBornPosition1 = new Vector3(17.25f, 5.12f, 3.70f);
    static readonly Vector3 PlayerBornPosition2 = new Vector3(17.25f, 5.12f, 3.70f);
    static List<HazyMapNpcScriptableObject.NpcInfo> s_NpcInfos = new List<HazyMapNpcScriptableObject.NpcInfo>();
    static Dictionary<Vector3, GA_NpcClientCollect> s_CollectNpcs = new Dictionary<Vector3, GA_NpcClientCollect>();
    static Dictionary<uint, Vector3> s_Sid2NpcPos = new Dictionary<uint, Vector3>();
    static Dictionary<uint, int> s_Sid2NpcIds = new Dictionary<uint, int>();
    static List<GA_NpcClientFightNorm> s_ClientFightNpcs = new List<GA_NpcClientFightNorm>();
    static int grassRefreshCount = 0;
    bool mapLoadFinish = false;
    bool initedFightNpc = false;
    HazyRegionIncidentType incidentType;
    HazyGrassModel model { get { return ModelCenter.Instance.GetModel<HazyGrassModel>(); } }
    HazyRegionModel hazyRegionModel { get { return ModelCenter.Instance.GetModel<HazyRegionModel>(); } }
    public override void Initialize()
    {
        static readonly Vector3 PlayerBornPosition = new Vector3(17.25f, 5.12f, 3.70f);
        base.Initialize();
        static List<HazyMapNpcScriptableObject.NpcInfo> s_NpcInfos = new List<HazyMapNpcScriptableObject.NpcInfo>();
        static Dictionary<Vector3, GA_NpcClientCollect> s_CollectNpcs = new Dictionary<Vector3, GA_NpcClientCollect>();
        static Dictionary<uint, Vector3> s_Sid2NpcPos = new Dictionary<uint, Vector3>();
        static Dictionary<uint, int> s_Sid2NpcIds = new Dictionary<uint, int>();
        s_NpcInfos.Clear();
        s_Sid2NpcIds.Clear();
        s_Sid2NpcPos.Clear();
        static int grassRefreshCount = 0;
        mapLoadFinish = false;
        initedFightNpc = false;
        bool mapLoadFinish = false;
        grassRefreshCount = 0;
        HazyGrassModel model { get { return ModelCenter.Instance.GetModel<HazyGrassModel>(); } }
        public override void Initialize()
        var config = HazyRegionConfig.Get(hazyRegionModel.processingIncidentId);
        if (config != null)
        {
            base.Initialize();
            s_NpcInfos.Clear();
            s_Sid2NpcIds.Clear();
            s_Sid2NpcPos.Clear();
            mapLoadFinish = false;
            grassRefreshCount = 0;
            UnloadAllNpc();
            GA_NpcClientCollect.OnCollectFinished += OnCollectFinished;
            incidentType = (HazyRegionIncidentType)config.incidentType;
        }
        protected override void OnStageLoadFinish()
        UnloadAllNpc();
        GA_NpcClientCollect.OnCollectFinished += OnCollectFinished;
    }
    protected override void OnStageLoadFinish()
    {
        base.OnStageLoadFinish();
        mapLoadFinish = true;
        model.RefreshGrassBornTime(TimeUtility.ServerNow);
        InitialPlayer();
        InitializeNpc();
        initedFightNpc = true;
    }
    protected override void OnUpdate()
    {
        base.OnUpdate();
        if (mapLoadFinish)
        {
            base.OnStageLoadFinish();
            mapLoadFinish = true;
            model.RefreshGrassBornTime(TimeUtility.ServerNow);
            InitialPlayer();
            InitializeNpc();
        }
        protected override void OnUpdate()
        {
            base.OnUpdate();
            if (mapLoadFinish)
            var used = Mathf.Max(0, (int)(TimeUtility.ServerNow - model.grassBornTime).TotalSeconds);
            var count = used / model.grassRefreshSeconds;
            if (count != grassRefreshCount)
            {
                var used = Mathf.Max(0, (int)(TimeUtility.ServerNow - model.grassBornTime).TotalSeconds);
                var count = used / model.grassRefreshSeconds;
                if (count != grassRefreshCount)
                {
                    RebornCollectedNpc();
                    grassRefreshCount = count;
                }
            }
        }
        public override void UnInitialize()
        {
            base.UnInitialize();
            UnloadAllNpc();
            GA_NpcClientCollect.OnCollectFinished -= OnCollectFinished;
        }
        private void OnCollectFinished(uint _sid)
        {
            if (s_Sid2NpcIds.ContainsKey(_sid))
            {
                var npcId = s_Sid2NpcIds[_sid];
                Debug.Log("采集了Npc:--" + npcId);
            }
            if (s_Sid2NpcPos.ContainsKey(_sid))
            {
                var pos = s_Sid2NpcPos[_sid];
                if (s_CollectNpcs.ContainsKey(pos))
                {
                    s_CollectNpcs.Remove(pos);
                }
            }
        }
        void InitializeNpc()
        {
            s_NpcInfos.Clear();
            var config = ScriptableObjectLoader.LoadSoHazyMapNpc(ClientDungeonStageUtility.clientMapId);
            var npcInfos = config.GetAllNpcInfos();
            if (npcInfos != null)
            {
                s_NpcInfos.AddRange(npcInfos);
                RebornCollectedNpc();
                grassRefreshCount = count;
            }
        }
    }
        void InitialPlayer()
    public override void UnInitialize()
    {
        base.UnInitialize();
        UnloadAllNpc();
        GA_NpcClientCollect.OnCollectFinished -= OnCollectFinished;
    }
    private void OnCollectFinished(uint _sid)
    {
        if (s_Sid2NpcIds.ContainsKey(_sid))
        {
            var hero = PlayerDatas.Instance.hero;
            hero.Pos = PlayerBornPosition;
            CameraController.Instance.Apply();
            var npcId = s_Sid2NpcIds[_sid];
            Debug.Log("采集了Npc:--" + npcId);
        }
        void RebornCollectedNpc()
        if (s_Sid2NpcPos.ContainsKey(_sid))
        {
            foreach (var npcInfo in s_NpcInfos)
            var pos = s_Sid2NpcPos[_sid];
            if (s_CollectNpcs.ContainsKey(pos))
            {
                switch (npcInfo.npcType)
                {
                    case E_NpcType.Collect:
                        GA_NpcClientCollect _npc = null;
                        if (!s_CollectNpcs.TryGetValue(npcInfo.position, out _npc)
                            || _npc == null || _npc.ActorInfo.serverDie)
                s_CollectNpcs.Remove(pos);
            }
        }
    }
    void InitializeNpc()
    {
        s_NpcInfos.Clear();
        var config = ScriptableObjectLoader.LoadSoHazyMapNpc(ClientDungeonStageUtility.clientMapId);
        var npcInfos = config.GetAllNpcInfos();
        if (npcInfos != null)
        {
            s_NpcInfos.AddRange(npcInfos);
            RebornCollectedNpc();
        }
    }
    void InitialPlayer()
    {
        var hero = PlayerDatas.Instance.hero;
        if (incidentType == HazyRegionIncidentType.ReikiGrass)
        {
            hero.Pos = PlayerBornPosition1;
        }
        else if (incidentType == HazyRegionIncidentType.FairyGrass)
        {
            hero.Pos = PlayerBornPosition2;
        }
        CameraController.Instance.Apply();
    }
    void RebornCollectedNpc()
    {
        foreach (var npcInfo in s_NpcInfos)
        {
            switch (npcInfo.npcType)
            {
                case E_NpcType.Collect:
                    GA_NpcClientCollect _npc = null;
                    if (!s_CollectNpcs.TryGetValue(npcInfo.position, out _npc)
                        || _npc == null || _npc.ActorInfo.serverDie)
                    {
                        _npc = GAMgr.Instance.ReqClntNoFightNpc<GA_NpcClientCollect>((uint)npcInfo.npcId,
                            E_ActorGroup.FuncNpc);
                        if (_npc != null)
                        {
                            _npc = GAMgr.Instance.ReqClntNoFightNpc<GA_NpcClientCollect>((uint)npcInfo.npcId,
                                E_ActorGroup.FuncNpc);
                            if (_npc != null)
                            {
                                _npc.Pos = npcInfo.position;
                                s_CollectNpcs[npcInfo.position] = _npc;
                            _npc.Pos = npcInfo.position;
                            s_CollectNpcs[npcInfo.position] = _npc;
                                s_Sid2NpcIds[_npc.ServerInstID] = npcInfo.npcId;
                                s_Sid2NpcPos[_npc.ServerInstID] = npcInfo.position;
                            }
                            s_Sid2NpcIds[_npc.ServerInstID] = npcInfo.npcId;
                            s_Sid2NpcPos[_npc.ServerInstID] = npcInfo.position;
                        }
                        break;
                }
                    }
                    break;
                case E_NpcType.Fight:
                    if (!initedFightNpc)
                    {
                        var fightNpc = GAMgr.Instance.ReqClntFightNpc<GA_NpcClientFightNorm>((uint)npcInfo.npcId,
                             E_ActorGroup.Enemy);
                        if (fightNpc != null)
                        {
                            fightNpc.Pos = npcInfo.position;
                            fightNpc.OnAttacked -= OnAttackNpc;
                            fightNpc.OnAttacked += OnAttackNpc;
                        }
                        s_ClientFightNpcs.Add(fightNpc);
                    }
                    break;
            }
        }
    }
    private void OnAttackNpc()
    {
        Debug.Log("攻击了宝箱怪");
    }
    void UnloadAllNpc()
    {
        foreach (var _npc in s_CollectNpcs.Values)
        {
            if (_npc != null)
            {
                _npc.KillerServerInstID = PlayerDatas.Instance.PlayerId;
                _npc.ActorInfo.serverDie = true;
                GAMgr.Instance.ServerDie(_npc.ServerInstID);
                GAMgr.Instance.Release(_npc);
            }
        }
        void UnloadAllNpc()
        foreach (var _npc in s_ClientFightNpcs)
        {
            foreach (var _npc in s_CollectNpcs.Values)
            if (_npc != null)
            {
                if (_npc != null)
                {
                    _npc.KillerServerInstID = PlayerDatas.Instance.PlayerId;
                    _npc.ActorInfo.serverDie = true;
                    GAMgr.Instance.ServerDie(_npc.ServerInstID);
                    GAMgr.Instance.Release(_npc);
                }
                _npc.OnAttacked -= OnAttackNpc;
                _npc.ActorInfo.serverDie = true;
                GAMgr.Instance.ServerDie(_npc.ServerInstID);
                GAMgr.Instance.Release(_npc);
            }
            s_CollectNpcs.Clear();
        }
        s_ClientFightNpcs.Clear();
        s_CollectNpcs.Clear();
    }
#if UNITY_EDITOR
        private void OnGUI()
    private void OnGUI()
    {
        if (GUILayout.Button("Exit"))
        {
            if (GUILayout.Button("Exit"))
            {
                model.RequestExitClientDungeon();
            }
            model.RequestExitClientDungeon();
        }
#endif
    }
}
#endif
}
System/HazyRegion/HazyAdventureHintWin.cs
@@ -55,7 +55,7 @@
            if (config != null)
            {
                var npcConfig = NPCConfig.Get(config.npcId);
                m_AdventureName.text = string.Format("与{0}对话:", npcConfig.charName);
                m_AdventureName.text = Language.Get("AdventureDialogue", npcConfig.charName);
            }
            HazyRegionModel.Incident incident;
System/HazyRegion/HazyDemonKingModel.cs
@@ -14,6 +14,9 @@
        public const int Client_MapID = 2000;
        public const int DEMONKINGMAPID1 = 22030;
        public const int DEMONKINGMAPID2 = 32030;
        public event Action onPlayerInfoRefresh;
        HazyRegionModel hazyRegionModel { get { return ModelCenter.Instance.GetModel<HazyRegionModel>(); } }
@@ -159,7 +162,7 @@
            var configs = HazyRegionConfig.GetValues();
            foreach (var config in configs)
            {
                if (config.incidentType == (int)HazyRegionIncidentType.Boss
                if (config.incidentType == (int)HazyRegionIncidentType.DemonKing
                    && config.dungeonId == mapId)
                {
                    return true;
System/HazyRegion/HazyDemonKingPlayerBehaviour.cs
@@ -102,18 +102,15 @@
                switch (atkState)
                {
                    case 0:
                        m_FightSign.SetSprite("HazyFightState_Red");
                        m_AtkState.text = "战斗中";
                        m_AtkState.text = Language.Get("DemonKingFightState_0");
                        m_AtkState.color = UIHelper.GetUIColor(TextColType.Red, true);
                        break;
                    case 1:
                        m_FightSign.SetSprite("HazyFightState_White");
                        m_AtkState.text = "反击";
                        m_AtkState.text = Language.Get("DemonKingFightState_1");
                        m_AtkState.color = UIHelper.GetUIColor(TextColType.Red, true);
                        break;
                    case 2:
                        m_FightSign.SetSprite("HazyFightState_White");
                        m_AtkState.text = "攻击";
                        m_AtkState.text = Language.Get("DemonKingFightState_2");
                        m_AtkState.color = UIHelper.GetUIColor(TextColType.NavyBrown, true);
                        break;
                }
System/HazyRegion/HazyDemonKingVictoryWin.cs
@@ -19,6 +19,8 @@
        [SerializeField] ScrollRect m_RewardsScroll;
        [SerializeField] Text m_ExitTimer;
        [SerializeField] HorizontalLayoutGroup m_RewardLayout;
        [SerializeField] Transform m_ContainerFirst;
        [SerializeField] Transform m_ContainerOther;
        [SerializeField] ButtonEx m_Exit;
        List<DemonJarRewardBehaviour> m_Items = new List<DemonJarRewardBehaviour>();
@@ -101,6 +103,11 @@
            timer = 0f;
            m_ExitTimer.text = Language.Get("DungeonVictoryWin_Btn_Exit_1", Mathf.Clamp((int)seconds, 0, int.MaxValue));
            m_ExitTimer.gameObject.SetActive(true);
            bool isFirst = model.dungeonResult.ownerID == PlayerDatas.Instance.PlayerId;
            m_ContainerFirst.gameObject.SetActive(isFirst);
            m_ContainerOther.gameObject.SetActive(!isFirst);
            m_ContainerPoivt.gameObject.SetActive(true);
            DisplayRewards();
System/HazyRegion/HazyGrassDungeonWin.cs
@@ -20,6 +20,9 @@
        [SerializeField] Text m_BasicGrassRefreshTime;
        [SerializeField] Text m_FairyGrassRefreshTime;
        [SerializeField] Transform m_ContainerCollectSucc;
        [SerializeField] Text m_GainRemind;
        DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        HazyRegionModel hazyRegionModel { get { return ModelCenter.Instance.GetModel<HazyRegionModel>(); } }
        HazyGrassModel hazyGrassModel { get { return ModelCenter.Instance.GetModel<HazyGrassModel>(); } }
@@ -34,6 +37,8 @@
        protected override void OnPreOpen()
        {
            m_ContainerCollectSucc.gameObject.SetActive(false);
            Display();
            GlobalTimeEvent.Instance.secondEvent += PerSecond;
@@ -83,8 +88,8 @@
        {
            var used = Mathf.Max(0, (int)(TimeUtility.ServerNow - hazyGrassModel.grassBornTime).TotalSeconds);
            var refreshSeconds = hazyGrassModel.grassRefreshSeconds - used % hazyGrassModel.grassRefreshSeconds;
            m_BasicGrassRefreshTime.text = string.Format("基础草丛{0}后刷新", TimeUtility.SecondsToMS(refreshSeconds));
            m_FairyGrassRefreshTime.text = string.Format("灵草丛{0}后刷新", TimeUtility.SecondsToMS(refreshSeconds));
            m_BasicGrassRefreshTime.text = Language.Get("HazyBasicGrassRefresh", TimeUtility.SecondsToMS(refreshSeconds));
            m_FairyGrassRefreshTime.text = Language.Get("HazyFairyGrassRefresh", TimeUtility.SecondsToMS(refreshSeconds));
        }
    }
System/HazyRegion/HazyRegionEntrancePanel.cs
@@ -68,7 +68,7 @@
                            hourMinute.minuteBegin.ToString("D2"), hourMinute.hourEnd.ToString("D2"),
                            hourMinute.minuteEnd.ToString("D2"));
                        timeLabel = UIHelper.AppendColor(TextColType.Green, timeLabel);
                        m_OpenTime.text = string.Format("每日{0}可进行寻访", timeLabel);
                        m_OpenTime.text = Language.Get("HazyRegionEntranceTime", timeLabel);
                    }
                }
            }
System/HazyRegion/HazyRegionIncidentBehaviour.cs
@@ -69,7 +69,7 @@
        void DisplayBase()
        {
            var config = HazyRegionConfig.Get(incidentId);
            m_DepletionPoint.text = string.Format("消耗体力: ", config.point);
            m_DepletionPoint.text = Language.Get("HazyRegionPoint", config.point);
            m_IncidentTitle.text = config.name;
            m_Icon.SetSprite(config.PortraitID);
            m_Icon.SetNativeSize();
@@ -99,13 +99,34 @@
        void DisplayBoss()
        {
            m_ContainerBoss.gameObject.SetActive(incidentType == HazyRegionIncidentType.Boss);
            m_ContainerBoss.gameObject.SetActive(incidentType == HazyRegionIncidentType.DemonKing);
            var config = HazyRegionConfig.Get(incidentId);
            if (incidentType == HazyRegionIncidentType.Boss)
            if (incidentType == HazyRegionIncidentType.DemonKing)
            {
                var npcConfig = NPCConfig.Get(config.npcId);
                m_BossName.text = npcConfig.charName;
            }
            DisplayBossState();
        }
        void DisplayBossState()
        {
            if (incidentType == HazyRegionIncidentType.DemonKing)
            {
                if (model.InFakeHazyRegion)
                {
                    var fighting = ClientDungeonStageUtility.isClientDungeon;
                    m_PlayerCount.gameObject.SetActive(true);
                    m_RebornTime.gameObject.SetActive(false);
                    m_PlayerCount.text = Language.Get("HazyDemonKingPlayerCount", fighting ? 1 : 0);
                }
                else
                {
                    m_PlayerCount.gameObject.SetActive(false);
                    m_RebornTime.gameObject.SetActive(false);
                }
            }
        }
        void DisplayState()
System/HazyRegion/HazyRegionIncidentPanel.cs
@@ -124,7 +124,7 @@
            switch (state)
            {
                case 1:
                    ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get(""), (bool isOk) =>
                    ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("HazyRegionBackRemind_1"), (bool isOk) =>
                    {
                        if (isOk)
                        {
@@ -133,7 +133,7 @@
                    });
                    break;
                case 2:
                    ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get(""), (bool isOk) =>
                    ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("HazyRegionBackRemind_2"), (bool isOk) =>
                    {
                        if (isOk)
                        {
System/HazyRegion/HazyRegionModel.cs
@@ -360,7 +360,7 @@
                        }
                    }
                    break;
                case HazyRegionIncidentType.Boss:
                case HazyRegionIncidentType.DemonKing:
                    if (InFakeHazyRegion)
                    {
                        hazyDemonKingModel.RequestEnterClientDungeon();
@@ -517,7 +517,7 @@
        Adventure,
        Precious,
        FairyGrass,
        Boss,
        DemonKing,
        ReikiGrass,
    }
}