에러가 발생한 경우 아래 정보를 모두 제공해주시면 보다 정확한 답변이 가능합니다!
- SDK 버전 : 5.4.0
- 에러 코드 :
- 스테이터스 코드 :
- 에러메시지 :
신버전으로 SDK 업그레이드 하고 코드도 모두 Backend.GameData.~ 로 바꿔둔 상황임을 먼저 알려드립니다.
일단 제가 만든 뒤끝 테이블은 모두 Private 테이블입니다.
그러면 이유 여하를 막론하고 다른 유저의 Private 테이블은 접근하지 못하는게 정상 아닌가요?
유저 1, 2를 만들고 테스트중에, 2번유저에서 다이아몬드로 상품 구매하는 로직을 실행하면 1번 유저의 다이아몬드가 변경되는 상황입니다. 구매한 상품도 1번 유저쪽으로 추가됩니다.
Private 테이블인데도 굳이 Owner_Indate를 사용해가며 코딩을 해야하나요?
오류가 발생하는 것도 아니고 깔끔하게 다른 유저의 Monetary 테이블을 갱신하네요;;
코드 첨부합니다.
public virtual void BuyShopEntryWithDiamonds(ShopEntry shopEntry, int useDiamond, Action<bool> afterAction)
{
List<TransactionValue> transactionList = new List<TransactionValue>();
Param param = new Param();
param.Add("Diamond", PlayerManager.Instance.diamonds - useDiamond);
switch (shopEntry.entryType)
{
case ShopEntryType.SoulGem:
param.Add("SoulGem", shopEntry.amount + PlayerManager.Instance.soulGems);
break;
case ShopEntryType.ChestPlatinum:
Param chestPlatinumParam = new Param();
chestPlatinumParam.Add("Platinum", shopEntry.amount + PlayerManager.Instance.GetChestCount("Platinum"));
transactionList.Add(TransactionValue.SetUpdate("Chest", new Where(), chestPlatinumParam));
break;
case ShopEntryType.ChestDiamond:
Param chestDiamondParam = new Param();
chestDiamondParam.Add("Diamond", shopEntry.amount + PlayerManager.Instance.GetChestCount("Diamond"));
transactionList.Add(TransactionValue.SetUpdate("Chest", new Where(), chestDiamondParam));
break;
}
transactionList.Add(TransactionValue.SetUpdate("Monetary", new Where(), param));
Backend.GameData.TransactionWrite(transactionList, (bro) =>