From 469dbd2e5a06faab01e8190d038db83edb12cbe0 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期四, 16 五月 2019 17:52:26 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/MainInterfacePanel/TaskFeedbackModel.cs | 65 ++++++++++++++++++++++++++++++++
1 files changed, 65 insertions(+), 0 deletions(-)
diff --git a/System/MainInterfacePanel/TaskFeedbackModel.cs b/System/MainInterfacePanel/TaskFeedbackModel.cs
index 7d63a9b..04b936f 100644
--- a/System/MainInterfacePanel/TaskFeedbackModel.cs
+++ b/System/MainInterfacePanel/TaskFeedbackModel.cs
@@ -7,6 +7,8 @@
{
Dictionary<int, TaskFeedback> m_TaskFeedbacks = new Dictionary<int, TaskFeedback>();
+ public readonly List<int> taskFeedbackFuncs = new List<int>();
+
ReikiRootModel reikiRootModel { get { return ModelCenter.Instance.GetModel<ReikiRootModel>(); } }
PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
TaskModel taskModel { get { return ModelCenter.Instance.GetModel<TaskModel>(); } }
@@ -77,6 +79,25 @@
}
}
break;
+ case TaskFeedbackType.ReikiPoint:
+ {
+ if (!string.IsNullOrEmpty(config.reikiRoot))
+ {
+ var json = LitJson.JsonMapper.ToObject(config.reikiRoot);
+ feedback.reikiRoots = new Dictionary<int, List<int[]>>();
+ foreach (var jobKey in json.Keys)
+ {
+ var job = int.Parse(jobKey);
+ var intArray = LitJson.JsonMapper.ToObject<int[][]>(json[jobKey].ToJson());
+ feedback.reikiRoots.Add(job, new List<int[]>());
+ for (int i = 0; i < intArray.Length; i++)
+ {
+ feedback.reikiRoots[job].Add(intArray[i]);
+ }
+ }
+ }
+ }
+ break;
}
m_TaskFeedbacks.Add(config.taskId, feedback);
@@ -102,6 +123,7 @@
case TaskFeedbackType.Guide:
case TaskFeedbackType.Equip:
case TaskFeedbackType.ItemCount:
+ case TaskFeedbackType.SkyTowerFightPoint:
{
int condition = 0;
if (IsSatisfyCondition(feedback, out condition))
@@ -117,6 +139,12 @@
if (!string.IsNullOrEmpty(config.remind))
{
SysNotifyMgr.Instance.ShowTip(config.remind);
+ }
+ if (config.failFuncs != null && config.failFuncs.Length > 0)
+ {
+ taskFeedbackFuncs.Clear();
+ taskFeedbackFuncs.AddRange(config.failFuncs);
+ WindowCenter.Instance.Open<TaskFeedbackFuncWin>();
}
if (config.failGuide != null
&& config.failGuide.Length > 0)
@@ -143,6 +171,12 @@
{
SysNotifyMgr.Instance.ShowTip(config.remind);
}
+ if (config.failFuncs != null && config.failFuncs.Length > 0)
+ {
+ taskFeedbackFuncs.Clear();
+ taskFeedbackFuncs.AddRange(config.failFuncs);
+ WindowCenter.Instance.Open<TaskFeedbackFuncWin>();
+ }
var index = feedback.IndexOfSideTasks(condition);
if (config.failGuide != null
&& index >= 0 && index < config.failGuide.Length)
@@ -168,6 +202,12 @@
if (!string.IsNullOrEmpty(config.remind))
{
SysNotifyMgr.Instance.ShowTip(config.remind);
+ }
+ if (config.failFuncs != null && config.failFuncs.Length > 0)
+ {
+ taskFeedbackFuncs.Clear();
+ taskFeedbackFuncs.AddRange(config.failFuncs);
+ WindowCenter.Instance.Open<TaskFeedbackFuncWin>();
}
if (!IsSatisfySideTask(feedback.sideTasks, out condition))
{
@@ -219,6 +259,20 @@
case TaskFeedbackType.SideTask:
return IsSatisfySideTask(feedback.sideTasks, out condition);
case TaskFeedbackType.ReikiPoint:
+ {
+ if (feedback.reikiRoots != null)
+ {
+ var job = PlayerDatas.Instance.baseData.Job;
+ var reikiRoots = feedback.reikiRoots[job];
+ foreach (var reikiRoot in reikiRoots)
+ {
+ if (reikiRootModel.GetReikiRootPoint(reikiRoot[0]) < reikiRoot[1])
+ {
+ return false;
+ }
+ }
+ }
+ }
return reikiRootModel.GetReikiRootTotalPoint() >= config.condition;
case TaskFeedbackType.Equip:
{
@@ -251,6 +305,15 @@
}
return true;
}
+ case TaskFeedbackType.SkyTowerFightPoint:
+ {
+ var skyTowerConfig = SkyTowerConfig.Get(config.condition);
+ if (skyTowerConfig != null)
+ {
+ return PlayerDatas.Instance.baseData.FightPoint >= skyTowerConfig.fightPower;
+ }
+ }
+ break;
}
return false;
}
@@ -281,6 +344,7 @@
public List<int[]> sideTasks;
public int[] equipCondition;
public List<Item> items;
+ public Dictionary<int, List<int[]>> reikiRoots;
public int IndexOfSideTasks(int taskId)
{
@@ -309,6 +373,7 @@
Guide = 6,
FightPowerSideTask = 7,
ItemCount = 8,
+ SkyTowerFightPoint = 9,
}
}
--
Gitblit v1.8.0