Esempio n. 1
0
        public static IQuestUpdateData ReadQuestUpdateData(this PacketReader reader)
        {
            QuestCommand     questCommand = reader.ReadQuestCommand();
            IQuestUpdateData result;

            switch (questCommand)
            {
            case QuestCommand.Activate:
                result = new QuestUpdateDataActivate();
                break;

            case QuestCommand.Complete:
                result = new QuestUpdateDataComplete();
                break;

            case QuestCommand.Remove:
                result = new QuestUpdateDataRemove();
                break;

            default:
                result = new QuestUpdateDataUnknown
                {
                    QuestCommand = questCommand
                };
                break;
            }
            result.Bitfield = reader.ReadByte();
            return(result);
        }
Esempio n. 2
0
        public static S2C_HandleQuestUpdate CreateBody(PacketReader reader, NetID sender)
        {
            var result = new S2C_HandleQuestUpdate();

            result.SenderNetID = sender;
            result.Objective   = reader.ReadFixedString(128);
            result.Icon        = reader.ReadFixedString(128);
            result.Tooltip     = reader.ReadFixedString(128);
            result.Reward      = reader.ReadFixedString(128);
            result.QuestType   = reader.ReadQuestType();
            QuestCommand questCommand = reader.ReadQuestCommand();

            switch (questCommand)
            {
            case QuestCommand.Activate:
                result.CommandQuest = new CommandActivate();
                break;

            case QuestCommand.Complete:
                result.CommandQuest = new CommandComplete();
                break;

            case QuestCommand.Remove:
                result.CommandQuest = new CommandRemove();
                break;

            default:
                result.CommandQuest = new CommandUnknown(questCommand);
                break;
            }
            result.CommandQuest.Bitfield = reader.ReadByte();
            result.QuestID = reader.ReadQuestID();

            return(result);
        }
Esempio n. 3
0
        public async Task TakeQuest(QuestDetailAction questAction)
        {
            var result = await DoCommand(async() => {
                var playerId = _account.PlayerId;

                var command = new QuestCommand(playerId, questAction.QuestId);
                await _bus.SendCommand(command);
            });
        }
Esempio n. 4
0
 public static void WriteQuestCommand(this PacketWriter writer, QuestCommand data)
 {
     writer.WriteByte((byte)data);
 }
Esempio n. 5
0
 public CommandUnknown(QuestCommand command) => _questCommand = command;