少年修仙传客户端代码仓库
client_linchunjie
2019-05-20 7825502d38bea264b1f1a914121afce2b477998d
3335 缥缈仙域优化
13个文件已修改
4个文件已添加
391 ■■■■■ 已修改文件
Core/GameEngine/DataToCtl/PackageRegedit.cs 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB2_ActionMap/DTCB216_tagMCStartCustomSceneResult.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB2_ActionMap/DTCB216_tagMCStartCustomSceneResult.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB2_ActionMap/HB216_tagMCStartCustomSceneResult.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB2_ActionMap/HB216_tagMCStartCustomSceneResult.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/Dungeon/AdventureStage.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/Dungeon/ClientDungeonStageUtility.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/TreasureDungeonMissionHintWin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/ClientHazyPreciousDungeon.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyDemonKingModel.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyGrassModel.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyRegionDialogueWin.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyRegionModel.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/ClientTreasureDungeon.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/ClientTreasureDungeonStage.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/HumanTreasureWin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureDungeonVictoryWin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -25,6 +25,7 @@
    public static void Init()
    {
        // 登记相应的数据体及对应的数据转逻辑类
        Register(typeof(HB216_tagMCStartCustomSceneResult), typeof(DTCB216_tagMCStartCustomSceneResult));
        Register(typeof(HA905_tagGCNotifyEquipDetailInfo), typeof(DTCA905_tagGCNotifyEquipDetailInfo));
        Register(typeof(HA719_tagSCPlayerEquipCacheResult) ,typeof(DTCA719_tagSCPlayerEquipCacheResult));
        Register(typeof(HB108_tagMCYinjiStartTime) ,typeof(DTCB108_tagMCYinjiStartTime));
Core/NetworkPackage/DTCFile/ServerPack/HB2_ActionMap/DTCB216_tagMCStartCustomSceneResult.cs
New file
@@ -0,0 +1,24 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, May 20, 2019
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
public class DTCB216_tagMCStartCustomSceneResult : DtcBasic
{
    public override void Done(GameNetPackBasic vNetPack)
    {
        base.Done(vNetPack);
        var package = vNetPack as HB216_tagMCStartCustomSceneResult;
        ClientDungeonStageUtility.ReceiveStartCustomDungeonResult(package);
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HB2_ActionMap/DTCB216_tagMCStartCustomSceneResult.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: dfc6ece5f89c0914781de4b1c26967c6
timeCreated: 1558352395
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HB2_ActionMap/HB216_tagMCStartCustomSceneResult.cs
New file
@@ -0,0 +1,21 @@
using UnityEngine;
using System.Collections;
// B2 16 开始自定义场景结果 #tagMCStartCustomSceneResult
public class HB216_tagMCStartCustomSceneResult : GameNetPackBasic {
    public uint MapID;
    public ushort FuncLineID;
    public byte Result;    //是否允许
    public HB216_tagMCStartCustomSceneResult () {
        _cmd = (ushort)0xB216;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out MapID, vBytes, NetDataType.DWORD);
        TransBytes (out FuncLineID, vBytes, NetDataType.WORD);
        TransBytes (out Result, vBytes, NetDataType.BYTE);
    }
}
Core/NetworkPackage/ServerPack/HB2_ActionMap/HB216_tagMCStartCustomSceneResult.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 8eef1db0ddcd05b458ac4b0ef547f3fd
timeCreated: 1558352371
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Fight/Stage/Dungeon/AdventureStage.cs
@@ -10,8 +10,15 @@
    private Vector3 m_CacheHeroPos;
    private GA_NpcClientFunc m_Npc;
    private GA_NpcClientCollect m_Precious;
    private bool dungeonFightWinOpenRecord = false;
    private SFXController m_SfxController;
    private bool dungeonFightWinOpenRecord = false;
    const int s_PreciousNpcId = 40208014;
    private uint preciousServerInstId = 0;
    public event Action onLoadAdventureStage;
    public event Action onExitAdventureStage;
@@ -21,7 +28,6 @@
    public void Enter()
    {
        IsInAdventureStage = true;
        ClientDungeonStageUtility.RequestStartClientDungeon(0, 0);
        m_CacheHeroPos = PlayerDatas.Instance.hero.Pos;
        SnxxzGame.Instance.StartCoroutine(_Enter());
    }
@@ -61,6 +67,8 @@
        }
        BossShowModel.Instance.bossShowCompletedEvent -= BossShowCompletedEvent;
        BossShowModel.Instance.bossShowCompletedEvent += BossShowCompletedEvent;
        HazyRegionDialogueWin.onDialogueComplete -= OnDialogueComplete;
        HazyRegionDialogueWin.onDialogueComplete += OnDialogueComplete;
        if (onLoadAdventureStage != null)
        {
@@ -91,9 +99,22 @@
    private IEnumerator _Exit()
    {
        NPCInteractProcessor.s_NpcInteractEvent -= OnNpcTalkEvent;
        BossShowModel.Instance.bossShowCompletedEvent -= BossShowCompletedEvent;
        GAMgr.Instance.ServerDie(m_Npc.ServerInstID);
        GAMgr.Instance.Release(m_Npc);
        BossShowModel.Instance.bossShowCompletedEvent -= BossShowCompletedEvent;
        HazyRegionDialogueWin.onDialogueComplete -= OnDialogueComplete;
        ClientCollectUtility.OnCollectFinished -= OnCollectFinished;
        if (!m_Npc.ActorInfo.serverDie)
        {
            GAMgr.Instance.ServerDie(m_Npc.ServerInstID);
            GAMgr.Instance.Release(m_Npc);
        }
        if (m_SfxController != null)
        {
            SFXPlayUtility.Instance.Release(m_SfxController);
            m_SfxController = null;
        }
        WindowCenter.Instance.Open<LoadingWin>();
        WindowCenter.Instance.Close<MainInterfaceWin>();
@@ -121,8 +142,34 @@
        {
            onExitAdventureStage();
        }
    }
    }
    private void OnDialogueComplete()
    {
        m_SfxController = SFXPlayUtility.Instance.Play(20039, m_Npc.Pos, Vector3.forward);
        m_Precious = GAMgr.Instance.ReqClntNoFightNpc<GA_NpcClientCollect>(s_PreciousNpcId, E_ActorGroup.Collect);
        m_Precious.Pos = m_Npc.Pos;
        m_Precious.Rotation = Quaternion.Euler(0f, 165f, 0f);
        if (!m_Npc.ActorInfo.serverDie)
        {
            GAMgr.Instance.ServerDie(m_Npc.ServerInstID);
            GAMgr.Instance.Release(m_Npc);
        }
        ClientCollectUtility.OnCollectFinished -= OnCollectFinished;
        ClientCollectUtility.OnCollectFinished += OnCollectFinished;
    }
    private void OnCollectFinished(uint sid)
    {
        if (preciousServerInstId == sid)
        {
            hazyRegionModel.SendSwitchAdventureState(hazyRegionModel.processingIncidentId, 3);
        }
    }
    private void OnNpcTalkEvent(E_NpcType type, int npcid, uint sid)
    {
        if (E_NpcType.Func == type)
Fight/Stage/Dungeon/ClientDungeonStageUtility.cs
@@ -15,6 +15,8 @@
    public static event Action<HB214_tagMCCuntomFBPrizeInfo> onReceiveCustomDropItme;
    static Action<Dungeon, bool> clientCustomDungeonResult;
    public static void Init()
    {
        DTC0102_tagCDBPlayer.switchAccountEvent += Reset;
@@ -49,8 +51,10 @@
        GameNetSystem.Instance.SendInfo(pak);
    }
    public static void RequestStartClientDungeon(int mapId, int lineId)
    public static void RequestStartClientDungeon(int mapId, int lineId, Action<Dungeon, bool> callBack)
    {
        clientCustomDungeonResult = callBack;
        dungeonInfo = new Dungeon()
        {
            mapId = mapId,
@@ -75,6 +79,19 @@
        {
            onReceiveCustomDropItme(package);
        }
    }
    public static void ReceiveStartCustomDungeonResult(HB216_tagMCStartCustomSceneResult package)
    {
        if (package.MapID == dungeonInfo.mapId
            && package.FuncLineID == dungeonInfo.lineId)
        {
            if (clientCustomDungeonResult != null)
            {
                clientCustomDungeonResult(dungeonInfo, package.Result == 1);
            }
        }
        clientCustomDungeonResult = null;
    }
    private static void FiveSecondEvent()
@@ -128,7 +145,7 @@
    {
        if (isClientDungeon)
        {
            RequestStartClientDungeon(dungeonInfo.mapId, dungeonInfo.lineId);
            RequestStartClientDungeon(dungeonInfo.mapId, dungeonInfo.lineId, null);
        }
    }
System/Dungeon/TreasureDungeonMissionHintWin.cs
@@ -53,7 +53,7 @@
            if (ClientDungeonStageUtility.isClientDungeon
                && ClientDungeonStageUtility.clientMapId == ClientTreasureDungeon.Client_DataMap)
            {
                treasureId = ClientTreasureDungeon.challengeTreasureId;
                treasureId = 101;
            }
            else
            {
System/HazyRegion/ClientHazyPreciousDungeon.cs
@@ -13,28 +13,28 @@
        public static void RequestEnter()
        {
            var config = HazyRegionConfig.Get(model.processingIncidentId);
            ClientDungeonStageUtility.RequestStartClientDungeon(DATAMAP, config.lineId, (dungeonInfo, isOk) =>
             {
                 var hero = PlayerDatas.Instance.hero;
                 if (hero != null)
                 {
                     hero.StopAll();
                 }
                 MapTransferUtility.Instance.Clear();
                 ClientDungeonStageUtility.SetClientDungeon(true, (ushort)DATAMAP);
                 StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
                 {
                     toMapId = DATAMAP,
                     toLineId = 0,
                     needEmpty = true,
                     needLoadResource = true,
                     serverType = ServerType.Main,
                     isClientLoadMap = true
                 });
            var hero = PlayerDatas.Instance.hero;
            if (hero != null)
            {
                hero.StopAll();
            }
            MapTransferUtility.Instance.Clear();
            ClientDungeonStageUtility.RequestStartClientDungeon(DATAMAP, config.lineId);
            ClientDungeonStageUtility.SetClientDungeon(true, (ushort)DATAMAP);
            StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
            {
                toMapId = DATAMAP,
                toLineId = 0,
                needEmpty = true,
                needLoadResource = true,
                serverType = ServerType.Main,
                isClientLoadMap = true
            });
            PlayerDatas.Instance.baseData.mainServerMapIdRecord = PlayerDatas.Instance.baseData.MapID;
            PlayerDatas.Instance.baseData.MapID = (ushort)DATAMAP;
                 PlayerDatas.Instance.baseData.mainServerMapIdRecord = PlayerDatas.Instance.baseData.MapID;
                 PlayerDatas.Instance.baseData.MapID = (ushort)DATAMAP;
             });
        }
        public static void RequestExit()
System/HazyRegion/HazyDemonKingModel.cs
@@ -330,31 +330,31 @@
        public void RequestEnterClientDungeon()
        {
            var config = HazyRegionConfig.Get(hazyRegionModel.processingIncidentId);
            var hero = PlayerDatas.Instance.hero;
            if (hero != null)
            ClientDungeonStageUtility.RequestStartClientDungeon(config.dungeonId, config.lineId,(dungeonInfo,isOk)=>
            {
                hero.StopAll();
            }
                var hero = PlayerDatas.Instance.hero;
                if (hero != null)
                {
                    hero.StopAll();
                }
                MapTransferUtility.Instance.Clear();
                ClientDungeonStageUtility.SetClientDungeon(true, Client_MapID);
                StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
                {
                    toMapId = Client_MapID,
                    toLineId = 0,
                    needEmpty = true,
                    needLoadResource = true,
                    serverType = ServerType.Main,
                    isClientLoadMap = true
                });
            MapTransferUtility.Instance.Clear();
            ClientDungeonStageUtility.RequestStartClientDungeon(config.dungeonId, config.lineId);
            ClientDungeonStageUtility.SetClientDungeon(true, Client_MapID);
            StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
            {
                toMapId = Client_MapID,
                toLineId = 0,
                needEmpty = true,
                needLoadResource = true,
                serverType = ServerType.Main,
                isClientLoadMap = true
                PlayerDatas.Instance.baseData.mainServerMapIdRecord = PlayerDatas.Instance.baseData.MapID;
                PlayerDatas.Instance.baseData.MapID = Client_MapID;
                var attackMode = new C030A_tagCChangeAttackMode();
                attackMode.Mode = (byte)E_AttackMode.Contest;
                GameNetSystem.Instance.PushPackage(attackMode, ServerType.Main);
            });
            PlayerDatas.Instance.baseData.mainServerMapIdRecord = PlayerDatas.Instance.baseData.MapID;
            PlayerDatas.Instance.baseData.MapID = Client_MapID;
            var attackMode = new C030A_tagCChangeAttackMode();
            attackMode.Mode = (byte)E_AttackMode.Contest;
            GameNetSystem.Instance.PushPackage(attackMode, ServerType.Main);
        }
        public void RequestExitClientDungeon()
System/HazyRegion/HazyGrassModel.cs
@@ -313,32 +313,36 @@
        {
            var config = HazyRegionConfig.Get(hazyRegionModel.processingIncidentId);
            var mapId = GetClientMapId(hazyRegionModel.processingIncidentId);
            var hero = PlayerDatas.Instance.hero;
            if (hero != null)
            {
                hero.StopAll();
            }
            MapTransferUtility.Instance.Clear();
            ClientDungeonStageUtility.RequestStartClientDungeon(config.dungeonId, config.lineId);
            ClientDungeonStageUtility.SetClientDungeon(true, (ushort)mapId);
            StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
            ClientDungeonStageUtility.RequestStartClientDungeon(config.dungeonId, config.lineId,(dungeonInfo,isOk)=>
            {
                toMapId = mapId,
                toLineId = 0,
                needEmpty = true,
                needLoadResource = true,
                serverType = ServerType.Main,
                isClientLoadMap = true
                var mapId = GetClientMapId(hazyRegionModel.processingIncidentId);
                var hero = PlayerDatas.Instance.hero;
                if (hero != null)
                {
                    hero.StopAll();
                }
                ClientDungeonStageUtility.SetClientDungeon(true, (ushort)mapId);
                StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
                {
                    toMapId = mapId,
                    toLineId = 0,
                    needEmpty = true,
                    needLoadResource = true,
                    serverType = ServerType.Main,
                    isClientLoadMap = true
                });
                PlayerDatas.Instance.baseData.mainServerMapIdRecord = PlayerDatas.Instance.baseData.MapID;
                PlayerDatas.Instance.baseData.MapID = (ushort)mapId;
                var attackMode = new C030A_tagCChangeAttackMode();
                attackMode.Mode = (byte)E_AttackMode.Peace;
                GameNetSystem.Instance.PushPackage(attackMode, ServerType.Main);
            });
            PlayerDatas.Instance.baseData.mainServerMapIdRecord = PlayerDatas.Instance.baseData.MapID;
            PlayerDatas.Instance.baseData.MapID = (ushort)mapId;
            var attackMode = new C030A_tagCChangeAttackMode();
            attackMode.Mode = (byte)E_AttackMode.Peace;
            GameNetSystem.Instance.PushPackage(attackMode, ServerType.Main);
        }
        public void RequestExitClientDungeon()
