少年修仙传客户端代码仓库
client_Wu Xijin
2019-04-28 3d9e92dafe8e8ab19fdc7249a92c6d8114cadc05
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
2个文件已添加
10个文件已修改
257 ■■■■■ 已修改文件
Fight/Actor/AI/Process/PN_ShowSkillTip.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/Process/PN_ShowSkillTip.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/Process/ProcessManager.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/Process/ProcessNode.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/Process/SoProcessNode.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyDrugWin.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyStoveBehaviour.cs 119 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyDemonKingModel.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyGrassModel.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/TaskModel.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RidingPet/RidingPetBossHintWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/TreasureSkillModel.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/Process/PN_ShowSkillTip.cs
New file
@@ -0,0 +1,55 @@
using System;
using Snxxz.UI;
public class PN_ShowSkillTip : ProcessNode
{
    private bool m_IsCompelete = false;
    public PN_ShowSkillTip(int id)
    {
        param = id;
    }
    public override void Init()
    {
        m_IsCompelete = false;
        var _config = bossSkillTipsConfig.Get(param);
        if (_config != null)
        {
            BossNotify.Notify(_config.SkillID);
            BossNotify.OnNotifyStateEvent -= OnNotifyCompelete;
            BossNotify.OnNotifyStateEvent += OnNotifyCompelete;
        }
#if UNITY_EDITOR
        if (RuntimeLogUtility.s_LogProcessInfo)
        {
            UnityEngine.Debug.LogFormat("显示技能提示: {0}");
        }
#endif
    }
    private void OnNotifyCompelete(int id, bool ok)
    {
        if (id == param)
        {
            if (!ok)
            {
                m_IsCompelete = true;
            }
        }
    }
    public override bool IsOver()
    {
        return m_IsCompelete;
    }
    public override void UnInit()
    {
        BossNotify.OnNotifyStateEvent -= OnNotifyCompelete;
    }
    public override void Update()
    {
    }
}
Fight/Actor/AI/Process/PN_ShowSkillTip.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: bdf7bb184a77d884592abb5e52bdb6ee
timeCreated: 1556431442
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Fight/Actor/AI/Process/ProcessManager.cs
@@ -99,6 +99,9 @@
                case ProcessNode.E_ProcessType.StartPlayerAI:
                    m_NodeQueue.Enqueue(new PN_StartPlayerAI());
                    break;
                case ProcessNode.E_ProcessType.ShowSkillTip:
                    m_NodeQueue.Enqueue(new PN_ShowSkillTip(_node.param));
                    break;
            }
        }
    }
Fight/Actor/AI/Process/ProcessNode.cs
@@ -17,6 +17,7 @@
        PlayEffect,
        StopEffect,
        StartPlayerAI,
        ShowSkillTip,
    }
    public int param;
Fight/Actor/AI/Process/SoProcessNode.cs
@@ -109,6 +109,10 @@
            else if (_node.nodeType == ProcessNode.E_ProcessType.StartPlayerAI)
            {
            }
            else if (_node.nodeType == ProcessNode.E_ProcessType.ShowSkillTip)
            {
                _Item(ref _node, "技能提示");
            }
            EditorGUILayout.EndVertical();
            EditorGUILayout.BeginVertical();
            if (GUILayout.Button("删除", GUILayout.Height(20)))
System/Alchemy/AlchemyDrugWin.cs
@@ -21,6 +21,7 @@
        [SerializeField] AlchemyStudyBehaviour m_AlchemyStudy;
        [SerializeField] AlchemyBriefBehaviour m_AlchemyBrief;
        [SerializeField] AlchemyStoveBehaviour m_AlchemyStove;
        [SerializeField] UIEffect m_StudySuccEffect;
        AlchemyModel model { get { return ModelCenter.Instance.GetModel<AlchemyModel>(); } }
        #region Built-in
