고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.
커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.
문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.
- 베이스/채팅/데이터베이스/월드 SDK 버전 :
- 프로젝트명 :
- 스테이터스 코드 :
- 에러 코드 :
- 에러 메시지 :
뒤끝 개발팀을 통한 별도의 기술지원이 작업이 필요한 요청은 help@backnd.com 으로 문의해주시기 바랍니다.
데이터베이스를 사용한 리더보드에 json 타입으로 현재 캐릭터가 장비한 장착정보를 보내려고하는데 json 타입으로 데이터베이스 Update를 호출했을땐 정상적으로 기입이 되는데 Backend.Leaderboard.User.UpdateMyDataAndRefreshLeaderboard 를 통해 업데이트를 할경우 json 데이터가 올라가지 않는거같아서 Param 처리에 문제가 있나 해서 질문드립니다.
public async UniTask<bool> SubmitGuildBossResult(ulong score)
{
// 화이트 리스트 유저는 랭킹에 집계하지 않음
if (BackendManager.Instance.IsWhiteList == true)
return false;
// 계정연동이 안된 계정은 랭킹에 집계하지 않음
BackendLoginType authenticate = PlayerPrefsKey.Auth.LoadObject(defaultValue: BackendLoginType.None);
if (authenticate == BackendLoginType.None || authenticate == BackendLoginType.Guest)
return false;
var findTask = BackendManager.Instance.DBClient.From<BACKND.Database.Guildbossrecord>().FirstOrDefault();
var findResult = await findTask;
if (findTask.IsFaulted || findTask.IsCanceled)
return false;
//데이터가 없는경우 생성
if (findResult == null)
{
var newData = new Guildbossrecord();
var insertTask = BackendManager.Instance.DBClient.From<BACKND.Database.Guildbossrecord>().Insert(newData);
var insertResult = await insertTask;
if (insertTask.IsCanceled || insertTask.IsFaulted)
return false;
findTask = BackendManager.Instance.DBClient.From<BACKND.Database.Guildbossrecord>().FirstOrDefault();
findResult = await findTask;
if (findTask.IsFaulted || findTask.IsCanceled)
return false;
}
//데이터 갱신
if (findResult.Record < score)
{
findResult.Record = score;
findResult.Equipinfo = new UserViewInfo();
findResult.Equipinfo.Parse(UserGameData.Get().UserBackendData);
var updateTask = BackendManager.Instance.DBClient.From<BACKND.Database.Guildbossrecord>().Update(findResult);
var updateResult = await updateTask;
if (updateTask.IsCanceled || updateTask.IsFaulted)
return false;
var attr = typeof(Guildbossrecord).GetCustomAttribute<TableAttribute>();
if (attr == null)
return false;
string tableName = attr?.TableName;
//Param param = new Param();
//param.Add("record", findResult.Record);
//param.Add("extradata", findResult.Equipinfo);
////데이터베이스 갱신과 리더보드 갱신이 같이 처리됨
//var bro = Backend.Leaderboard.User.UpdateMyDataAndRefreshLeaderboard(
// BackendManager.Instance.GetServerSetting().guildBossRankUUID,
// tableName,
// findResult.GetPrimaryKey(),
// param);
//if (bro.IsSuccess() == false)
//{
// return false;
//}
}
return true;