System/HazyRegion/HazyRegionDialogueWin.cs
@@ -31,6 +31,8 @@
        public static int adventureDialogueId = 0;
        public static event Action onDialogueComplete;
        HazyRegionModel model { get { return ModelCenter.Instance.GetModel<HazyRegionModel>(); } }
        #region Built-in
@@ -125,7 +127,10 @@
        private void OnSkip()
        {
            Close();
            model.SendSwitchAdventureState(model.processingIncidentId, 3);
            if (onDialogueComplete != null)
            {
                onDialogueComplete();
            }
        }
        private void OnClickEmpty()
@@ -140,7 +145,10 @@
            else
            {
                Close();
                model.SendSwitchAdventureState(model.processingIncidentId, 3);
                if (onDialogueComplete != null)
                {
                    onDialogueComplete();
                }
            }
        }
    }
System/HazyRegion/HazyRegionModel.cs
@@ -121,7 +121,7 @@
            if (AdventureStage.Instance.IsInAdventureStage)
            {
                ClientDungeonStageUtility.RequestStartClientDungeon(0, 0);
                ClientDungeonStageUtility.RequestStartClientDungeon(0, 0, null);
            }
            UpdateRedpoint();
@@ -476,29 +476,31 @@
            switch ((HazyRegionIncidentType)config.incidentType)
            {
                case HazyRegionIncidentType.Adventure:
                    InitializeAdventure();
                    ClientDungeonStageUtility.RequestStartClientDungeon(0, 0, (dungeonInfo, isOk) =>
                      {
                          InitializeAdventure();
                    WindowCenter.Instance.CloseAll(WindowCenter.CloseAllIgnoreType.BaseAndCustom);
                          WindowCenter.Instance.CloseAll(WindowCenter.CloseAllIgnoreType.BaseAndCustom);
                    var hero = PlayerDatas.Instance.hero;
                    if (hero != null)
                    {
                        hero.StopAll();
                    }
                          var hero = PlayerDatas.Instance.hero;
                          if (hero != null)
                          {
                              hero.StopAll();
                          }
                    AdventureStage.Instance.Enter();
                    Incident incident;
                    if (TryGetIncident(id, out incident))
                    {
                        if (incident.state == IncidentState.UnStart)
                        {
                            SendSwitchAdventureState(id, 2);
                        }
                    }
                          AdventureStage.Instance.Enter();
                          Incident incident;
                          if (TryGetIncident(id, out incident))
                          {
                              if (incident.state == IncidentState.UnStart)
                              {
                                  SendSwitchAdventureState(id, 2);
                              }
                          }
                      });
                    break;
                case HazyRegionIncidentType.DemonKing:
                    if (InFakeHazyRegion)
                    if (config.dungeonType == 0)
                    {
                        hazyDemonKingModel.RequestEnterClientDungeon();
                    }
@@ -509,7 +511,7 @@
                    break;
                case HazyRegionIncidentType.FairyGrass:
                case HazyRegionIncidentType.ReikiGrass:
                    if (InFakeHazyRegion)
                    if (config.dungeonType == 0)
                    {
                        hazyGrassModel.RequestEnterClientDungeon();
                    }
System/Treasure/ClientTreasureDungeon.cs
@@ -8,33 +8,30 @@
{
    public const int Client_DataMap = 4000;
    public static int challengeTreasureId = 0;
    public static void RequestEnter(int treasureId)
    public static void RequestEnter()
    {
        challengeTreasureId = treasureId;
        var hero = PlayerDatas.Instance.hero;
        if (hero != null)
        ClientDungeonStageUtility.RequestStartClientDungeon(0, 0,(dungeonInfo,isOk)=>
        {
            hero.StopAll();
        }
        MapTransferUtility.Instance.Clear();
        ClientDungeonStageUtility.RequestStartClientDungeon(0, 0);
        ClientDungeonStageUtility.SetClientDungeon(true, (ushort)Client_DataMap);
        StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
        {
            toMapId = Client_DataMap,
            toLineId = 0,
            needEmpty = true,
            needLoadResource = true,
            serverType = ServerType.Main,
            isClientLoadMap = true
            var hero = PlayerDatas.Instance.hero;
            if (hero != null)
            {
                hero.StopAll();
            }
            MapTransferUtility.Instance.Clear();
            ClientDungeonStageUtility.SetClientDungeon(true, (ushort)Client_DataMap);
            StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
            {
                toMapId = Client_DataMap,
                toLineId = 0,
                needEmpty = true,
                needLoadResource = true,
                serverType = ServerType.Main,
                isClientLoadMap = true
            });
            PlayerDatas.Instance.baseData.mainServerMapIdRecord = PlayerDatas.Instance.baseData.MapID;
            PlayerDatas.Instance.baseData.MapID = (ushort)Client_DataMap;
        });
        PlayerDatas.Instance.baseData.mainServerMapIdRecord = PlayerDatas.Instance.baseData.MapID;
        PlayerDatas.Instance.baseData.MapID = (ushort)Client_DataMap;
    }
    public static void RequestExit()
System/Treasure/ClientTreasureDungeonStage.cs
@@ -108,7 +108,7 @@
    {
        IsCompleteDialogue = true;
        var pak = new CA50E_tagCMOpenMagicWeapon();
        pak.MWID = (uint)ClientTreasureDungeon.challengeTreasureId;
        pak.MWID = (uint)101;
        GameNetSystem.Instance.SendInfo(pak);
    }
System/Treasure/HumanTreasureWin.cs
@@ -327,7 +327,7 @@
            {
                if (model.selectedTreasure == 101)
                {
                    ClientTreasureDungeon.RequestEnter(101);
                    ClientTreasureDungeon.RequestEnter();
                    return;
                }
                if (PlayerDatas.Instance.baseData.LV >= config.ChallengeLevel)
System/Treasure/TreasureDungeonVictoryWin.cs
@@ -79,7 +79,7 @@
            }
            else
            {
                treasureId = ClientTreasureDungeon.challengeTreasureId;
                treasureId = 101;
            }
            var config = TreasureConfig.Get(treasureId);