/**void OnCollisionEnter2D(Collision2D coll) * { * Debug.Log(coll.gameObject.name); * if (coll.gameObject.name == "Player") * { * if (this.task.getTaskStatus() == TaskConstant.STATUS_INIT) { * string[] beginContent = new string[] {"年轻人,我这里有一个宝贝,你想要吗?", * "这个宝贝的来历可大了,听我慢慢道来。。。。", * "咳咳咳,人老了,肺不行了,我需要补肺丸,年轻人,你能帮忙我买瓶补肺丸吗?"}; * duiHuaUImanager.showDuiHua(this.getLiHuiURL(),beginContent,0); * showConfirm = true; * } else if (this.task.getTaskStatus() == TaskConstant.STATUS_BEGIN) { * * if (this.taskMananger.checkTaskDone(this.task)) { * string[] beginContent = new string[] {"好人啊!, 。。嗯。。好的了", * "我其实是个牧师, 擅长祈祷,来, 我先给祈祷一下。。。" * }; * duiHuaUImanager.showDuiHua(this.getLiHuiURL(), beginContent, 0); * this.task.getTaskAwards().executeAwards(); * this.task.setTaskStatus(TaskConstant.STATUS_END); * this.taskMananger.removeTask(this.task); * this.taskMananger.UpdateHistoryTask(this.task); * } * else * { * string[] beginContent = new string[] {"年轻人。。这个宝贝是这样来的。。。。", * "咳咳咳。。。。", * "咳咳咳。。。。血。。血都出来了。。。医生!"}; * duiHuaUImanager.showDuiHua(this.getLiHuiURL(), beginContent, 0); * } * } else if (this.task.getTaskStatus() == TaskConstant.STATUS_END) { * string[] beginContent = new string[] {"好多了。。我说道那里了? ", * "哎。。这记忆力不行了啊,,,", * "你是谁?。。赶紧离我远点。。我有传染病!"}; * duiHuaUImanager.showDuiHua(this.getLiHuiURL(), beginContent, 0); * } * else if (this.task.getTaskStatus() == TaskConstant.STATUS_INDALID) * { * string[] beginContent = new string[] {"安静!。。安静!。。老人家要多休息。"}; * duiHuaUImanager.showDuiHua(this.getLiHuiURL(), beginContent, 0); * } * * * } * } **/ private void initTask() { TaskAward award = new TaskAward(); award.setAttriAwards(1, 1, 1, 1); string taskDesc = "我有些咳嗽,能找些药给我吗?"; string taskName = "我是雷锋"; List <TaskItemInterface> taskItems = new List <TaskItemInterface>(); FindSomethingTaskItem cti = new FindSomethingTaskItem("找到一瓶蓝色的药水。"); cti.setTargetItem(ItemConstant.ITEM_CODE_POTION_10001); FindSomethingTaskItem cti2 = new FindSomethingTaskItem("找到一瓶红色的药水。"); cti.setTargetItem(ItemConstant.ITEM_CODE_POTION_00001); taskItems.Add(cti); taskItems.Add(cti2); this.task = new FindSometingTask(TaskConstant.TASK_CODE_01, TaskConstant.TASK_TYPE_01, award, null, taskDesc, npcCode, null, taskItems, taskName, TaskConstant.STATUS_INIT); }
internal void removeTask(FindSometingTask task) { this.regisitedTasks.Remove(task); }
// Use this for initialization void Start() { if (!this.neworLoad) { string datapath = Application.persistentDataPath + "/Save/SaveData0.sav"; SaveData data = (SaveData)IOHelper.GetData(datapath, typeof(SaveData)); if (data.Tasks.Count > 0) { foreach (TaskInfo ti in data.Tasks) { TaskAward award = new TaskAward(); award.setAttriAwards(ti.AwardAttr[0], ti.AwardAttr[1], ti.AwardAttr[2], ti.AwardAttr[3]); List <Item> awardsItems = new List <Item>(); foreach (ItemInfo item in ti.Items) { if (item.Type == ItemConstant.ITEM_TYPE_POTION) { awardsItems.Add(new ItemPotion(item.Code, item.Name, item.Desc)); } } List <TaskItemInterface> taskItems = new List <TaskItemInterface>(); foreach (TaskItemInfo itemInfo in ti.TaskItems) { if (itemInfo.ItemCode == TaskConstant.TASK_ITEM_CODE_SAVEORKILL) { taskItems.Add(new KillOrSaveTaskItem(itemInfo.ItemDesc)); } else if (itemInfo.ItemCode == TaskConstant.TASK_ITEM_CODE_KILL) { taskItems.Add(new KillSomethingTaskItem(itemInfo.ItemDesc)); } else if (itemInfo.ItemCode == TaskConstant.TASK_ITEM_CODE_FIND) { taskItems.Add(new FindSomethingTaskItem(itemInfo.ItemDesc)); } } award.setItemAwards(awardsItems); if (ti.TaskType == TaskConstant.TASK_TYPE_01) { FindSometingTask ft = new FindSometingTask(ti.TaskCode, ti.TaskType, award, null, ti.TaskDesc, ti.TaskDistrubtor, ti.TaskOwner, taskItems, ti.TaskName, ti.TaskStatus); this.regisisterTask(ft); } else if (ti.TaskType == TaskConstant.TASK_TYPE_02) { if (ti.TaskCode == TaskConstant.TASK_STORY_CODE_01) { BlackSignTask ft = new BlackSignTask(ti.TaskCode, ti.TaskType, award, null, ti.TaskDesc, ti.TaskDistrubtor, ti.TaskOwner, taskItems, ti.TaskName, ti.TaskStatus); this.regisisterStoryTask(ft); } } } } else { Debug.Log("no task loaded"); } } }