using System; using System.Collections.Generic; using System.Linq; using FFXIVClientStructs.FFXIV.Application.Network.WorkDefinitions; using LLib.GameData; using Questionable.Model.Questing; namespace Questionable.Model; internal sealed class QuestProgressInfo { private readonly string _asString; public ElementId Id { get; } public byte Sequence { get; } public ushort Flags { get; init; } public List Variables { get; } public bool IsHidden { get; } public EClassJob ClassJob { get; } public QuestProgressInfo(QuestWork questWork) { Id = new QuestId(questWork.QuestId); Sequence = questWork.Sequence; Flags = questWork.Flags; Variables = questWork.Variables.ToArray().ToList(); IsHidden = questWork.IsHidden; ClassJob = (EClassJob)questWork.AcceptClassJob; Span variables = questWork.Variables; string text = ""; for (int i = 0; i < variables.Length; i++) { text = text + variables[i] + " "; if (i % 2 == 1) { text += " "; } } _asString = "QW: " + text.Trim(); } public override string ToString() { return _asString; } }