Legacy note. Inventory currency state is flattened into InventoryStorage and the InventoryWallet wrapper is removed.
Status: ACTIVE AppliesTo: v10
이 문서는 legacy 이름을 유지하지만, 현재 정본 구조는 InventoryWallet를 사용하지 않는다.
통화 상태는 InventoryStorage 내부 Dictionary<CURRENCY_TYPE, long>로 평탄화되었다.
InventoryWallet 클래스는 제거한다.InventoryStorage가 직접 소유한다.InventoryStorage에 둔다.
GetCurrencyAmount(CURRENCY_TYPE)TryAddCurrency(CURRENCY_TYPE, long)EnumerateCurrencyBalancesForSave()CURRENCY_TYPE.JEWEL은 파생값이며 JEWEL_FREE + JEWEL_PAID로 계산한다.
InventoryStorage는 wallet wrapper 대신 currency dictionary를 직접 가진다.
readonly Dictionary<CURRENCY_TYPE, long> mCurrencyBalances = new();
GetCurrencyAmount/TryAddCurrency)은 InventoryStorage가 직접 제공한다.CURRENCY_TYPE.JEWEL 직접 add/set은 금지한다.CURRENCY_TYPE.JEWEL은 표시/조회용 aggregate다.JEWEL_FREE, JEWEL_PAID이며 JEWEL은 저장하지 않는다.JEWEL이 직접 들어오면 invalid로 처리한다.Inventory currency 직렬화는 InventoryStorage.EnumerateCurrencyBalancesForSave()를 사용한다.
JEWEL 제외JEWEL 키가 오면 skipframework-cs/upm/com.devian.foundation/Samples~/MobilePackage/Runtime/Inventory/framework-cs/apps/UnityExample/Packages/com.devian.foundation/Samples~/MobilePackage/Runtime/Inventory/framework-cs/apps/UnityExample/Assets/Samples/Devian Foundation/{version}/MobilePackage/Runtime/Inventory/