Interface 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.
Namespace: Serenity.Achievements.Infrastructure.Editor.Sync.Steam
Assembly: Serenity.UnityAchievements.Infrastructure.Editor.Sync.Steam.dll
Syntax
public interface IAchievementSyncIconEncoder
Remarks
Housed in the Steam transport assembly because SteamIconPngEncoder is its only implementer today, and the main editor assembly is not allowed to reference this assembly's own network-carrying types the other way around (that cycle is exactly what put this interface here instead of alongside AchievementSyncLocalSnapshotSource). Move it back out to a shared location the moment a second storefront implements it.
Methods
EncodeLocked(UnityAchievementDefinition)
Encodes the icon shown while the achievement is still locked.
Declaration
AchievementIconPayload EncodeLocked(UnityAchievementDefinition definition)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityAchievementDefinition | definition | The authored achievement to read an icon from. |
Returns
| Type | Description |
|---|---|
| AchievementIconPayload | The encoded icon, or None when it carries none. |
EncodeUnlocked(UnityAchievementDefinition)
Encodes the icon shown once the achievement is unlocked.
Declaration
AchievementIconPayload EncodeUnlocked(UnityAchievementDefinition definition)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityAchievementDefinition | definition | The authored achievement to read an icon from. |
Returns
| Type | Description |
|---|---|
| AchievementIconPayload | The encoded icon, or None when it carries none. |