| Fight/Actor/AI/Process/PN_ShowSkillTip.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Fight/Actor/AI/Process/PN_ShowSkillTip.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Fight/Actor/AI/Process/ProcessManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Fight/Actor/AI/Process/ProcessNode.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Fight/Actor/AI/Process/SoProcessNode.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Alchemy/AlchemyDrugWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Alchemy/AlchemyStoveBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/HazyRegion/HazyDemonKingModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/HazyRegion/HazyGrassModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/MainInterfacePanel/TaskModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/RidingPet/RidingPetBossHintWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Skill/TreasureSkillModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | 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(); }