뒤끝 정보
뒤끝 정보는 유저의 게임 정보와 트랜잭션이나 Where 절을 통해 관리할 수 있다. 현재 프로젝트에서 주로 사용하는 코드만 포스팅하였다.
1)테이블 조회
모든 테이블의 정보를 가져옴
Backend.GameData.GetTableList();
{
//GetReturnValueToJSON
// 요청을 처리한 서버 시간
"serverTime":"2021-02-01T05:19:56.853Z",
"tables":
[
{
"tableName":"tableName", // 테이블 이름
"tableExplaination":"테이블 설명", // 테이블 설명
"isChecked":true, // 활성화 여부(콘솔의 테이블 관리에서 클릭을 통해 ON/OFF 가능)
"hasSchema":false // 스키마 유무
},
{
"tableName":"tableName2", // 테이블 이름
"tableExplaination":"테이블 설명 2", // 테이블 설명
"isChecked":true, // 활성화 여부(콘솔의 테이블 관리에서 클릭을 통해 ON/OFF 가능)
"hasSchema":false // 스키마 유무
},
...
]
}
2)게임 정보 삽입
테이블에 row를 추가함
Param lunch = new Param();
lunch.Add("how much", 332);
lunch.Add("when", "yesterday");
lunch.Add("what", "eat chocolate");
Dictionary<string, int> dic = new Dictionary<string, int>
{
{ "dic1", 1 },
{ "dic4", 2 },
{ "dic2", 4 }
};
Dictionary<string, string> dic2 = new Dictionary<string, string>
{
{ "mm", "j" },
{ "nn", "n" },
{ "dd", "2" }
};
String[] list = { "a", "b" };
int[] list2 = { 400, 500, 600 };
Param param = new Param();
param.Add("이름", "cheolsu");
param.Add("score", 99);
param.Add("lunch", lunch);
param.Add("dic_num", dic);
param.Add("dic_string", dic2);
param.Add("list_string", list);
param.Add("list_num", list2);
Backend.GameData.Insert ( "tableName", param );
3)내 게임 정보 가져오기
자기 자신이 소유한 데이터 중 지정한 1개의 row를 조회합니다.
// select[]를 이용하여 리턴 시, owner_inDate와 score만 출력되도록 설정
string[] select = {"owner_inDate", "score"};
// 테이블 내 해당 rowIndate를 지닌 row를 조회
var bro = Backend.GameData.GetMyData("tableName", "rowIndate");
Debug.Log(bro);
// 테이블 내 해당 rowIndate를 지닌 row를 조회
// select에 존재하는 컬럼만 리턴
bro = Backend.GameData.GetMyData("tableName", "rowIndate", select);
Debug.Log(bro);
4)내 게임 정보 수정
테이블에 저장되어 있는 값 중 inDate 컬럼의 값과 소유하는 유저의 owner_inDate가 일치하는 row를 검색하여 수정합니다.
// atk 컬럼의 값을 110으로 수정
Param param = new Param();
param.Add("atk", 110);
// 자신의 inDate의 row를 제거
Backend.GameData.UpdateV2( "tableName", inDate, Backend.UserInDate, param );
// 타인의 inDate의 row를 제거
Backend.GameData.UpdateV2( "tableName", inDate, "owner_inDate", param );
5)code
현재의 코드의 상태는 여러 오브젝트에서 호출하여 뒤죽박죽이여서 하나의 싱클톤을 생성하여 관리할 예정이다. 리팩토링 과정을 거치고 다시 포스팅할 예정이다.