From bc2d65658f516301b60eb83cb1640e69d6e2e4f2 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 14 五月 2019 16:13:23 +0800
Subject: [PATCH] 6776 【前端】【2.0】任务反馈
---
Core/GameEngine/Model/Config/TaskFeedbackConfig.cs.meta | 12 +
System/Message/RichEvent.cs | 3
System/MainInterfacePanel/TaskFeedbackModel.cs.meta | 12 +
Utility/ConfigInitiator.cs | 3
System/Message/RichNormalEvent.cs | 61 ++++++
Core/GameEngine/Model/Config/TaskFeedbackConfig.cs | 214 +++++++++++++++++++++
System/MainInterfacePanel/TaskListTip.cs | 38 ++-
System/MainInterfacePanel/TaskFeedbackModel.cs | 217 +++++++++++++++++++++
System/WindowBase/ModelCenter.cs | 1
System/Role/ReikiRootModel.cs | 10 +
System/Message/WordAnalysis.cs | 13 +
11 files changed, 565 insertions(+), 19 deletions(-)
diff --git a/Core/GameEngine/Model/Config/TaskFeedbackConfig.cs b/Core/GameEngine/Model/Config/TaskFeedbackConfig.cs
new file mode 100644
index 0000000..0c7868b
--- /dev/null
+++ b/Core/GameEngine/Model/Config/TaskFeedbackConfig.cs
@@ -0,0 +1,214 @@
+锘�//--------------------------------------------------------
+// [Author]: Fish
+// [ Date ]: Tuesday, May 14, 2019
+//--------------------------------------------------------
+
+using System.Collections.Generic;
+using System.IO;
+using System.Threading;
+using System;
+using UnityEngine;
+
+[XLua.LuaCallCSharp]
+public partial class TaskFeedbackConfig
+{
+
+ public readonly int taskId;
+ public readonly int type;
+ public readonly string condition;
+ public readonly int succGuide;
+ public readonly int failGuide;
+ public readonly string remind;
+
+ public TaskFeedbackConfig()
+ {
+ }
+
+ public TaskFeedbackConfig(string input)
+ {
+ try
+ {
+ var tables = input.Split('\t');
+
+ int.TryParse(tables[0],out taskId);
+
+ int.TryParse(tables[1],out type);
+
+ condition = tables[2];
+
+ int.TryParse(tables[3],out succGuide);
+
+ int.TryParse(tables[4],out failGuide);
+
+ remind = tables[5];
+ }
+ catch (Exception ex)
+ {
+ DebugEx.Log(ex);
+ }
+ }
+
+ static Dictionary<string, TaskFeedbackConfig> configs = new Dictionary<string, TaskFeedbackConfig>();
+ public static TaskFeedbackConfig Get(string id)
+ {
+ if (!inited)
+ {
+ Debug.Log("TaskFeedbackConfig 杩樻湭瀹屾垚鍒濆鍖栥��");
+ return null;
+ }
+
+ if (configs.ContainsKey(id))
+ {
+ return configs[id];
+ }
+
+ TaskFeedbackConfig config = null;
+ if (rawDatas.ContainsKey(id))
+ {
+ config = configs[id] = new TaskFeedbackConfig(rawDatas[id]);
+ rawDatas.Remove(id);
+ }
+
+ return config;
+ }
+
+ public static TaskFeedbackConfig Get(int id)
+ {
+ return Get(id.ToString());
+ }
+
+ public static List<string> GetKeys()
+ {
+ var keys = new List<string>();
+ keys.AddRange(configs.Keys);
+ keys.AddRange(rawDatas.Keys);
+ return keys;
+ }
+
+ public static List<TaskFeedbackConfig> GetValues()
+ {
+ var values = new List<TaskFeedbackConfig>();
+ values.AddRange(configs.Values);
+
+ var keys = new List<string>(rawDatas.Keys);
+ foreach (var key in keys)
+ {
+ values.Add(Get(key));
+ }
+
+ return values;
+ }
+
+ public static bool Has(string id)
+ {
+ return configs.ContainsKey(id) || rawDatas.ContainsKey(id);
+ }
+
+ public static bool Has(int id)
+ {
+ return Has(id.ToString());
+ }
+
+ public static bool inited { get; private set; }
+ protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>();
+ public static void Init(bool sync=false)
+ {
+ inited = false;
+ var path = string.Empty;
+ if (AssetSource.refdataFromEditor)
+ {
+ path = ResourcesPath.CONFIG_FODLER +"/TaskFeedback.txt";
+ }
+ else
+ {
+ path = AssetVersionUtility.GetAssetFilePath("config/TaskFeedback.txt");
+ }
+
+ var tempConfig = new TaskFeedbackConfig();
+ var preParse = tempConfig is IConfigPostProcess;
+
+ if (sync)
+ {
+ var lines = File.ReadAllLines(path);
+ if (!preParse)
+ {
+ rawDatas = new Dictionary<string, string>(lines.Length - 3);
+ }
+ for (int i = 3; i < lines.Length; i++)
+ {
+ try
+ {
+ var line = lines[i];
+ var index = line.IndexOf("\t");
+ if (index == -1)
+ {
+ continue;
+ }
+ var id = line.Substring(0, index);
+
+ if (preParse)
+ {
+ var config = new TaskFeedbackConfig(line);
+ configs[id] = config;
+ (config as IConfigPostProcess).OnConfigParseCompleted();
+ }
+ else
+ {
+ rawDatas[id] = line;
+ }
+ }
+ catch (System.Exception ex)
+ {
+ Debug.LogError(ex);
+ }
+ }
+ inited = true;
+ }
+ else
+ {
+ ThreadPool.QueueUserWorkItem((object _object) =>
+ {
+ var lines = File.ReadAllLines(path);
+ if (!preParse)
+ {
+ rawDatas = new Dictionary<string, string>(lines.Length - 3);
+ }
+ for (int i = 3; i < lines.Length; i++)
+ {
+ try
+ {
+ var line = lines[i];
+ var index = line.IndexOf("\t");
+ if (index == -1)
+ {
+ continue;
+ }
+ var id = line.Substring(0, index);
+
+ if (preParse)
+ {
+ var config = new TaskFeedbackConfig(line);
+ configs[id] = config;
+ (config as IConfigPostProcess).OnConfigParseCompleted();
+ }
+ else
+ {
+ rawDatas[id] = line;
+ }
+ }
+ catch (System.Exception ex)
+ {
+ Debug.LogError(ex);
+ }
+ }
+
+ inited = true;
+ });
+ }
+ }
+
+}
+
+
+
+
diff --git a/Core/GameEngine/Model/Config/TaskFeedbackConfig.cs.meta b/Core/GameEngine/Model/Config/TaskFeedbackConfig.cs.meta
new file mode 100644
index 0000000..ab3f6ce
--- /dev/null
+++ b/Core/GameEngine/Model/Config/TaskFeedbackConfig.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b80a883f246077d46ab59d6938182ec9
+timeCreated: 1557813920
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/MainInterfacePanel/TaskFeedbackModel.cs b/System/MainInterfacePanel/TaskFeedbackModel.cs
new file mode 100644
index 0000000..a2cc1f4
--- /dev/null
+++ b/System/MainInterfacePanel/TaskFeedbackModel.cs
@@ -0,0 +1,217 @@
+锘縰sing System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+namespace Snxxz.UI
+{
+ public class TaskFeedbackModel : Model
+ {
+ Dictionary<int, TaskFeedback> m_TaskFeedbacks = new Dictionary<int, TaskFeedback>();
+
+ ReikiRootModel reikiRootModel { get { return ModelCenter.Instance.GetModel<ReikiRootModel>(); } }
+ PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
+ TaskModel taskModel { get { return ModelCenter.Instance.GetModel<TaskModel>(); } }
+
+ public override void Init()
+ {
+ ParseConfig();
+ }
+
+ public override void UnInit()
+ {
+ }
+
+ void ParseConfig()
+ {
+ var configs = TaskFeedbackConfig.GetValues();
+ foreach (var config in configs)
+ {
+ if (config.type == 100)
+ {
+ continue;
+ }
+
+ var feedback = new TaskFeedback()
+ {
+ taskId = config.taskId,
+ type = (TaskFeedbackType)config.type,
+ };
+
+ switch (feedback.type)
+ {
+ case TaskFeedbackType.FightPower:
+ case TaskFeedbackType.ReikiPoint:
+ case TaskFeedbackType.Copper:
+ feedback.condition = int.Parse(config.condition);
+ break;
+ case TaskFeedbackType.SideTask:
+ {
+ var array = LitJson.JsonMapper.ToObject<int[][]>(config.condition);
+ 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;
+ case TaskFeedbackType.Equip:
+ {
+ var array = LitJson.JsonMapper.ToObject<int[]>(config.condition);
+ feedback.equipCondition = array;
+ }
+ break;
+ }
+
+ m_TaskFeedbacks.Add(config.taskId, feedback);
+ }
+ }
+
+ public bool TryGetTaskFeedback(int taskId, out TaskFeedback feedback)
+ {
+ return m_TaskFeedbacks.TryGetValue(taskId, out feedback);
+ }
+
+ public void ExecuteTaskFeedback(int taskId)
+ {
+ TaskFeedback feedback;
+ if (TryGetTaskFeedback(taskId, out feedback))
+ {
+ var config = TaskFeedbackConfig.Get(taskId);
+
+ switch (feedback.type)
+ {
+ case TaskFeedbackType.FightPower:
+ case TaskFeedbackType.ReikiPoint:
+ case TaskFeedbackType.Guide:
+ case TaskFeedbackType.Equip:
+ {
+ int condition = 0;
+ if (IsSatisfyCondition(feedback, out condition))
+ {
+ if (config.succGuide != 0)
+ {
+ ExecuteGuide(config.succGuide);
+ }
+ }
+ else
+ {
+ if (!string.IsNullOrEmpty(config.remind))
+ {
+ SysNotifyMgr.Instance.ShowTip(config.remind);
+ }
+ if (config.failGuide != 0)
+ {
+ ExecuteGuide(config.succGuide);
+ }
+ }
+ }
+ break;
+ case TaskFeedbackType.SideTask:
+ {
+ int condition = 0;
+ if (IsSatisfyCondition(feedback, out condition))
+ {
+ if (config.succGuide != 0)
+ {
+ ExecuteGuide(config.succGuide);
+ }
+ }
+ else
+ {
+ 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;
+ }
+ }
+ }
+
+ public void ExecuteGuide(int id)
+ {
+ var config = GuideConfig.Get(id);
+ if (config == null)
+ {
+ DebugEx.LogFormat("寮曞<color=#ff0000>{0}</color>鏈坊鍔�", id);
+ return;
+ }
+ switch ((GuideType)config.Type)
+ {
+ case GuideType.Functional:
+ FunctionalGuideCenter.Instance.StartGuide(id);
+ break;
+ default:
+ NewBieCenter.Instance.StartNewBieGuide(id);
+ break;
+ }
+ }
+
+ public bool IsSatisfyCondition(TaskFeedback feedback, out int condition)
+ {
+ condition = feedback.condition;
+ switch (feedback.type)
+ {
+ 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;
+ 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;
+ case TaskFeedbackType.Copper:
+ return PlayerDatas.Instance.baseData.allCopper >= (ulong)feedback.condition;
+ case TaskFeedbackType.Guide:
+ return true;
+ }
+ return false;
+ }
+ }
+
+ public struct TaskFeedback
+ {
+ public int taskId;
+ public TaskFeedbackType type;
+ public int condition;
+ public List<int[]> sideTasks;
+ public int[] equipCondition;
+ }
+
+ public enum TaskFeedbackType
+ {
+ FightPower = 1,
+ SideTask = 2,
+ ReikiPoint = 3,
+ Equip = 4,
+ Copper = 5,
+ Guide = 6,
+ }
+}
+
diff --git a/System/MainInterfacePanel/TaskFeedbackModel.cs.meta b/System/MainInterfacePanel/TaskFeedbackModel.cs.meta
new file mode 100644
index 0000000..5edffd4
--- /dev/null
+++ b/System/MainInterfacePanel/TaskFeedbackModel.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c55c5981dc69bf44792d505c7cab421e
+timeCreated: 1557814038
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/MainInterfacePanel/TaskListTip.cs b/System/MainInterfacePanel/TaskListTip.cs
index 2054c05..7cfc127 100644
--- a/System/MainInterfacePanel/TaskListTip.cs
+++ b/System/MainInterfacePanel/TaskListTip.cs
@@ -31,6 +31,7 @@
List<int> _list = new List<int>();//鐢ㄦ潵鎺у埗杩涜鎺掑簭
TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
TaskModel taskmodel { get { return ModelCenter.Instance.GetModel<TaskModel>(); } }
+ ReikiRootModel reikiRootModel { get { return ModelCenter.Instance.GetModel<ReikiRootModel>(); } }
List<int> ListSort = new List<int>();//鐢ㄤ簬鎺掑垪椤哄簭(鏈崱绾�)
List<int> ListSort1 = new List<int>();//鐢ㄤ簬鎺掑簭锛堝崱绾э級
@@ -65,6 +66,7 @@
FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
TreasureNewGotWin.CloseTreasureNewGotWinEvent += CloseTreasureNewGotWinEvent;
PlayerDatas.Instance.playerDataRefreshEvent += Updatefighting;//鏁版嵁鐨勫埛鏂�(h0418)
+ reikiRootModel.onReikiRootPointRefresh += RefreshTaskContent;
OnCollectingTreasureChangeEvent(TreasureCategory.Human);
TaskScheduling();//浠诲姟鎺掑簭
Selected();//浠诲姟閫夋嫨
@@ -114,30 +116,32 @@
TaskModel.CardLevelChange -= CardLevelChangeEvent;//鍗$骇浠诲姟鐘舵�佹敼鍙�
TreasureNewGotWin.CloseTreasureNewGotWinEvent -= CloseTreasureNewGotWinEvent;
PlayerDatas.Instance.playerDataRefreshEvent -= Updatefighting;//鏁版嵁鐨勫埛鏂�(h0418)
+ reikiRootModel.onReikiRootPointRefresh -= RefreshTaskContent;
StopAllCoroutines();
+ }
+
+ private void RefreshTaskContent()
+ {
+ foreach (var key in taskmodel.allMissionDict.Keys)
+ {
+ int leng = Content.childCount;
+ for (int i = 0; i < leng; i++)
+ {
+ var childObj = Content.GetChild(i).gameObject;
+ var childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
+ if (childObj.activeSelf && childObjTaskType.TaskID == key)
+ {
+ childObj.GetComponent<FlyingShoesTask>().FlyingShoes_Task(key);
+ }
+ }
+ }
}
private void Updatefighting(PlayerDataType obj)//绛夌骇鍒锋柊
{
if (obj == PlayerDataType.FightPower)
{
- foreach (var key in taskmodel.allMissionDict.Keys)
- {
- var TaskPower = TaskPowerConfig.Get(key);
- if (TaskPower != null)
- {
- int leng = Content.childCount;
- for (int i = 0; i < leng; i++)
- {
- var childObj = Content.GetChild(i).gameObject;
- var childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
- if (childObj.activeSelf && childObjTaskType.TaskID == key)
- {
- childObj.GetComponent<FlyingShoesTask>().FlyingShoes_Task(key);
- }
- }
- }
- }
+ RefreshTaskContent();
}
}
diff --git a/System/Message/RichEvent.cs b/System/Message/RichEvent.cs
index eb651d8..85041b9 100644
--- a/System/Message/RichEvent.cs
+++ b/System/Message/RichEvent.cs
@@ -25,4 +25,7 @@
AncientRobotName,//涓婂彜鎴樺満闅忔満鍚嶅瓧
AuctionBidding,//闆嗗競绔炰环
RandomChat,
+ TaskFeedback,
+ MyFightPoint,
+ MyReikiRoot,
}
diff --git a/System/Message/RichNormalEvent.cs b/System/Message/RichNormalEvent.cs
index db06561..696ee18 100644
--- a/System/Message/RichNormalEvent.cs
+++ b/System/Message/RichNormalEvent.cs
@@ -18,6 +18,9 @@
RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.AncientRobotName, this);
RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.AuctionBidding, this);
RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.RandomChat, this);
+ RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.TaskFeedback, this);
+ RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.MyFightPoint, this);
+ RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.MyReikiRoot, this);
}
public override bool Execute(RichTextEventEnum type, RichTextMgr.HrefInfo href)
@@ -127,6 +130,23 @@
}
}
break;
+ case RichTextEventEnum.TaskFeedback:
+ {
+ if (href.mSplits.ContainsKey("taskfeedback"))
+ {
+ var taskId = 0;
+ int.TryParse(href.mSplits["taskfeedback"], out taskId);
+
+ TaskFeedback feedback;
+ var feedbackModel = ModelCenter.Instance.GetModel<TaskFeedbackModel>();
+ if (feedbackModel.TryGetTaskFeedback(taskId, out feedback))
+ {
+ feedbackModel.ExecuteTaskFeedback(taskId);
+ return true;
+ }
+ }
+ }
+ break;
}
return false;
}
@@ -150,6 +170,47 @@
}
}
break;
+ case RichTextEventEnum.MyFightPoint:
+ {
+ var colorType = 0;
+ if (RichTextMgr.Inst.presentRichText != null)
+ {
+ colorType = RichTextMgr.Inst.presentRichText.colorType == RichText.ColorType.Dark ? 0 : 1;
+ }
+ var fightPoint = PlayerDatas.Instance.baseData.FightPoint;
+ var targetValue = int.Parse(dic["myfightpoint"]);
+ if (fightPoint < targetValue)
+ {
+ var label = dic.ContainsKey("replacelabel1") ? dic["replacelabel1"] : string.Empty;
+ return UIHelper.AppendColor(TextColType.Red, StringUtility.Contact(label, fightPoint, "/", targetValue), colorType == 1);
+ }
+ else
+ {
+ var label = dic.ContainsKey("replacelabel2") ? dic["replacelabel2"] : string.Empty;
+ return UIHelper.AppendColor(TextColType.Green, label, colorType == 1);
+ }
+ }
+ case RichTextEventEnum.MyReikiRoot:
+ {
+ var colorType = 0;
+ if (RichTextMgr.Inst.presentRichText != null)
+ {
+ colorType = RichTextMgr.Inst.presentRichText.colorType == RichText.ColorType.Dark ? 0 : 1;
+ }
+ var reikiRootModel = ModelCenter.Instance.GetModel<ReikiRootModel>();
+ var point = reikiRootModel.GetReikiRootTotalPoint();
+ var targetValue = int.Parse(dic["myreikiroot"]);
+ if (point < targetValue)
+ {
+ var label = dic.ContainsKey("replacelabel1") ? dic["replacelabel1"] : string.Empty;
+ return UIHelper.AppendColor(TextColType.Red, StringUtility.Contact(label, point, "/", targetValue), colorType == 1);
+ }
+ else
+ {
+ var label = dic.ContainsKey("replacelabel2") ? dic["replacelabel2"] : string.Empty;
+ return UIHelper.AppendColor(TextColType.Green, label, colorType == 1);
+ }
+ }
}
return string.Empty;
}
diff --git a/System/Message/WordAnalysis.cs b/System/Message/WordAnalysis.cs
index ec93da3..6999a90 100644
--- a/System/Message/WordAnalysis.cs
+++ b/System/Message/WordAnalysis.cs
@@ -1,4 +1,5 @@
-锘縰sing System;
+锘縰sing Snxxz.UI;
+using System;
using System.Collections;
using System.Collections.Generic;
using System.Text.RegularExpressions;
@@ -147,6 +148,16 @@
eventType = RichTextEventEnum.AncientRobotName;
}
break;
+ case "myfightpoint":
+ {
+ eventType = RichTextEventEnum.MyFightPoint;
+ }
+ break;
+ case "myreikiroot":
+ {
+ eventType = RichTextEventEnum.MyReikiRoot;
+ }
+ break;
default:
{
displayDic.Add(split_value, array[1]);
diff --git a/System/Role/ReikiRootModel.cs b/System/Role/ReikiRootModel.cs
index 0a5b78c..a8ddf8d 100644
--- a/System/Role/ReikiRootModel.cs
+++ b/System/Role/ReikiRootModel.cs
@@ -244,6 +244,16 @@
return totalPoint;
}
+ public int GetReikiRootTotalPoint()
+ {
+ var point = 0;
+ foreach (var _point in m_ReikiRootPoints.Values)
+ {
+ point += _point;
+ }
+ return point;
+ }
+
public List<ReikiRootRecommend> GetReikiRootRecommendPoint(int point)
{
if (point == 0)
diff --git a/System/WindowBase/ModelCenter.cs b/System/WindowBase/ModelCenter.cs
index 3858ada..2cc2f0a 100644
--- a/System/WindowBase/ModelCenter.cs
+++ b/System/WindowBase/ModelCenter.cs
@@ -234,6 +234,7 @@
RegisterModel<DungeonUseBuffModel>();
RegisterModel<AlchemyModel>();
RegisterModel<OtherPlayerEquipModel>();
+ RegisterModel<TaskFeedbackModel>();
CSharpCallLua.ModelInit();
inited = true;
diff --git a/Utility/ConfigInitiator.cs b/Utility/ConfigInitiator.cs
index f8e7948..8d1afde 100644
--- a/Utility/ConfigInitiator.cs
+++ b/Utility/ConfigInitiator.cs
@@ -291,7 +291,8 @@
normalTasks.Add(new ConfigInitTask("DungeonUseBuffConfig", () => { DungeonUseBuffConfig.Init(); }, () => { return DungeonUseBuffConfig.inited; }));
normalTasks.Add(new ConfigInitTask("AlchemyCountConfig", () => { AlchemyCountConfig.Init(); }, () => { return AlchemyCountConfig.inited; }));
normalTasks.Add(new ConfigInitTask("CollectNpcConfig", () => { CollectNpcConfig.Init(); }, () => { return CollectNpcConfig.inited; }));
- normalTasks.Add(new ConfigInitTask("TreasureChapterConfig", () => { TreasureChapterConfig.Init(); }, () => { return TreasureChapterConfig.inited; }));
+ normalTasks.Add(new ConfigInitTask("TreasureChapterConfig", () => { TreasureChapterConfig.Init(); }, () => { return TreasureChapterConfig.inited; }));
+ normalTasks.Add(new ConfigInitTask("TaskFeedbackConfig", () => { TaskFeedbackConfig.Init(); }, () => { return TaskFeedbackConfig.inited; }));
}
static List<ConfigInitTask> doingTasks = new List<ConfigInitTask>();
--
Gitblit v1.8.0