Exemple #1
0
    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);
        }
    }
Exemple #2
0
    //根据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);
    }