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); }
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); }
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); }); }
public static void WriteQuestCommand(this PacketWriter writer, QuestCommand data) { writer.WriteByte((byte)data); }
public CommandUnknown(QuestCommand command) => _questCommand = command;