| | |
| | | }
|
| | | }
|
| | | break;
|
| | | case TaskFeedbackType.ItemCount:
|
| | | {
|
| | | var array = LitJson.JsonMapper.ToObject<int[][]>(config.condition);
|
| | | if (array != null)
|
| | | {
|
| | | List<Item> items = new List<Item>();
|
| | | for (int i = 0; i < array.Length; i++)
|
| | | {
|
| | | items.Add(new Item()
|
| | | {
|
| | | id = array[i][0],
|
| | | count = array[i][1],
|
| | | });
|
| | | }
|
| | | feedback.items = items;
|
| | | }
|
| | | }
|
| | | break;
|
| | | }
|
| | |
|
| | | m_TaskFeedbacks.Add(config.taskId, feedback);
|
| | |
| | | case TaskFeedbackType.ReikiPoint:
|
| | | case TaskFeedbackType.Guide:
|
| | | case TaskFeedbackType.Equip:
|
| | | case TaskFeedbackType.ItemCount:
|
| | | {
|
| | | int condition = 0;
|
| | | if (IsSatisfyCondition(feedback, out condition))
|
| | |
| | | case TaskFeedbackType.ReikiPoint:
|
| | | return reikiRootModel.GetReikiRootTotalPoint() >= feedback.condition;
|
| | | case TaskFeedbackType.Equip:
|
| | | var items = packModel.GetItems(PackType.Item, new SinglePack.FilterParams()
|
| | | {
|
| | | levels = new List<int>() { feedback.equipCondition[0] },
|
| | | qualitys = new List<int>() { feedback.equipCondition[1] },
|
| | | });
|
| | | return items != null && items.Count > 0;
|
| | | var items = packModel.GetItems(PackType.Item, new SinglePack.FilterParams()
|
| | | {
|
| | | levels = new List<int>() { feedback.equipCondition[0] },
|
| | | qualitys = new List<int>() { feedback.equipCondition[1] },
|
| | | });
|
| | | return items != null && items.Count > 0;
|
| | | }
|
| | | case TaskFeedbackType.Copper:
|
| | | return PlayerDatas.Instance.baseData.allCopper >= (ulong)feedback.condition;
|
| | | case TaskFeedbackType.Guide:
|
| | | return true;
|
| | | case TaskFeedbackType.FightPowerSideTask:
|
| | | return PlayerDatas.Instance.baseData.FightPoint >= feedback.condition;
|
| | | case TaskFeedbackType.ItemCount:
|
| | | {
|
| | | if (feedback.items != null)
|
| | | {
|
| | | foreach (var item in feedback.items)
|
| | | {
|
| | | if (packModel.GetItemCountByID(PackType.Item, item.id) < item.count)
|
| | | {
|
| | | return false;
|
| | | }
|
| | | }
|
| | | }
|
| | | return true;
|
| | | }
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
| | | public int condition;
|
| | | public List<int[]> sideTasks;
|
| | | public int[] equipCondition;
|
| | | public List<Item> items;
|
| | | }
|
| | |
|
| | | public enum TaskFeedbackType
|
| | |
| | | Copper = 5,
|
| | | Guide = 6,
|
| | | FightPowerSideTask = 7,
|
| | | ItemCount = 8,
|
| | | }
|
| | | } |
| | | |