뒤끝 정보

뒤끝 정보는 유저의 게임 정보와 트랜잭션이나 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

현재의 코드의 상태는 여러 오브젝트에서 호출하여 뒤죽박죽이여서 하나의 싱클톤을 생성하여 관리할 예정이다. 리팩토링 과정을 거치고 다시 포스팅할 예정이다.