데이터 타입에 Dictionary<string, Param>형식을 지원한다 적혀있어 사용해 보니 실제로 잘 적용되어있는 값이
이렇게 출력되고 있네요. 지원이 아직 안되는건가요?
안녕하세요 개발자님
해당 타입은 정상적으로 지원하고 있는데요,
저장을 시도 하시려는 데이터의 전체와,
데이터를 저장하는 소스코드의 공유를 부탁드리겠습니다.
감사합니다.
Dictionary<string, Item> consumableItems = new Dictionary<string, Item>();
var dict1 = consumableItems.ToDictionary(key => key.Key, value => value.Value.ToParam());
returnValue.Add("ConsumableItem", dict1);
List<Dictionary<string, Item>> equippedItemsList = new List<Dictionary<string, Item>>();
for (var i = 0; i < Constraints.ITEM_SLOT_COUNT; ++i)
{
var dict = equippedItemsList[i].ToDictionary(key => key.Key, value => value.Value.ToParam());
returnValue.Add($"EquippedItem{i}", dict);
}
public struct Item
{
.
.
.
public BackEnd.Param ToParam()
{
var param = new BackEnd.Param();
param.Add("isLock", isLock); // bool
param.Add("name", name); // string
param.Add("num", num); // int
param.Add("level", level); // int
param.Add("durationTime", GetDurationTime); // int
param.Add("options", options != null ?
options.Select(value => string.Format("E{0:D}", value)).ToList() : null); // List<enum>을 List<string>으로
param.Add("values", values); // List<double>
return param;
}
}
이렇게 사용하고 바로 Backend.GameInfo.Insert()
를 통해 param
을 넣어주고 있습니다.
개발자님
코드 공유해주셔서 감사합니다.
올려주신 코드를 살펴보았는데요,
List내 Dictionary가 존재하는 것 같은데,
list의 경우 dicrionary를 아직 지원하지 않습니다
list는 아래 데이터 타입 만을 지원하고 있습니다.
참고부탁드리겠습니다
데이터 형 |
---|
List< string> |
List< int> |
List< doubler> |
List< long> |
List< byte> |
List< bool> |
List< param> |
List< jsonData> |
그것또한 확인을 해서 코드를 확인해 보시면 for문을 통해 하나씩 일일이 저장하고 있는 코드가 존재 합니다. 또한 ConsumableItem또한 Dictionary<string, Item> => Dictionary<string, Param>의 형태로 저장하지만 내부 저장소를 보면 재대로 저장이 안되는 모습이 보입니다.
확인해보니 SDK에서 Param을 변환할 때 내부에서 건너뛰는 에러를 확인하였습니다
이용에 불편을 드려 죄송합니다.
해당 부분은 Param을 저장하지 않고,
Item 클래스 자체를 저장하는 식으로 사용을 추천드리겠습니다.
Dictionary 내 class가 존재하면, public 변수들은 param에 모두 추가될 것 입니다.
또한 해당 버그는 근시일 내 픽스를 수행하도록 하겠습니다.
피드백 감사드립니다.
버그인 게 맞다니 다행이군요. 수정이 빠른 시일 안에 됐으면 좋겠습니다.
수고하셨습니다.