コード例 #1
0
    /// <summary>
    /// 创建实例
    /// </summary>
    public static AcceptQuestRequest create(int id)
    {
        AcceptQuestRequest re = (AcceptQuestRequest)BytesControl.createRequest(dataID);

        re.id = id;
        return(re);
    }
コード例 #2
0
    /** 执行接取任务 */
    private void doAcceptQuest(QuestConfig config)
    {
        if (CommonSetting.isClientDriveLogic)
        {
            QuestData qData = GameC.factory.createQuestData();
            qData.id = config.id;
            qData.makeConfig();

            int[] list = config.tasks;

            TaskData[] tasks = qData.tasks = new TaskData[list.Length];

            for (int i = 0; i < list.Length; i++)
            {
                tasks[i] = createTaskByID(list[i], FunctionType.Quest, config.id);
            }

            if (config.failTimeT != null)
            {
                qData.enableTime = config.failTimeT.getNextTime();
            }
            else
            {
                qData.enableTime = 0L;
            }

            //成功接取任务后 把任务道具给玩家
            DIntData[] questItem = config.questItem;
            if (questItem.Length > 0)
            {
                me.bag.addItems(questItem, 1, CallWayType.AcceptQuest);
            }

            doAcceptQuest(qData);
        }
        else
        {
            me.send(AcceptQuestRequest.create(config.id));
        }
    }