| Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA512_tagCMThinkMagicWeapon.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA512_tagCMThinkMagicWeapon.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/NetworkPackage/DTCFile/ServerPack/H08_Event/DTC0823_tagDelMission.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/HumanInductionTaskCell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/HumanInductionTaskCell.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/HumanTreasureTaskCell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/HumanTreasureWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA512_tagCMThinkMagicWeapon.cs
New file @@ -0,0 +1,18 @@ using UnityEngine; using System.Collections; // A5 12 感应法宝 #tagCMThinkMagicWeapon public class CA512_tagCMThinkMagicWeapon : GameNetPackBasic { public uint MWID; public CA512_tagCMThinkMagicWeapon () { combineCmd = (ushort)0x03FE; _cmd = (ushort)0xA512; } public override void WriteToBytes () { WriteBytes (MWID, NetDataType.DWORD); } } Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA512_tagCMThinkMagicWeapon.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 4a8f2189e3d0b7641bbcc1fee83f3930 timeCreated: 1555986406 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/DTCFile/ServerPack/H08_Event/DTC0823_tagDelMission.cs
@@ -16,6 +16,9 @@ return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<TaskModel>()); } } TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } public override void Done(GameNetPackBasic vNetPack) { @@ -25,6 +28,7 @@ if (vNetData != null) { taskmodel.DelMission((int)vNetData.MissionID); treasureModel.ReceivePackage(vNetData); } // PlayerDatas.Inst.missionDetail.DeleteMission((int)vNetData.MissionID); } System/Treasure/HumanInductionTaskCell.cs
New file @@ -0,0 +1,28 @@ using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class HumanInductionTaskCell : CellView { [SerializeField] Button m_Induction; TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } private void Awake() { m_Induction.SetListener(OnInduction); } private void OnInduction() { var pak = new CA512_tagCMThinkMagicWeapon(); pak.MWID = (uint)model.selectedTreasure; GameNetSystem.Instance.SendInfo(pak); } } } System/Treasure/HumanInductionTaskCell.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: e873caffd7d027149a5aa6277ba5bfcf timeCreated: 1555986232 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Treasure/HumanTreasureTaskCell.cs
@@ -9,12 +9,15 @@ { public class HumanTreasureTaskCell : CellView { [SerializeField] UIAlphaTween m_AlphaTween; [SerializeField] Text m_TreasureName; [SerializeField] Text m_ClueName; [SerializeField] Transform m_ContainerCollected; [SerializeField] Transform m_ContainerCollecting; [SerializeField] Button m_Goto; [SerializeField] Transform m_ContainerCutline; public static int lastClue = 0; TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } TaskModel taskModel { get { return ModelCenter.Instance.GetModel<TaskModel>(); } } @@ -24,7 +27,7 @@ m_Goto.AddListener(Goto); } public void Display(int clue) public void Display(int clue, bool animationStep = false) { var config = TreasureConfig.Get(model.selectedTreasure); m_TreasureName.text = StringUtility.Contact("【", config.Name, "】"); @@ -74,8 +77,20 @@ m_ContainerCollected.gameObject.SetActive(clueState == 2); m_ContainerCollecting.gameObject.SetActive(clueState == 1); var lastClue = clues.Keys.Last(); m_TreasureName.color = clueState == 0 ? UIHelper.s_Gray : UIHelper.s_LightYellow; m_ClueName.color = clueState == 0 ? UIHelper.s_Gray : UIHelper.s_LightYellow; m_ContainerCutline.gameObject.SetActive(lastClue != clue); if (!animationStep) { m_AlphaTween.SetEndState(); } else { m_AlphaTween.SetStartState(); m_AlphaTween.Play(); } } private void Goto() System/Treasure/HumanTreasureWin.cs
@@ -35,6 +35,8 @@ bool animationStep = false; List<int> animationClues = new List<int>(); TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } @@ -62,6 +64,7 @@ TreasureBaseWin.allowSelectTreasure += AllowSelectTreasure; model.treasureSelectedEvent += TreasureSelectedEvent; model.onInductionTaskComplete += OnInductionTaskComplete; } protected override void OnActived() @@ -78,6 +81,9 @@ { TreasureBaseWin.allowSelectTreasure -= AllowSelectTreasure; model.treasureSelectedEvent -= TreasureSelectedEvent; model.onInductionTaskComplete -= OnInductionTaskComplete; StopAllCoroutines(); } protected override void OnAfterClose() @@ -138,17 +144,20 @@ } } void DisplayTasks() void DisplayTasks(bool taskAnimation = false) { var inductionTaskId = 0; model.TryGetInductionTask(model.selectedTreasure, out inductionTaskId); model.TryGetLatestInductionTask(model.selectedTreasure, out inductionTaskId); var inductionState = model.GetTreasureInductionState(model.selectedTreasure); animationClues.Clear(); m_TaskController.Refresh(); Dictionary<int, List<int>> clues; if (model.TryGetTreasureClues(model.selectedTreasure, out clues)) { var lastClue = 0; foreach (var clue in clues.Keys) { var display = false; @@ -163,17 +172,30 @@ display = true; break; } if (display) { if (taskAnimation) { if (inductionTaskId < tasks[tasks.Count - 1]) { animationClues.Add(clue); } } m_TaskController.AddCell(ScrollerDataType.Header, clue); lastClue = clue; } } HumanTreasureTaskCell.lastClue = lastClue; if (inductionState == 0) { HumanTreasureTaskCell.lastClue = -1; m_TaskController.AddCell(ScrollerDataType.Normal, inductionTaskId); } } m_TaskController.Restart(); animationClues.Clear(); } void DisplayAnimation() @@ -196,6 +218,8 @@ private void TreasureSelectedEvent(int obj) { StopAllCoroutines(); m_PositionTween1.Stop(); m_PositionTween2.Stop(); m_PositionTween1.SetEndState(); @@ -203,6 +227,22 @@ m_Container.gameObject.SetActive(true); UI3DTreasureSelectStage.Instance.SetEndState(); Display(); } private void OnInductionTaskComplete(int id) { if (id == model.selectedTreasure) { var count = m_TaskController.GetNumberOfCells(m_TaskController.m_Scorller); m_TaskController.JumpIndex(count - 1); StartCoroutine(Co_DelayShowTask()); } } IEnumerator Co_DelayShowTask() { yield return new WaitForSeconds(3f); DisplayTasks(true); } private void Challenge() @@ -229,8 +269,16 @@ private void OnRefreshCell(ScrollerDataType type, CellView cell) { var taskCell = cell as HumanTreasureTaskCell; taskCell.Display(cell.index); if (type == ScrollerDataType.Header) { var taskCell = cell as HumanTreasureTaskCell; var animation = false; if (animationClues.Contains(cell.index)) { animation = true; } taskCell.Display(cell.index, animation); } } private void Preview() System/Treasure/TreasureModel.cs
@@ -24,7 +24,7 @@ Dictionary<TreasureCategory, int> treasureUnlockShowDict = new Dictionary<TreasureCategory, int>(); Dictionary<int, int> treasureTaskCompletedCounts = new Dictionary<int, int>(); Dictionary<int, int> treasureSignInPropertys = new Dictionary<int, int>(); Dictionary<int, int> treasureInductionTasks = new Dictionary<int, int>(); Dictionary<int, List<int>> treasureInductionTasks = new Dictionary<int, List<int>>(); List<int> eightFurnacesAchievements = new List<int>(); List<int> treasureUnOpens = new List<int>(); @@ -53,6 +53,7 @@ public event Action<int> treasureStageUpEvent; public event Action<int> demonTreasureDungeonUpdate; public event Action demonDungeonChallengeNext; public event Action<int> onInductionTaskComplete; int m_SelectedTreasure = 0; public int selectedTreasure @@ -325,30 +326,38 @@ continue; } Dictionary<int, List<int>> clues = null; if (!treasureClues.TryGetValue(config.FabaoID, out clues)) if (config.clue != 0) { clues = new Dictionary<int, List<int>>(); treasureClues.Add(config.FabaoID, clues); } List<int> tasks = null; if (!clues.TryGetValue(config.clue, out tasks)) { tasks = new List<int>(); clues.Add(config.clue, tasks); } tasks.Add(config.TaskID); Dictionary<int, List<int>> clues = null; if (!treasureClues.TryGetValue(config.FabaoID, out clues)) { clues = new Dictionary<int, List<int>>(); treasureClues.Add(config.FabaoID, clues); } List<int> tasks = null; if (!clues.TryGetValue(config.clue, out tasks)) { tasks = new List<int>(); clues.Add(config.clue, tasks); } tasks.Add(config.TaskID); if (!treasureTasks.TryGetValue(config.FabaoID, out tasks)) { tasks = new List<int>(); treasureTasks.Add(config.FabaoID, tasks); if (!treasureTasks.TryGetValue(config.FabaoID, out tasks)) { tasks = new List<int>(); treasureTasks.Add(config.FabaoID, tasks); } tasks.Add(config.TaskID); } tasks.Add(config.TaskID); if (config.induction == 1) { treasureInductionTasks.Add(config.FabaoID, config.TaskID); if (!treasureInductionTasks.ContainsKey(config.FabaoID)) { treasureInductionTasks.Add(config.FabaoID, new List<int>()); } treasureInductionTasks[config.FabaoID].Add(config.TaskID); } } @@ -994,9 +1003,43 @@ } } public bool TryGetInductionTask(int id, out int taskId) public void ReceivePackage(H0823_tagDelMission package) { return treasureInductionTasks.TryGetValue(id, out taskId); if (isServerReady) { foreach (var id in treasureInductionTasks.Keys) { if (treasureInductionTasks[id].Contains((int)package.MissionID)) { if (onInductionTaskComplete != null) { onInductionTaskComplete(id); } break; } } } } public bool TryGetLatestInductionTask(int id, out int taskId) { taskId = 0; var latestTask = taskModel.GetLatestMainTaskId(); if (treasureInductionTasks.ContainsKey(id)) { var count = treasureInductionTasks[id].Count; foreach (var _taskId in treasureInductionTasks[id]) { if (latestTask <= _taskId) { taskId = _taskId; return true; } } taskId = treasureInductionTasks[id][count - 1]; return true; } return false; } public int GetTreasureInductionState(int treasurId) @@ -1006,9 +1049,9 @@ return 1; } var latestTask = taskModel.GetLatestMainTaskId(); if (treasureInductionTasks.ContainsKey(treasurId)) var inductionTask = 0; if (TryGetLatestInductionTask(treasurId, out inductionTask)) { var inductionTask = treasureInductionTasks[treasurId]; return latestTask.CompareTo(inductionTask); } return 1;