Namespace Serenity.Achievements.Infrastructure.Editor.Sync.Steam
Classes
SteamAchievementConnectorEditorComposition
The one door through which code outside this assembly obtains the real Steam connector factory, since the
concrete factory is internal. The Achievement Platform Sync window's composition edge calls it; everything
below that edge works through ISteamAchievementConnectorFactory. The session, the trace
settings, the transport and the sign-in factory come from SteamEditorComposition.
SteamIconPngEncoder
Encodes a Unity-authored achievement icon into the PNG bytes Steam's achievement editor requires: exactly Serenity.Achievements.Infrastructure.Sync.Steam.SteamIconRules.RequiredWidthxSerenity.Achievements.Infrastructure.Sync.Steam.SteamIconRules.RequiredHeight, with the locked variant auto-generated by Serenity.Achievements.Infrastructure.Sync.Steam.SteamIconRules.Grayscale(System.Byte,System.Byte,System.Byte) unless an explicit locked sprite was supplied at construction.
Interfaces
IAchievementSyncIconEncoder
The icon-encoding seam AchievementSyncLocalSnapshotSource calls through, so it stays platform-agnostic: it never has to know a storefront's pixel rules (Steam's fixed 64x64 size, its grayscale locked variant, and so on) to build a sync record from an authored achievement.
ISteamAchievementConnectorFactory
Builds the Steam definition sync connector the Achievement Platform Sync wizard works through, so the wizard never names a concrete Steam type and a test hands it a factory of fakes.