Пример #1
0
        public void Accept(IQuest quest, Action <QuestAcceptStatus, IQuest> callback)
        {
            Misc.CheckNotNull(quest);
            Misc.CheckNotNull(callback);
            callback = CallbackUtils.ToOnGameThread <QuestAcceptStatus, IQuest>(callback);

            var convertedQuest = quest as NativeQuest;

            if (convertedQuest == null)
            {
                Logger.e("Encountered quest that was not generated by this IQuestClient");
                callback(QuestAcceptStatus.BadInput, null);
                return;
            }

            mManager.Accept(convertedQuest, response =>
            {
                if (response.RequestSucceeded())
                {
                    callback(QuestAcceptStatus.Success, response.AcceptedQuest());
                }
                else
                {
                    callback(FromAcceptStatus(response.ResponseStatus()), null);
                }
            });
        }