From 4c720b0423f4d613a2a01d984912b3d68c1dafc4 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 07 九月 2020 14:15:22 +0800
Subject: [PATCH] 0312 修改采集物采集逻辑
---
System/MainInterfacePanel/TaskModel.cs | 284 +++++++++++++++++++++++++++++---------------------------
1 files changed, 145 insertions(+), 139 deletions(-)
diff --git a/System/MainInterfacePanel/TaskModel.cs b/System/MainInterfacePanel/TaskModel.cs
index 0f41f45..23a04f2 100644
--- a/System/MainInterfacePanel/TaskModel.cs
+++ b/System/MainInterfacePanel/TaskModel.cs
@@ -170,9 +170,9 @@
TaskAutoTime = int.Parse(Task_Auto.Numerical2);
mainTaskAutoWaitTime = int.Parse(Task_Auto.Numerical3) / 1000f;
var mapIds = ConfigParse.GetMultipleStr<int>(Task_Auto.Numerical4);
- if (mapIds != null && mapIds.Length > 0)
- {
- allowAutoTaskMapIds.AddRange(mapIds);
+ if (mapIds != null && mapIds.Length > 0)
+ {
+ allowAutoTaskMapIds.AddRange(mapIds);
}
FairyAuTaskCount_Day = int.Parse(FuncConfigConfig.Get("RunTaskCnt").Numerical1.Split('|')[1].Split('_')[1]);
@@ -183,12 +183,12 @@
var funcConfig = FuncConfigConfig.Get("AutoSelectTaskChain");
var taskChainArray = LitJson.JsonMapper.ToObject<int[][]>(funcConfig.Numerical1);
- if (taskChainArray != null)
- {
- for (int i = 0; i < taskChainArray.Length; i++)
- {
- priorityTaskChains.Add(taskChainArray[i]);
- }
+ if (taskChainArray != null)
+ {
+ for (int i = 0; i < taskChainArray.Length; i++)
+ {
+ priorityTaskChains.Add(taskChainArray[i]);
+ }
}
}
@@ -305,22 +305,22 @@
}
}
- if (lastDescriptionIndex != DiscriptionIndex)
- {
- if (taskDescriptionRefresh != null)
- {
- taskDescriptionRefresh(MissionID);
- }
+ if (lastDescriptionIndex != DiscriptionIndex)
+ {
+ if (taskDescriptionRefresh != null)
+ {
+ taskDescriptionRefresh(MissionID);
+ }
}
}
else
{
- AddMission(MissionID, MissionState, DiscriptionIndex);//浠诲姟鐨勬坊鍔�
- if (taskDescriptionRefresh != null)
- {
+ AddMission(MissionID, MissionState, DiscriptionIndex);//浠诲姟鐨勬坊鍔�
+ if (taskDescriptionRefresh != null)
+ {
taskDescriptionRefresh(MissionID);
- }
+ }
if (Event_TaskToAdd != null)
{
Event_TaskToAdd(MissionID, MissionState, DiscriptionIndex);
@@ -382,29 +382,29 @@
}
}
- public ImpactRankModel.RankAwardItem GetRunTaskRward()//娣诲姞浠诲姟濂栧姳
- {
- var runTaskAward = FuncConfigConfig.Get("RunTaskAward");
- ImpactRankModel.RankAwardItem _award = new ImpactRankModel.RankAwardItem();
- var _jsonData = LitJson.JsonMapper.ToObject(runTaskAward.Numerical3);
- var jsonData2 = LitJson.JsonMapper.ToObject(runTaskAward.Numerical4);
- foreach (string key in _jsonData.Keys)
- {
- var _job = int.Parse(key);
- var _itemArray = LitJson.JsonMapper.ToObject<int[][]>(_jsonData[key].ToJson());
- for (int j = 0; j < _itemArray.Length; j++)
- {
- _award.Add(_job, new Item(_itemArray[j][0], _itemArray[j][1]));
- }
- }
- foreach (string key in jsonData2.Keys)
- {
- var _job = int.Parse(key);
- _award.Add(_job, new Item(2301, 0));
-
- }
-
- return _award;
+ public ImpactRankModel.RankAwardItem GetRunTaskRward()//娣诲姞浠诲姟濂栧姳
+ {
+ var runTaskAward = FuncConfigConfig.Get("RunTaskAward");
+ ImpactRankModel.RankAwardItem _award = new ImpactRankModel.RankAwardItem();
+ var _jsonData = LitJson.JsonMapper.ToObject(runTaskAward.Numerical3);
+ var jsonData2 = LitJson.JsonMapper.ToObject(runTaskAward.Numerical4);
+ foreach (string key in _jsonData.Keys)
+ {
+ var _job = int.Parse(key);
+ var _itemArray = LitJson.JsonMapper.ToObject<int[][]>(_jsonData[key].ToJson());
+ for (int j = 0; j < _itemArray.Length; j++)
+ {
+ _award.Add(_job, new Item(_itemArray[j][0], _itemArray[j][1]));
+ }
+ }
+ foreach (string key in jsonData2.Keys)
+ {
+ var _job = int.Parse(key);
+ _award.Add(_job, new Item(2301, 0));
+
+ }
+
+ return _award;
}
public int GetLatestMainTaskId()
@@ -420,9 +420,9 @@
return taskId;
}
- public bool TryGetTaskData(int _taskId, out MissionDetailDates taskData)
- {
- return allMissionDict.TryGetValue(_taskId, out taskData);
+ public bool TryGetTaskData(int _taskId, out MissionDetailDates taskData)
+ {
+ return allMissionDict.TryGetValue(_taskId, out taskData);
}
void DefaultDialogue()//鍏充簬鎵撳紑榛樿瀵硅瘽鐣岄潰
@@ -437,12 +437,12 @@
WindowCenter.Instance.Open<DefaultDialogueBoxWin>();
WindowCenter.Instance.Close<MainInterfaceWin>();
}
- else
- {
- if (talkNpcIdUpdate != null)
- {
- talkNpcIdUpdate(NPCid);
- }
+ else
+ {
+ if (talkNpcIdUpdate != null)
+ {
+ talkNpcIdUpdate(NPCid);
+ }
}
}
private void OnEventTalkEvent(int taskID)//NPC瀵硅瘽鍚庣殑寮规
@@ -582,46 +582,46 @@
vDetailData.descIndex = DiscriptionIndex;
var canSwitchSelectTask = true;
- if (GetNowTaskID != 0 && !IsMainTaskType(vDetailData.Type))
- {
- MissionDetailDates taskData;
- if (TryGetTaskData(GetNowTaskID, out taskData)
- && IsMainTaskType(taskData.Type)
- && taskData.MissionState != 3)
- {
- canSwitchSelectTask = false;
- }
- }
-
- if (isServerPrepare && PriorityTaskChainContains(MissionID))
- {
- canSwitchSelectTask = true;
- }
-
- if (canSwitchSelectTask)
- {
+ if (GetNowTaskID != 0 && !IsMainTaskType(vDetailData.Type))
+ {
+ MissionDetailDates taskData;
+ if (TryGetTaskData(GetNowTaskID, out taskData)
+ && IsMainTaskType(taskData.Type)
+ && taskData.MissionState != 3)
+ {
+ canSwitchSelectTask = false;
+ }
+ }
+
+ if (isServerPrepare && PriorityTaskChainContains(MissionID))
+ {
+ canSwitchSelectTask = true;
+ }
+
+ if (canSwitchSelectTask)
+ {
GetNowTaskID = MissionID;
}
allMissionDict.Add(MissionID, vDetailData);//娣诲姞浠诲姟
}
- public bool PriorityTaskChainContains(int taskId)
- {
- for (int i = 0; i < priorityTaskChains.Count; i++)
- {
- if (taskId >= priorityTaskChains[i][0]
- && taskId <= priorityTaskChains[i][1])
- {
- return true;
- }
- }
- return false;
+ public bool PriorityTaskChainContains(int taskId)
+ {
+ for (int i = 0; i < priorityTaskChains.Count; i++)
+ {
+ if (taskId >= priorityTaskChains[i][0]
+ && taskId <= priorityTaskChains[i][1])
+ {
+ return true;
+ }
+ }
+ return false;
}
- public bool IsMainTaskType(int type)
- {
- return type == (int)TaskTypenum.MainlineTaskType || type == (int)TaskTypenum.MainlineTaskTyp2;
+ public bool IsMainTaskType(int type)
+ {
+ return type == (int)TaskTypenum.MainlineTaskType || type == (int)TaskTypenum.MainlineTaskTyp2;
}
public enum TaskTypenum//浠诲姟绫诲瀷鍒嗙被
@@ -1006,10 +1006,10 @@
public void RequestGetTaskAward(string _answer, int taskId = 0)
{
- if (taskId == clientGuardDugeonTask)
- {
- ClientGuardDungeon.RequestEnter();
- return;
+ if (taskId == clientGuardDugeonTask)
+ {
+ ClientGuardDungeon.RequestEnter();
+ return;
}
var sendInfo = new C0802_tagCNPCAnswer();
@@ -1310,18 +1310,18 @@
{
try
{
- if (!allowAutoTaskMapIds.Contains(PlayerDatas.Instance.baseData.MapID))
- {
- return;
- }
-
- var _hero = PlayerDatas.Instance.hero;
- if (_hero != null)
- {
- if (MapArea.IsInMapArea(_hero.CurMapArea, MapArea.E_Type.Boss))
- {
- return;
- }
+ if (!allowAutoTaskMapIds.Contains(PlayerDatas.Instance.baseData.MapID))
+ {
+ return;
+ }
+
+ var _hero = PlayerDatas.Instance.hero;
+ if (_hero != null)
+ {
+ if (MapArea.IsInMapArea(_hero.CurMapArea, MapArea.E_Type.Boss))
+ {
+ return;
+ }
}
if (MainTaskDic.ContainsKey(_taskID))//涓荤嚎浠诲姟
@@ -1437,9 +1437,9 @@
yield return null;
}
- yield return WaitingForSecondConst.WaitMS500;
-
- // 濡傛灉鏈夊畧鎶�, 鍒欎笉鎷惧彇
+ yield return WaitingForSecondConst.WaitMS500;
+
+ // 濡傛灉鏈夊畧鎶�, 鍒欎笉鎷惧彇
var equipIndex = EquipSet.ClientPlaceToServerPlace(new Int2(0, (int)RoleEquipType.Guard));
var _itemModel = packModel.GetItemByIndex(PackType.Equip, equipIndex);
if (_itemModel == null || !GeneralDefine.GuardianPickUpID.Contains(_itemModel.itemId))
@@ -1470,9 +1470,9 @@
}
}
- if (AdventureStage.Instance.IsInAdventureStage)
- {
- yield break;
+ if (AdventureStage.Instance.IsInAdventureStage)
+ {
+ yield break;
}
if (NewBieCenter.Instance.inGuiding || ModelCenter.Instance.GetModel<TreasureModel>().newGotShowing
@@ -1496,9 +1496,9 @@
yield break;
}
- if (BossShowModel.Instance.BossShowing)
- {
- yield break;
+ if (BossShowModel.Instance.BossShowing)
+ {
+ yield break;
}
if (BountyDic.ContainsKey(_taskID) || FairyAuDic.ContainsKey(_taskID))
@@ -1514,9 +1514,9 @@
}
}
- while(ClientSceneManager.Instance.isWaitPickup)
- {
- yield return null;
+ while(ClientSceneManager.Instance.isWaitPickup)
+ {
+ yield return null;
}
if (GA_Hero.s_MapSwitching)
@@ -1615,7 +1615,7 @@
if (Npcid != 0 && NPCShowDic.ContainsKey(Npcid))
{
if (NPCShowDic[Npcid] == 0)
- {
+ {
GA_NpcFunc.SetNpcFuncVisible(Npcid, false);
}
else if (NPCShowDic[Npcid] == 1)
@@ -1636,7 +1636,7 @@
if (Npcid != 0 && NPCShowDic.ContainsKey(Npcid))
{
if (NPCShowDic[Npcid] == 0)
- {
+ {
GA_NpcFunc.SetNpcFuncVisible(Npcid, false);
}
else if (NPCShowDic[Npcid] == 1)
@@ -1695,20 +1695,26 @@
if (taskListConfig != null)
{
int[] collectNPCList = taskListConfig.CollectNPC;
- if ((collectNPCList.Length == 1 && collectNPCList[0] == 0) || GetTaskStatus(currentMission) != 0)
- {
- return false;
-
- }
+ var isTaskNPC = false;
for (int i = 0; i < collectNPCList.Length; i++)
{
if (collectNPCList[i] == npdId)
{
- return true;
+ isTaskNPC = true;
+ break;
}
}
+ if (isTaskNPC)
+ {
+ if ((collectNPCList.Length == 1 && collectNPCList[0] == 0) || GetTaskStatus(currentMission) != 0)
+ {
+ return false;
+
+ }
+ }
+
}
- return false;
+ return true;
}
public static bool IsOPenAutoResolve()//浠诲姟闈㈡澘涓嶅紑鍚嚜鍔ㄦ寕鏈虹姸鎬�
@@ -1865,9 +1871,9 @@
foreach (var key in taskWaits.Keys)
{
if ((Time.realtimeSinceStartup - taskWaits[key]) < 1f)
- {
+ {
#if UNITY_EDITOR
- DebugEx.LogFormat("<color=#00ffff>鐢变簬{0}寮�濮嬩换鍔$瓑寰�</color>", GetTaskWaitTypeLabel(key));
+ DebugEx.LogFormat("<color=#00ffff>鐢变簬{0}寮�濮嬩换鍔$瓑寰�</color>", GetTaskWaitTypeLabel(key));
#endif
return true;
}
@@ -1881,24 +1887,24 @@
public void Push(TaskWaitType type)
{
taskWaits[type] = Time.realtimeSinceStartup;
- }
-
+ }
+
#if UNITY_EDITOR
- static string GetTaskWaitTypeLabel(TaskWaitType waitType)
- {
- switch (waitType)
- {
- case TaskWaitType.TaskComplete:
- return "涓荤晫闈换鍔″畬鎴愯〃鐜�";
- case TaskWaitType.LevelUp:
- return "鐜╁鍗囩骇琛ㄧ幇";
- case TaskWaitType.TreasureProgress:
- return "娉曞疂杩涘害鏇存柊";
- case TaskWaitType.BetterEquip:
- return "鑾峰緱鏇村ソ瑁呭";
- default:
- return waitType.ToString();
- }
+ static string GetTaskWaitTypeLabel(TaskWaitType waitType)
+ {
+ switch (waitType)
+ {
+ case TaskWaitType.TaskComplete:
+ return "涓荤晫闈换鍔″畬鎴愯〃鐜�";
+ case TaskWaitType.LevelUp:
+ return "鐜╁鍗囩骇琛ㄧ幇";
+ case TaskWaitType.TreasureProgress:
+ return "娉曞疂杩涘害鏇存柊";
+ case TaskWaitType.BetterEquip:
+ return "鑾峰緱鏇村ソ瑁呭";
+ default:
+ return waitType.ToString();
+ }
}
#endif
}
--
Gitblit v1.8.0