少年修仙传客户端代码仓库
client_Hale
2019-05-23 bb1cfe22f36112ec29f34a4837e1b50d0937f4f6
Merge branch 'HazyRegion_1' of http://192.168.0.87:10010/r/snxxz_scripts into HazyRegion_1
3个文件已修改
69 ■■■■ 已修改文件
Fight/Stage/Dungeon/ClientDungeonStageUtility.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/Dungeon/ClientPersonalBossDungeonStage.cs 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonFightWin.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/Dungeon/ClientDungeonStageUtility.cs
@@ -198,6 +198,19 @@
                    }
                }
                break;
            case PersonalBossModel.PERSONALBOSS_MAPID:
                {
                    if (!(StageLoad.Instance.currentStage is ClientPersonalBossDungeonStage))
                    {
                        return;
                    }
                    var stage = StageLoad.Instance.currentStage as ClientPersonalBossDungeonStage;
                    if (stage.step > ClientPersonalBossDungeonStage.Step.Fight)
                    {
                        return;
                    }
                }
                break;
        }
        var key = StringUtility.Contact(OFFLINEMAPRECORD, "_", PlayerDatas.Instance.baseData.PlayerID);
@@ -235,6 +248,7 @@
            case HazyGrassModel.REIKI_CLIENTDATAMAP:
            case HazyGrassModel.FAIRY_CLIENTDATAMAP:
            case HazyRegionModel.PRECIOUS_CLIENTDATAMAP:
            case PersonalBossModel.PERSONALBOSS_MAPID:
                return true;
        }
        return false;
Fight/Stage/Dungeon/ClientPersonalBossDungeonStage.cs
@@ -1,4 +1,5 @@
using Snxxz.UI;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
@@ -14,7 +15,7 @@
    static Clock s_StepClock = null;
    Step m_Step = Step.None;
    Step step
    public Step step
    {
        get { return m_Step; }
        set
@@ -25,6 +26,9 @@
                {
                    case Step.Prepare:
                        OnExitPrepare();
                        break;
                    case Step.Fight:
                        OnExitFight();
                        break;
                }
@@ -39,12 +43,13 @@
                        OnEnterFight();
                        break;
                    case Step.Over:
                        OnEnterOver();
                        break;
                }
            }
        }
    }
    }
    static PersonalBossModel model { get { return ModelCenter.Instance.GetModel<PersonalBossModel>(); } }
    static DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
@@ -64,6 +69,8 @@
                s_StepTimes = LitJson.JsonMapper.ToObject<int[]>(dungeonConfig.StepTime);
            }
        }
        dungeonModel.onDungeonResultEvent += OnDungeonResultEvent;
    }
    protected override void OnStageLoadFinish()
@@ -109,12 +116,33 @@
    {
        InitializeNpc();
        var seconds = s_StepTimes[0];
        dungeonModel.UpdateCoolDown(DungeonCoolDownType.WaitStart, (uint)seconds * 1000);
        var seconds = s_StepTimes[1];
        dungeonModel.UpdateCoolDown(DungeonCoolDownType.FightStart, (uint)seconds * 1000);
        s_StepClock = Clock.AlarmAfter(seconds, () =>
        {
            step = Step.Fight;
            ClientDungeonStageUtility.ExitNormalClientDungeon();
        });
    }
    private void OnExitFight()
    {
        if (s_StepClock != null)
        {
            Clock.Stop(s_StepClock);
            s_StepClock = null;
        }
    }
    private void OnEnterOver()
    {
        ClientDungeonStageUtility.ClearClientDataMapSymbol();
        var seconds = s_StepTimes[2];
        dungeonModel.UpdateCoolDown(DungeonCoolDownType.LeaveMap, (uint)seconds * 1000);
        s_StepClock = Clock.AlarmAfter(seconds, () =>
        {
            ClientDungeonStageUtility.ExitNormalClientDungeon();
        });
    }
@@ -123,9 +151,16 @@
        PersonalEnemy.Create((uint)model.clientBossNpcId, E_ActorGroup.Enemy, s_NpcPosition);
    }
    private void OnDungeonResultEvent()
    {
        step = Step.Over;
    }
    public override void UnInitialize()
    {
        base.UnInitialize();
        dungeonModel.onDungeonResultEvent -= OnDungeonResultEvent;
        if (s_StepClock != null)
        {
@@ -144,7 +179,7 @@
    }
#endif
    enum Step
    public enum Step
    {
        None,
        Prepare,
System/Dungeon/DungeonFightWin.cs
@@ -285,9 +285,8 @@
                                crossServerBossModel.RequestExit();
                                break;
                            case 4000:
                                ClientDungeonStageUtility.ExitNormalClientDungeon();
                                break;
                            case 31190:
                            case HazyRegionModel.PRECIOUS_CLIENTDATAMAP:
                            case PersonalBossModel.PERSONALBOSS_MAPID:
                                ClientDungeonStageUtility.ExitNormalClientDungeon();
                                break;
                            default:
@@ -371,6 +370,7 @@
                    case 4000:
                    case HazyGrassModel.FAIRY_CLIENTDATAMAP:
                    case HazyGrassModel.REIKI_CLIENTDATAMAP:
                    case PersonalBossModel.PERSONALBOSS_MAPID:
                        ClientDungeonStageUtility.ExitNormalClientDungeon();
                        break;
                }