| System/MainInterfacePanel/FlyingShoesTask.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/MainInterfacePanel/PlayerMainDate.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/MainInterfacePanel/SideMission.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/MainInterfacePanel/TaskListTip.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/MainInterfacePanel/FlyingShoesTask.cs
@@ -120,36 +120,27 @@ m_ImgSelected.SetActive(true); taskmodel.GetNowTaskID = Task_ID; if (mainModel.TaskId_Skill1.Contains(Task_ID)) { int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//获取特殊物品 if (itemNumber >= mainModel.ItemNumber) { taskmodel.CompletionOfTask(Task_ID); WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2); } else { StateDetermination(); ContentText.ExcuteHref(); } return; } switch ((int)taskmodel.GetTaskStatus(Task_ID)) { case -5: case 0: DropItemManager.StopMissionPickup = true;//主动停止拾取物品 if (PlayerDatas.Instance.extersion.bossState == 1) { string strNpc = string.Empty; strNpc = ContentText.GetHrefMessage("movenpc"); int npcId = 0; int mapID = PlayerDatas.Instance.baseData.MapID; if (int.TryParse(strNpc, out npcId)) { var npcConfig = Config.Instance.GetAllValues<mapnpcConfig>(); foreach (var value in npcConfig) { if (value.NPCID == npcId && value.MapID != mapID) { SysNotifyMgr.Instance.ShowTip("Task_Transfer1"); return; } } var MonsterConfig = Config.Instance.Get<MonsterRefreshPointConfig>(npcId); if (MonsterConfig != null && MonsterConfig.MapId != mapID) { SysNotifyMgr.Instance.ShowTip("Task_Transfer1"); return; } } } StateDetermination(); ContentText.ExcuteHref(); OpenPanel(Task_ID); break; @@ -202,12 +193,47 @@ break; case 3: taskmodel.CompletionOfTask(Task_ID); if (mainModel.TaskId_Skill.Contains(Task_ID)) { WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2); } break; default: break; } } private void StateDetermination()//状态判定 { DropItemManager.StopMissionPickup = true;//主动停止拾取物品 if (PlayerDatas.Instance.extersion.bossState == 1) { string strNpc = string.Empty; strNpc = ContentText.GetHrefMessage("movenpc"); int npcId = 0; int mapID = PlayerDatas.Instance.baseData.MapID; if (int.TryParse(strNpc, out npcId)) { var npcConfig = Config.Instance.GetAllValues<mapnpcConfig>(); foreach (var value in npcConfig) { if (value.NPCID == npcId && value.MapID != mapID) { SysNotifyMgr.Instance.ShowTip("Task_Transfer1"); return; } } var MonsterConfig = Config.Instance.Get<MonsterRefreshPointConfig>(npcId); if (MonsterConfig != null && MonsterConfig.MapId != mapID) { SysNotifyMgr.Instance.ShowTip("Task_Transfer1"); return; } } } } } private void OnClickDeliveryButton()//传送符 { mainModel.FlyShoseTaskID = Task_ID; @@ -293,6 +319,22 @@ } string str = taskmodel.allMissionDict[TaskID].InforList; var taskinfo = Config.Instance.Get<TASKINFOConfig>(str); if (mainModel.TaskId_Skill1.Contains(TaskID))//特殊任务 { int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//获取特殊物品 string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, itemNumber); string Str_B = Language.Get("PassiveSkillTask2"); if (itemNumber >= mainModel.ItemNumber) { m_ContentText.text = Str_B; } else { m_ContentText.text = Str_A; } } else { if (taskinfo != null) { m_ContentText.text = taskinfo.show_writing; @@ -302,7 +344,7 @@ DebugEx.LogError("任务表格PyTaskInfo配置缺失"); return; } } bool isOPenTransferButton = HrefAnalysis.Inst.ContainsKey(taskinfo.show_writing, "flynpc"); if (isOPenTransferButton && !IsKaJiBool) { System/MainInterfacePanel/PlayerMainDate.cs
@@ -123,6 +123,7 @@ OneKeyList.Add(Listmap[i]); } NetworkState = (int)SDKUtility.Instance.NetworkType; GetPassiveSkillTask(); } //----------关于某些副本可以进行地图挂机 public List<int> OneKeyList = new List<int>(); @@ -130,6 +131,40 @@ //----------使用娲皇卷轴后的Buff表现 public static event Action EmperorBuffEvent; public bool IsEmperor = false; //---------关于任务需要的数据 public List<int> TaskId_Skill = new List<int>(); public List<int> TaskId_Skill1 = new List<int>(); public int ItemID = 0; public int UnitPrice = 0; public int ItemNumber = 0; private void GetPassiveSkillTask()//获取任务数据 { TaskId_Skill.Clear(); TaskId_Skill1.Clear(); var PassiveSkillTaskconfig = Config.Instance.Get<FuncConfigConfig>("PassiveSkillTask"); int[] TaskId_SkillInt = ConfigParse.GetMultipleStr<int>(PassiveSkillTaskconfig.Numerical1); for (int i = 0; i < TaskId_SkillInt.Length; i++) { TaskId_Skill.Add(TaskId_SkillInt[i]); } int[] TaskId_SkillInt1 = ConfigParse.GetMultipleStr<int>(PassiveSkillTaskconfig.Numerical2); for (int i = 0; i < TaskId_SkillInt1.Length; i++) { TaskId_Skill1.Add(TaskId_SkillInt1[i]); } int[] PassiveSkillTask = ConfigParse.GetMultipleStr<int>(PassiveSkillTaskconfig.Numerical3); if (PassiveSkillTask.Length >= 3) { ItemID = PassiveSkillTask[0]; UnitPrice = PassiveSkillTask[1]; ItemNumber = PassiveSkillTask[2]; } } private void UseItemSuccessAct(int Index, int ItemID) { if (ItemID == 221) System/MainInterfacePanel/SideMission.cs
@@ -9,9 +9,11 @@ using TableConfig; using System.Collections.Generic; //任务面板的支线任务 namespace Snxxz.UI { namespace Snxxz.UI { public class SideMission:MonoBehaviour { public class SideMission : MonoBehaviour { [SerializeField] ScrollerController _TaskRamusList; //右侧面板 [SerializeField] Text _Text_TaskName;//任务名 @@ -25,6 +27,10 @@ PlayerTaskDatas taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>()); } } ItemTipsModel _itemTipsModel; ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>()); } } PlayerPackModel _playerPack; PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } } PlayerMainDate m_MainModel; PlayerMainDate mainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } } private List<RewardAnalysis.RewardInfo> rewardList = new List<RewardAnalysis.RewardInfo>(); private int TaskIdNow = 0; private void Awake() @@ -39,19 +45,102 @@ { TaskIdNow = 0; _TaskRamusList.OnRefreshCell += OnRefreshGridCell; playerPack.RefreshItemCountAct += RefreshItemCountAct; playerPack.ItemCntReduceAct += ItemCntReduceAct; OnCreateGridLineCell(_TaskRamusList); } private void OnDisable() { _TaskRamusList.OnRefreshCell -= OnRefreshGridCell; playerPack.RefreshItemCountAct -= RefreshItemCountAct; playerPack.ItemCntReduceAct -= ItemCntReduceAct; } private void ItemCntReduceAct(PackType arg1, int arg2, int arg3) { if (arg1 == PackType.rptItem && arg3 == mainModel.ItemID) { foreach (var key in taskmodel.SideQuestsDic.Keys) { if (mainModel.TaskId_Skill1.Contains(key)) { _TaskRamusList.m_Scorller.RefreshActiveCellViews();//刷新当前可见 } } } } private void RefreshItemCountAct(PackType arg1, int arg2, int arg3) { if (arg1 == PackType.rptItem && arg3 == mainModel.ItemID) { foreach (var key in taskmodel.SideQuestsDic.Keys) { if (mainModel.TaskId_Skill1.Contains(key)) { _TaskRamusList.m_Scorller.RefreshActiveCellViews();//刷新当前可见 } } } } private void ForwardButton() { if (mainModel.TaskId_Skill1.Contains(TaskIdNow)) { int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//获取特殊物品 if (itemNumber >= mainModel.ItemNumber) { taskmodel.CompletionOfTask(TaskIdNow); WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2); } else { int Gold = (int)UIHelper.GetMoneyCnt(1);//仙玉 int GoldPaper = (int)UIHelper.GetMoneyCnt(2);//绑玉 string strNull = string.Empty; int needNumber = (mainModel.ItemNumber - itemNumber) * mainModel.UnitPrice;//所需金额 if (GoldPaper >= needNumber) { strNull = string.Format(Language.Get("PassiveSkillTask3"), needNumber); } else { strNull = string.Format(Language.Get("PassiveSkillTask4"), needNumber, GoldPaper, needNumber- GoldPaper); } ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), strNull, (bool isOk) => { if (isOk) { if (Gold + GoldPaper >= needNumber) { taskmodel.CompletionOfTask(TaskIdNow); WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2); } else { if (VersionConfig.Get().isBanShu) { SysNotifyMgr.Instance.ShowTip("GoldErr"); return; } WindowCenter.Instance.Open<RechargeTipWin>(); } } }); } return; } if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3) { taskmodel.CompletionOfTask(TaskIdNow); if (mainModel.TaskId_Skill.Contains(TaskIdNow)) { WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2); } } else { @@ -122,11 +211,30 @@ _Text_TaskName.text = Config.Instance.Get<TASKINFOConfig>(taskmodel.SideQuestsDic[taskID].Name).show_writing;//任务名 _Text_TaskDescribe.text = Config.Instance.Get<TASKINFOConfig>(taskmodel.SideQuestsDic[taskID].Desclist).show_writing;//任务描述 string strINfor = taskmodel.SideQuestsDic[taskID].InforList; string str = Config.Instance.Get<TASKINFOConfig>(strINfor).show_writing; string str = string.Empty; if (mainModel.TaskId_Skill1.Contains(taskID)) { int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//获取特殊物品 if (itemNumber >= mainModel.ItemNumber) { string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, mainModel.ItemNumber); str = Str_A; } else { string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, itemNumber); str = Str_A; } } else { str = Config.Instance.Get<TASKINFOConfig>(strINfor).show_writing; } str = WordAnalysis.Color_Start_Regex.Replace(str, string.Empty); str = WordAnalysis.Color_End_Regex.Replace(str, string.Empty); _Text_TaskTarget.text = str;//任务目标 if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3) if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3 || mainModel.TaskId_Skill1.Contains(taskID))//能够进行立即完成的支线任务 { _Text_Forward.text = string.Format(Language.Get("FinishAtOnce_Z")) ; } System/MainInterfacePanel/TaskListTip.cs
@@ -33,6 +33,10 @@ TreasureModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<TreasureModel>()); } } PlayerTaskDatas m_TaskModel; PlayerTaskDatas taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>()); } } PlayerPackModel _playerPack; PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } } PlayerMainDate m_MainModel; PlayerMainDate mainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } } List<int> RenzhuTaskIDList = new List<int>();//法宝任务数组ID List<int> ListSort = new List<int>();//用于排列顺序(未卡级) List<int> ListSort1 = new List<int>();//用于排序(卡级) @@ -104,12 +108,12 @@ PlayerTaskDatas.Event_TaskRefreshes += TaskRefreshes;//任务的刷新 PlayerTaskDatas.Event_TaskToDelete += OnTaskToDelete;//任务的删除 PlayerTaskDatas.Event_TaskInformation += TaskInformation;//任务字典信息 //PlayerTaskDatas.CardLevelChange += CardLevelChange;//任务卡级状态改变 PlayerTaskDatas.MainCardLevelChange += MainCardLevelChange;//卡级任务修改 model.collectingTreasureChangeEvent += OnCollectingTreasureChangeEvent; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; TreasureNewGotWin.CloseTreasureNewGotWinEvent += CloseTreasureNewGotWinEvent; playerPack.RefreshItemCountAct += RefreshItemCountAct; playerPack.ItemCntReduceAct += ItemCntReduceAct; OnCollectingTreasureChangeEvent(TreasureCategory.Human); TaskScheduling();//任务排序 1 TheTaskToGenerate();//任务生成 @@ -139,11 +143,55 @@ FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent; TreasureNewGotWin.CloseTreasureNewGotWinEvent -= CloseTreasureNewGotWinEvent; PlayerTaskDatas.MainCardLevelChange -= MainCardLevelChange;//卡级任务修改 playerPack.RefreshItemCountAct -= RefreshItemCountAct; playerPack.ItemCntReduceAct -= ItemCntReduceAct; } private void ItemCntReduceAct(PackType arg1, int arg2, int arg3) { if (arg1 == PackType.rptItem && arg3== mainModel.ItemID) { foreach (var key in taskmodel.SideQuestsDic.Keys) { if (mainModel.TaskId_Skill1.Contains(key)) { TaskIdUpdate(key); } } } } private void RefreshItemCountAct(PackType arg1, int arg2, int arg3) { if (arg1 == PackType.rptItem && arg3 == mainModel.ItemID) { foreach (var key in taskmodel.SideQuestsDic.Keys) { if (mainModel.TaskId_Skill1.Contains(key)) { TaskIdUpdate(key); } } } } private void TaskIdUpdate(int taskId) { int leng = Content.childCount; for (int i = 0; i < leng; i++) { GameObject childObj = Content.GetChild(i).gameObject; TaskType childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>(); if (childObj.activeSelf && childObjTaskType.TaskID == taskId) { childObj.GetComponent<FlyingShoesTask>().FlyingShoes_Task(taskId); } } } private void MainCardLevelChange(int _id) { TaskScheduling(); bool IsDefault = true; var State = taskmodel.GetTaskStatus(_id); @@ -348,7 +396,6 @@ { _list.Sort(Compare1);//卡级排序 } } int Compare(int x, int y)//默认排序(无卡级) { @@ -401,8 +448,6 @@ var _position = (_list.Count - type) * m_SizeHeight + (_list.Count - type - 1) * 2; _position -= 196; m_ScrollRect.verticalNormalizedPosition = Mathf.Clamp01(_position / ((Content as RectTransform).sizeDelta.y - 196)); // m_ScrollRect.verticalNormalizedPosition = Mathf.Clamp01(m_ScrollRect.verticalNormalizedPosition + ((Content as RectTransform).sizeDelta.y - 196)); //m_ScrollRect.verticalNormalizedPosition = ((float)1 - (float)(type + 1) / _list.Count); } } }