少年修仙传客户端代码仓库
client_linchunjie
2019-04-16 ba745ff86e9af371df81b77aac208cfbf758b946
3335 缥缈仙域
5个文件已修改
81 ■■■■ 已修改文件
System/HazyRegion/ClientHazyGrassStage.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyDemonKingModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyGrassDungeonWin.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyRegionIncidentBehaviour.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyRegionModel.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/ClientHazyGrassStage.cs
@@ -1,23 +1,28 @@
using System;
using Snxxz.UI;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Snxxz.UI
{
    public class ClientHazyGrassStage : DungeonStage
    {
        static readonly Vector3 PlayerBornPosition = new Vector3(17.25f, 5.12f, 3.70f);
    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()
        {
@@ -28,8 +33,15 @@
            s_Sid2NpcPos.Clear();
            mapLoadFinish = false;
        initedFightNpc = false;
            grassRefreshCount = 0;
        var config = HazyRegionConfig.Get(hazyRegionModel.processingIncidentId);
        if (config != null)
        {
            incidentType = (HazyRegionIncidentType)config.incidentType;
        }
            UnloadAllNpc();
@@ -45,6 +57,8 @@
            InitialPlayer();
            InitializeNpc();
        initedFightNpc = true;
        }
        protected override void OnUpdate()
@@ -106,7 +120,14 @@
        void InitialPlayer()
        {
            var hero = PlayerDatas.Instance.hero;
            hero.Pos = PlayerBornPosition;
        if (incidentType == HazyRegionIncidentType.ReikiGrass)
        {
            hero.Pos = PlayerBornPosition1;
        }
        else if (incidentType == HazyRegionIncidentType.FairyGrass)
        {
            hero.Pos = PlayerBornPosition2;
        }
            CameraController.Instance.Apply();
        }
@@ -133,8 +154,27 @@
                            }
                        }
                        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()
@@ -149,6 +189,19 @@
                    GAMgr.Instance.Release(_npc);
                }
            }
        foreach (var _npc in s_ClientFightNpcs)
        {
            if (_npc != null)
            {
                _npc.OnAttacked -= OnAttackNpc;
                _npc.ActorInfo.serverDie = true;
                GAMgr.Instance.ServerDie(_npc.ServerInstID);
                GAMgr.Instance.Release(_npc);
            }
        }
        s_ClientFightNpcs.Clear();
            s_CollectNpcs.Clear();
        }
@@ -161,6 +214,5 @@
            }
        }
#endif
    }
}
System/HazyRegion/HazyDemonKingModel.cs
@@ -159,7 +159,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/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;
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 = string.Format("消耗体力: {0}", config.point);
            m_IncidentTitle.text = config.name;
            m_Icon.SetSprite(config.PortraitID);
            m_Icon.SetNativeSize();
@@ -99,9 +99,9 @@
        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;
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,
    }
}