Files
Kayori 755c047693 Platform, plugin & account UX improvements
- Refactor handler dispatch to use a parsed GameModel instead of raw
  model strings (Handler.cs, HandlerService.cs, new GameModel.cs)
- Add a Unity asset-extraction subsystem (Abstractions/Extractors/Unity)
- Add WriteEventLogHandler, XrpcDouble serialization type
- Rename EaCoin*Handler -> *EaCoinHandler for naming consistency
- Add PIN/username update and forgot/reset password flows, with a
  console-logging IEmailSender until real email is wired up
- Add a settings page and a theming pass (theme tokens, tailwind config)
- Add plugin nav/route/UI-manifest frontend types
2026-09-06 15:12:50 +02:00

16 lines
794 B
C#

namespace Abstractions.Entities;
// Existence-range tracking for master data synced from successive game client dumps. A row's
// Id is its only primary key, so this is a single record per Id, not a per-client-version
// content snapshot - items only ever get added or dropped between versions, never revived, and
// their fields never change once inserted. Plugins that sync versioned master data (music,
// gacha, events, ...) should derive their entities from this and query them through
// IQueryable<T>.ForVersion(version) (see VersionedDataExtensions) rather than filtering
// MinVersion/MaxVersion by hand at each call site.
public class VersionedData
{
public long InsertedVersion { get; set; }
public long? MinVersion { get; set; }
public long? MaxVersion { get; set; }
}