private void initTask(TaskMananger taskMananger, Character chara, BenMonster benMonster) { TaskAward award = new TaskAward(); award.setAttriAwards(0, 0, 0, 0); string taskDesc = "萝莉侦探似乎看见了什么,突然变得狂暴起来,见人就攻击,能否活着逃离这个空间成了最大的问题。"; string taskName = "逃出侦探的追杀"; List <TaskItemInterface> taskItems = new List <TaskItemInterface>(); KillSomethingTaskItem cti = new KillSomethingTaskItem("杀死复活的怪物。"); cti.setTarget(benMonster); KillOrSaveTaskItem cti2 = new KillOrSaveTaskItem("杀死萝莉侦探或者唤醒侦探"); cti2.setTarget(chara); taskItems.Add(cti); taskItems.Add(cti2); BlackSignTask task = new BlackSignTask(TaskConstant.TASK_STORY_CODE_01, TaskConstant.TASK_TYPE_02, award, null, taskDesc, TaskConstant.TASK_NPC_CODE_STORY, null, taskItems, taskName, TaskConstant.STATUS_INIT); taskMananger.regisisterStoryTask(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"); } } }