| | |
| | | feedback.equipCondition = array;
|
| | | }
|
| | | break;
|
| | | case TaskFeedbackType.FightPowerSideTask:
|
| | | {
|
| | | var stringArray = config.condition.Split('|');
|
| | | feedback.condition = int.Parse(stringArray[0]);
|
| | | var array = LitJson.JsonMapper.ToObject<int[][]>(stringArray[1]);
|
| | | if (array != null)
|
| | | {
|
| | | List<int[]> sideTasks = new List<int[]>(array.Length);
|
| | | for (int i = 0; i < array.Length; i++)
|
| | | {
|
| | | sideTasks.Add(array[i]);
|
| | | }
|
| | | feedback.sideTasks = sideTasks;
|
| | | }
|
| | | }
|
| | | break;
|
| | | }
|
| | |
|
| | | m_TaskFeedbacks.Add(config.taskId, feedback);
|
| | |
| | | }
|
| | | }
|
| | | break;
|
| | | case TaskFeedbackType.FightPowerSideTask:
|
| | | {
|
| | | int condition = 0;
|
| | | if (IsSatisfyCondition(feedback, out condition))
|
| | | {
|
| | | if (config.succGuide != 0)
|
| | | {
|
| | | ExecuteGuide(config.succGuide);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | if (!IsSatisfySideTask(feedback.sideTasks, out condition))
|
| | | {
|
| | | var sideFeedbackConfig = TaskFeedbackConfig.Get(condition);
|
| | | if (!string.IsNullOrEmpty(sideFeedbackConfig.remind))
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip(sideFeedbackConfig.remind);
|
| | | }
|
| | | if (sideFeedbackConfig != null && sideFeedbackConfig.failGuide != 0)
|
| | | {
|
| | | ExecuteGuide(sideFeedbackConfig.failGuide);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | break;
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | case TaskFeedbackType.FightPower:
|
| | | return PlayerDatas.Instance.baseData.FightPoint >= feedback.condition;
|
| | | case TaskFeedbackType.SideTask:
|
| | | foreach (var taskId in taskModel.SideQuestsDic.Keys)
|
| | | {
|
| | | for (int i = 0; i < feedback.sideTasks.Count; i++)
|
| | | {
|
| | | if (taskId >= feedback.sideTasks[i][0]
|
| | | && taskId <= feedback.sideTasks[i][1])
|
| | | {
|
| | | condition = taskId;
|
| | | return false;
|
| | | }
|
| | | }
|
| | | }
|
| | | return true;
|
| | | return IsSatisfySideTask(feedback.sideTasks, out condition);
|
| | | case TaskFeedbackType.ReikiPoint:
|
| | | return reikiRootModel.GetReikiRootTotalPoint() >= feedback.condition;
|
| | | case TaskFeedbackType.Equip:
|
| | |
| | | return PlayerDatas.Instance.baseData.allCopper >= (ulong)feedback.condition;
|
| | | case TaskFeedbackType.Guide:
|
| | | return true;
|
| | | case TaskFeedbackType.FightPowerSideTask:
|
| | | return PlayerDatas.Instance.baseData.FightPoint >= feedback.condition;
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | public bool IsSatisfySideTask(List<int[]> sideTasks, out int condition)
|
| | | {
|
| | | condition = 0;
|
| | | foreach (var taskId in taskModel.SideQuestsDic.Keys)
|
| | | {
|
| | | for (int i = 0; i < sideTasks.Count; i++)
|
| | | {
|
| | | if (taskId >= sideTasks[i][0]
|
| | | && taskId <= sideTasks[i][1])
|
| | | {
|
| | | condition = taskId;
|
| | | return false;
|
| | | }
|
| | | }
|
| | | }
|
| | | return true;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | Equip = 4,
|
| | | Copper = 5,
|
| | | Guide = 6,
|
| | | FightPowerSideTask = 7,
|
| | | }
|
| | | } |
| | | |