public List <TaskReward> taskRewards = new List <TaskReward>(); //任务奖励 //根据taskNum读取XML,实现初始化 public Task(string taskID) { this.taskID = taskID; XElement xe = TaskManager.Instance.rootElement.Element(taskID); taskName = xe.Element("taskName").Value; caption = xe.Element("caption").Value; IEnumerable <XElement> a = xe.Elements("conditionID"); IEnumerator <XElement> b = xe.Elements("conditionTargetAmount").GetEnumerator(); IEnumerable <XElement> c = xe.Elements("rewardID"); IEnumerator <XElement> d = xe.Elements("rewardAmount").GetEnumerator(); foreach (var s in a) { int number = Random.Range(1, 9); b.MoveNext(); TaskCondition tc = new TaskCondition(s.Value, 0, int.Parse(b.Current.Value) * number); taskConditions.Add(tc); } foreach (var s in c) { d.MoveNext(); int numbers = Random.Range(1, 9); TaskReward tr = new TaskReward(s.Value, int.Parse(d.Current.Value) * numbers); taskRewards.Add(tr); } }
//根据taskId读取json,实现初始化 public TaskInfo(string taskID, int curComplete = 0, bool isGetReward = false) { this.taskID = taskID; JsonData json = GetTaskJson(taskID); taskName = json.TryGetString("taskName"); icon = json.TryGetString("taskIcon"); string conditionId = json.TryGetString("conditionId"); string rewardId = json.TryGetString("rewardId"); taskCondition = new TaskCondition(conditionId, curComplete, int.Parse(json.TryGetString("conditionCount"))); taskReward = new TaskReward(rewardId, int.Parse(json.TryGetString("rewardCount")), isGetReward); }