少年修仙传客户端代码仓库
client_Hale
2019-04-20 b819c4a404c8a7310cc9a054d63c31ef3b1cdc2a
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
4个文件已修改
123 ■■■■■ 已修改文件
System/Dungeon/DungeonFightWin.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/ClientHazyGrassStage.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyGrassModel.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyRegionIncidentBehaviour.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonFightWin.cs
@@ -51,6 +51,7 @@
        BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } }
        TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
        DungeonUseBuffModel dungeonUseBuffModel { get { return ModelCenter.Instance.GetModel<DungeonUseBuffModel>(); } }
        HazyGrassModel hazyGrassModel { get { return ModelCenter.Instance.GetModel<HazyGrassModel>(); } }
        #region Built-in
        protected override void BindController()
@@ -257,6 +258,27 @@
                language = Language.Get(config.ExitDescription);
            }
            if (dataMapId == HazyGrassModel.FairyGrassMapId ||
                dataMapId == HazyGrassModel.ReikiGrassMapId
                || dataMapId == HazyGrassModel.Client_ReikiGrassMapID)
            {
                if (hazyGrassModel.IsDungeonTargetDone)
                {
                    switch (dataMapId)
                    {
                        case HazyGrassModel.FairyGrassMapId:
                        case HazyGrassModel.ReikiGrassMapId:
                            var crossServerBossModel = ModelCenter.Instance.GetModel<CrossServerBossModel>();
                            crossServerBossModel.RequestExit();
                            break;
                        case HazyGrassModel.Client_ReikiGrassMapID:
                            ModelCenter.Instance.GetModel<HazyGrassModel>().RequestExitClientDungeon();
                            break;
                    }
                    return;
                }
            }
            ConfirmCancel.ShowPopConfirm(
                Language.Get("Mail101"),
                language,
System/HazyRegion/ClientHazyGrassStage.cs
@@ -105,7 +105,6 @@
        if (s_Sid2NpcIds.ContainsKey(_sid))
        {
            var npcId = s_Sid2NpcIds[_sid];
            Debug.Log("采集了Npc:--" + npcId);
            var pak = new CA234_tagCMGetCustomSceneCollectAward();
            pak.NPCID = (uint)npcId;
            GameNetSystem.Instance.SendInfo(pak);
System/HazyRegion/HazyGrassModel.cs
@@ -16,7 +16,25 @@
        public bool IsInDungeon { get; private set; }
        bool m_IsDungeonTargetDone = false;
        public bool IsDungeonTargetDone
        {
            get { return m_IsDungeonTargetDone; }
            private set
            {
                if (m_IsDungeonTargetDone != value)
                {
                    m_IsDungeonTargetDone = value;
                    if (dugeonTargetStateRefresh != null)
                    {
                        dugeonTargetStateRefresh();
                    }
                }
            }
        }
        public event Action onMapNpcCountRefresh;
        public event Action dugeonTargetStateRefresh;
        HazyRegionModel hazyRegionModel { get { return ModelCenter.Instance.GetModel<HazyRegionModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
@@ -26,6 +44,7 @@
            ParseConfig();
            StageLoad.Instance.onStageLoadFinish += OnStageLoadFinish;
            GlobalTimeEvent.Instance.secondEvent += PerSecond;
        }
        public void OnBeforePlayerDataInitialize()
@@ -39,6 +58,15 @@
        public override void UnInit()
        {
            StageLoad.Instance.onStageLoadFinish -= OnStageLoadFinish;
            GlobalTimeEvent.Instance.secondEvent -= PerSecond;
        }
        private void PerSecond()
        {
            if (IsInDungeon)
            {
                IsDungeonTargetDone = GetDungeonTargetDone();
            }
        }
        void ParseConfig()
@@ -74,6 +102,7 @@
            m_MapNpcCount.Clear();
            IsInDungeon = false;
            m_IsDungeonTargetDone = false;
            if (IsInGrassDungeon(mapId))
            {
                IsInDungeon = true;
@@ -101,6 +130,73 @@
            return false;
        }
        bool GetDungeonTargetDone()
        {
            var dungeonHintId = 0;
            if (ClientDungeonStageUtility.isClientDungeon)
            {
                var config = HazyRegionConfig.Get(hazyRegionModel.processingIncidentId);
                if (config != null)
                {
                    dungeonHintId = dungeonModel.GetDungeonHintId(config.dungeonId, 0);
                }
            }
            else
            {
                dungeonHintId = dungeonModel.GetDungeonHintId(PlayerDatas.Instance.baseData.MapID, 0);
            }
            if (dungeonHintId != 0)
            {
                var config = DungeonHintConfig.Get(dungeonHintId);
                if (config != null)
                {
                    if (config.targetType1 != 0)
                    {
                        var times = GetCompleteTimes(config.targetType1, config.NPC1ID);
                        if (times < config.targetValue1[0])
                        {
                            return false;
                        }
                    }
                    if (config.targetType2 != 0)
                    {
                        var times = GetCompleteTimes(config.targetType2, config.NPC2ID);
                        if (times < config.targetValue2[0])
                        {
                            return false;
                        }
                    }
                    if (config.targetType3 != 0)
                    {
                        var times = GetCompleteTimes(config.targetType3, config.NPC3ID);
                        if (times < config.targetValue3[0])
                        {
                            return false;
                        }
                    }
                }
            }
            return true;
        }
        int GetCompleteTimes(int type, int[] npcIds)
        {
            var times = 0;
            for (int i = 0; i < npcIds.Length; i++)
            {
                switch (type)
                {
                    case 11:
                        times += dungeonModel.GetDugneonNpcCollectCount(npcIds[i]);
                        break;
                    case 12:
                        times += dungeonModel.GetDungeonNpcAttackCount(npcIds[i]);
                        break;
                }
            }
            return times;
        }
        public int GetClientMapId(int incidentId)
        {
            var config = HazyRegionConfig.Get(incidentId);
System/HazyRegion/HazyRegionIncidentBehaviour.cs
@@ -177,6 +177,10 @@
                    var seconds = Mathf.Max(0, Mathf.CeilToInt((float)(bossInfo.refreshTime - TimeUtility.ServerNow).TotalSeconds));
                    m_RebornTime.text = Language.Get("HazyDemonKingRefresh", TimeUtility.SecondsToHMS(seconds));
                }
                else
                {
                    m_RebornTime.text = Language.Get("BossReborn_RefreshTime1");
                }
            }
        }