@@ -124,6 +125,13 @@
        private void AlchemyStateRefresh()
        {
            DisplayAlchmey();
            var lastGrasp = !m_AlchemyStudy.gameObject.activeSelf;
            if (model.isServerPrepare && !lastGrasp && model.IsGraspRecipe(model.selectAlchemy))
            {
                m_StudySuccEffect.Play();
            }
        }
        void DisplayAlchmey()
System/Alchemy/AlchemyStoveBehaviour.cs
@@ -8,6 +8,7 @@
{
    public class AlchemyStoveBehaviour : MonoBehaviour
    {
        [SerializeField] Transform m_ContainerMaterials;
        [SerializeField] AlchemyMaterial[] m_AlchemyMaterials;
        [SerializeField] Transform m_ContainerAlcheming;
@@ -26,6 +27,14 @@
        [SerializeField] Text m_FuncLabel;
        [SerializeField] Transform m_ContainerUnGrasp;
        [SerializeField] UIEffect m_AlchemingEffect;
        [SerializeField] UIEffect m_AlchemyCompleteEffect;
        [SerializeField] UIEffect[] m_AlchemyFlyEffects;
        [SerializeField] Transform m_ContainerFlyMaterials;
        [SerializeField] Transform[] m_FlyMaterials;
        [SerializeField] Image[] m_FlyIcons;
        [SerializeField] UIEffect m_AlchemyBoomEffect;
        int m_State = 0; //0-正常状态 1-炼丹中 2-炼丹结束
        int state
        {
@@ -41,6 +50,8 @@
        }
        float timer = 0f;
        bool animationStep = false;
        AlchemyModel model { get { return ModelCenter.Instance.GetModel<AlchemyModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
@@ -91,9 +102,16 @@
            m_ContainerNormal.gameObject.SetActive(state == 0);
            m_ContainerComplete.gameObject.SetActive(state == 2);
            m_AlchemingEffect.StopImediatly();
            m_AlchemyCompleteEffect.StopImediatly();
            m_ContainerMaterials.gameObject.SetActive(false);
            m_ContainerFlyMaterials.gameObject.SetActive(false);
            switch (state)
            {
                case 0:
                    m_ContainerMaterials.gameObject.SetActive(true);
                    m_StoveLevel.text = StringUtility.Contact("Lv.", model.stoveLevel);
                    var isMax = !RefineStoveConfig.Has(model.stoveLevel + 1);
                    var stoveConfig = RefineStoveConfig.Get(model.stoveLevel);
@@ -110,16 +128,11 @@
                    }
                    break;
                case 1:
                    uint tick = 0;
                    if (model.TryGetAlchemyStartTime(model.selectAlchemy, out tick))
                    {
                        var config = AlchemyConfig.Get(model.selectAlchemy);
                        var startTime = TimeUtility.GetTime(tick);
                        var seconds = (int)(config.NeedTime - (float)(TimeUtility.ServerNow - startTime).TotalSeconds);
                        m_AlchemyTime.text = TimeUtility.SecondsToHMS(seconds);
                    }
                    m_AlchemingEffect.Play();
                    DisplayAlchemyTime();
                    break;
                case 2:
                    m_AlchemyCompleteEffect.Play();
                    break;
            }
@@ -164,6 +177,62 @@
            }
        }
        void DisplayAlchemyTime()
        {
            uint tick = 0;
            if (model.TryGetAlchemyStartTime(model.selectAlchemy, out tick))
            {
                var config = AlchemyConfig.Get(model.selectAlchemy);
                var startTime = TimeUtility.GetTime(tick);
                var seconds = (int)(config.NeedTime - (float)(TimeUtility.ServerNow - startTime).TotalSeconds);
                m_AlchemyTime.text = TimeUtility.SecondsToHMS(seconds);
            }
        }
        void DisplayAnimation()
        {
            m_ContainerMaterials.gameObject.SetActive(false);
            m_ContainerFlyMaterials.gameObject.SetActive(true);
            List<Item> materials;
            model.TryGetAlchemyMaterials(model.selectAlchemy, out materials);
            for (int i = 0; i < m_FlyMaterials.Length; i++)
            {
                m_FlyMaterials[i].gameObject.SetActive(i < materials.Count);
                if (i < materials.Count)
                {
                    var itemConfig = ItemConfig.Get(materials[i].id);
                    m_FlyIcons[i].SetSprite(itemConfig.IconKey);
                    m_AlchemyFlyEffects[i].Play();
                    var parent = m_AlchemyFlyEffects[i].target.transform.Find("Animation/GuadianAnimation");
                    if (parent != null)
                    {
                        m_FlyMaterials[i].SetParent(parent);
                        m_FlyMaterials[i].transform.localPosition = Vector3.zero;
                    }
                }
                else
                {
                    m_AlchemyFlyEffects[i].StopImediatly();
                }
            }
            StartCoroutine(Co_DisplayAnimation());
        }
        IEnumerator Co_DisplayAnimation()
        {
            m_AlchemyBoomEffect.Play();
            yield return WaitingForSecondConst.WaitMS700;
            m_ContainerFlyMaterials.gameObject.SetActive(false);
            for (int i = 0; i < m_FlyMaterials.Length; i++)
            {
                m_FlyMaterials[i].SetParent(m_ContainerFlyMaterials);
            }
            animationStep = false;
            m_State = model.GetStoveState(model.selectAlchemy);
            DisplayStove();
        }
        private void SelectAlchemyRefresh()
        {
            m_State = model.GetStoveState(model.selectAlchemy);
@@ -173,9 +242,27 @@
        private void AlchemyStateRefresh()
        {
            m_State = model.GetStoveState(model.selectAlchemy);
            DisplayStove();
            DisplayAlchemyMaterials();
            animationStep = false;
            if (model.isServerPrepare)
            {
                var newState = model.GetStoveState(model.selectAlchemy);
                if (newState == 1 && state == 0)
                {
                    animationStep = true;
                }
            }
            if (!animationStep)
            {
                m_State = model.GetStoveState(model.selectAlchemy);
                DisplayStove();
                DisplayAlchemyMaterials();
            }
            if (animationStep)
            {
                DisplayAnimation();
            }
        }
        private void PlayerDataRefreshEvent(PlayerDataType dataType)
@@ -198,13 +285,18 @@
        private void PerSecond()
        {
            if (animationStep)
            {
                return;
            }
            var _state = model.GetStoveState(model.selectAlchemy);
            if (_state == state)
            {
                if (state == 1)
                {
                    DisplayStove();
                    DisplayAlchemyTime();
                }
            }
            else
@@ -300,6 +392,9 @@
            model.alchemyStateRefresh -= AlchemyStateRefresh;
            PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent;
            packModel.refreshItemCountEvent -= RefreshItemCountEvent;
            StopAllCoroutines();
            animationStep = false;
        }
    }
System/HazyRegion/HazyDemonKingModel.cs
@@ -12,6 +12,8 @@
        public bool IsInDungeon { get; private set; }
        bool requireExitClientDungeon = false;
        public int invincibleBuffId { get; private set; }
        public const int Client_MapID = 2000;
@@ -62,8 +64,9 @@
            m_AttackHeroPlayers.Clear();
            if (IsInDungeon && !IsInDemonKingDungeon(mapId))
            if (requireExitClientDungeon)
            {
                requireExitClientDungeon = false;
                ClientDungeonStageUtility.RequestExitClientDungeon();
            }
@@ -366,8 +369,9 @@
        public void RequestExitClientDungeon()
        {
            requireExitClientDungeon = true;
            ClientDungeonStageUtility.SetClientDungeon(false, 0);
            //ClientDungeonStageUtility.RequestExitClientDungeon();
            PlayerDatas.Instance.extersion.pkState = 0;
            ModelCenter.Instance.GetModel<DungeonModel>().ResetBufData();
System/HazyRegion/HazyGrassModel.cs
@@ -16,6 +16,8 @@
        public bool IsInDungeon { get; private set; }
        bool requireExitClientDungeon = false;
        bool m_IsDungeonTargetDone = false;
        public bool IsDungeonTargetDone
        {
@@ -101,8 +103,9 @@
            m_MapNpcCount.Clear();
            if (IsInDungeon && !IsInGrassDungeon(mapId))
            if (requireExitClientDungeon)
            {
                requireExitClientDungeon = false;
                ClientDungeonStageUtility.RequestExitClientDungeon();
            }
@@ -338,8 +341,8 @@
        public void RequestExitClientDungeon()
        {
            requireExitClientDungeon = true;
            ClientDungeonStageUtility.SetClientDungeon(false, 0);
            //ClientDungeonStageUtility.RequestExitClientDungeon();
            PlayerDatas.Instance.extersion.pkState = 0;
            ModelCenter.Instance.GetModel<DungeonModel>().ResetBufData();
System/MainInterfacePanel/TaskModel.cs
@@ -69,6 +69,9 @@
    public Dictionary<int, Dictionary<string, int>> ReplaceDic = new Dictionary<int, Dictionary<string, int>>();//key值替换字典
    public Dictionary<int, RunTaskAwardRecord> AwardRecordDic = new Dictionary<int, RunTaskAwardRecord>();//跑环奖励记录
    public Dictionary<int, int> NPCShowDic = new Dictionary<int, int>();//关于NPC的显隐问题
    Dictionary<int, int> m_ShowNpcCache = new Dictionary<int, int>();
    public delegate void OnTaskToAdd(int MissionID, int MissionState, int DiscriptionIndex);
    public static event OnTaskToAdd Event_TaskToAdd;//任务添加
    public delegate void OnTaskRefreshes(int _taskId);
@@ -186,6 +189,7 @@
        ReplaceDic.Clear();
        AwardRecordDic.Clear();
        NPCShowDic.Clear();
        m_ShowNpcCache.Clear();
        _conversation = null;
        _DefaultDialogContent = null;
        _TaskNow = 0;
@@ -1388,6 +1392,10 @@
    {
        foreach (string key in _Dic.Keys)
        {
            if (key.Equals("Show_{visit_npc_id}"))
            {
                continue;
            }
            string[] str = key.Split('_');
            if (str[0] == "Show")
            {
@@ -1399,6 +1407,27 @@
    private void StorageNPCDic(uint taskId, string key, int Value)//关于NPC的显隐
    {
        if (key.Equals("Show_{visit_npc_id}"))
        {
            m_ShowNpcCache[(int)taskId] = Value;
            return;
        }
        if (key.Equals("visit_npc_id"))
        {
            if (m_ShowNpcCache.ContainsKey((int)taskId))
            {
                Task0820(new H0820_tagMissionDict()
                {
                    MissionID = taskId,
                    DictKey = "Show_" + Value,
                    DictValue = (uint)m_ShowNpcCache[(int)taskId],
                });
                m_ShowNpcCache.Remove((int)taskId);
            }
            return;
        }
        string[] str = key.Split('_');
        if (str[0] == "Show")
        {
System/RidingPet/RidingPetBossHintWin.cs
@@ -20,8 +20,8 @@
        {
            var mission = dungeonModel.mission;
            var currentHp = (long)(mission.remainHPPer/* * 0.000001d * BOSSHP_TOTAL*/);
            var progress = 1 - (float)currentHp/* / BOSSHP_TOTAL*/;
            m_Progress.text = StringUtility.Contact((int)(progress * 100), "%");
            var progress = 100 - (float)currentHp/* / BOSSHP_TOTAL*/;
            m_Progress.text = StringUtility.Contact((int)(progress/* * 100*/), "%");
        }
        void DisplayTop3HurtRank()
System/Skill/TreasureSkillModel.cs
@@ -260,8 +260,13 @@
        public void OnDeleteSkill(int skillID)
        {
            var skillConfig = SkillConfig.Get(skillID);
            if (skillConfig == null)
            {
                return;
            }
            TreasurePotential treasurePotential;
            if (TryGetPotential(skillID, out treasurePotential))
            if (TryGetPotential(skillConfig.SkillTypeID, out treasurePotential))
            {
                treasurePotential.Reset();
            }