private void OnItemSelected(ListView.ListViewItem item) { QuestDefine define = ((QuestListItem)item).Define; questTitleTxt.text = define.Name; descriptionTxt.text = define.Overview; ItemDefine reward = DataManager.Instance.Items[define.RewardItem1]; if (reward != null) { itemReword1.sprite = ResManager.Instance.Load <Sprite>(ResManager.ResourceType.Item, reward.Icon); reward = DataManager.Instance.Items[define.RewardItem2]; if (reward != null) { itemReword2.sprite = ResManager.Instance.Load <Sprite>(ResManager.ResourceType.Item, reward.Icon); reward = DataManager.Instance.Items[define.RewardItem3]; if (reward != null) { itemReword3.sprite = ResManager.Instance.Load <Sprite>(ResManager.ResourceType.Item, reward.Icon); } } } goldTxt.text = "Gold: " + define.RewardGold.ToString(); expTxt.text = "Exp: " + define.RewardExp.ToString(); }
//根据服务端给的消息创建 public Quest(NQuestInfo info, QuestDefine define) : this(define) { Guid = info.Guid; Status = new BindableProperty <QuestStatus>(info.Status); Status.OnValueChange.AddListener(OnStatusChange); ReachedTargets = info.Targets.Select(x => new BindableProperty <int>(x)).ToList(); NpcStatus = new BindableProperty <NpcQuestStatus>(GetQuestNpcStatus(this)); NpcStatus.OnValueChange.AddListener(OnNpcStatusChange); }
//根据define创建 仅用于显示 服务端没记录 public Quest(QuestDefine define) { Define = define; NpcStatus = new BindableProperty <NpcQuestStatus>(NpcQuestStatus.None); Status.OnValueChange.AddListener(OnStatusChange); NpcStatus.OnValueChange.AddListener(OnNpcStatusChange); NpcStatus.Value = GetQuestNpcStatus(this); ReachedTargets = new List <int>() { 0, 0, 0 }.Select(x => new BindableProperty <int>(x)).ToList(); }
public static void Gen() { DataManager.Instance.Load(); var quests = DataManager.Instance.Quests; //先清空所有后置任务 foreach (var key in quests.Keys) { quests[key].PostQuests = null; } foreach (var key in quests.Keys) { QuestDefine define = quests[key]; if (define.PreQuests != null) { for (int i = 0; i < define.PreQuests.Count; i++) { int preId = define.PreQuests[i]; if (quests.ContainsKey(preId)) { if (quests[preId].PostQuests != null) { quests[preId].PostQuests.Add(define.ID); } else { quests[preId].PostQuests = new List <int>() { define.ID }; } } } } } string json = JsonConvert.SerializeObject(DataManager.Instance.Quests, Formatting.Indented); File.WriteAllText(SysDefine.PATH_DEFINE_QUEST, json); Debug.Log("后置任务生成完毕"); }
public Quest(QuestDefine define) { this.Define = define; this.Info = null; }
public Quest(NQuestInfo info) { this.Info = info; this.Define = DataManager.Instance.Quests[info.QuestId]; }
public void Init(QuestDefine mDefine) { Define = mDefine; questNameTxt.text = Define.Name; Selected = false; }
public Quest(QuestDefine mDefine) { Define = mDefine; }
public Quest(NQuestInfo mInfo) { info = mInfo; Define = DataManager.Instance.Quests[info.QuestId]; }