Example #1
0
    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);
    }
Example #2
0
    // 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");
            }
        }
    }