public void SetShopData() { // 플레이어 InDate string InDate = Backend.BMember.GetUserInfo().GetInDate(); BackendReturnObject contents = Backend.GameSchemaInfo.Get("Shop", InDate); JsonData data = contents.Rows()[0]; if (data.Keys.Contains("Adblock")) { var temp = (bool)data["Adblock"]["BOOL"]; Adblock = temp; } if (data.Keys.Contains("StartPackage")) { var temp = (bool)data["StartPackage"]["BOOL"]; OnPackage = temp; } if (data.Keys.Contains("UseStartPackage")) { var temp = (bool)data["UseStartPackage"]["BOOL"]; UsePackage = temp; } }
} // 스태프를 구분하는 코드 public Staff(JsonData Data) { Code = int.Parse(Data["num"]["S"].ToString()); Name = Data["Name"]["S"].ToString(); string indate = Backend.BMember.GetUserInfo().GetInDate(); Debug.Log(Backend.GameSchemaInfo.Get("Staff", indate).GetStatusCode()); if (Backend.GameSchemaInfo.Get("Staff", indate).GetStatusCode() == "200") { BackendReturnObject contents = Backend.GameSchemaInfo.Get("Staff", indate); var rows = contents.Rows(); JsonData data = rows[0]; string InfoName = "Staff" + Code.ToString(); if (data.Keys.Contains(InfoName)) { Level = int.Parse(data[InfoName]["N"].ToString()); } else { Debug.Log("그없"); } } else { Level = 0; Param param = new Param(); param.Add("Staff" + Code.ToString(), Level); Backend.GameSchemaInfo.Insert("Staff", param, (callback) => { }); // 비동기 } Default_Pay = int.Parse(Data["Pay"]["S"].ToString()); Default_Directing = int.Parse(Data["Directing"]["S"].ToString()); Default_Cost = int.Parse(Data["Cost_Upgrade"]["S"].ToString()); Plus_Pay = int.Parse(Data["Plus_Pay"]["S"].ToString()); Plus_Directing = int.Parse(Data["Plus_Directing"]["S"].ToString()); Plus_Cost = int.Parse(Data["Plus_Cost"]["S"].ToString()); Pay = Default_Pay + ((Level - 1) * Plus_Pay); Directing = Default_Directing + ((Level - 1) * Plus_Directing); Cost_Purchase = int.Parse(Data["Cost_Purchase"]["S"].ToString()); Cost_Upgrade = Default_Cost + ((Level - 1) * Plus_Cost); IsPurchase = Level == 0 ? false : true; }
/// <summary> /// InitStageInfo() 비동기 접속 성공시 호출 /// </summary> void LoadGameRecordData(BackendReturnObject bro) { var rows = bro.Rows(); // # 1. if (rows.Count > 0) { LogMonitor.instance.AddLog("There are data"); string jsonData = rows[0]["jsonData"]["S"].ToString(); DataContainer.instance.SetGameRecordFromJson(jsonData); LogMonitor.instance.AddLog("data load done"); } // # 2. else { LogMonitor.instance.AddLog("There are no data"); } }
public void LoadData() { // 플레이어 InDate string InDate = Backend.BMember.GetUserInfo().GetInDate(); // 서버에서 Player테이블의 데이터를 받아옴 var Info = Backend.GameSchemaInfo.Get("Player", InDate); NickName = Backend.BMember.GetUserInfo().GetReturnValuetoJSON()["row"]["nickname"].ToString(); // Player테이블의 데이터를 받아오는데 성공 if (Info.GetStatusCode() == "200") { BackendReturnObject contents = Backend.GameSchemaInfo.Get("Player", InDate); JsonData data = contents.Rows()[0]; if (data.Keys.Contains("Money")) { Money = long.Parse(data["Money"]["N"].ToString()); } if (data.Keys.Contains("Month")) { Month = int.Parse(data["Month"]["N"].ToString()); } if (data.Keys.Contains("Day")) { Day = int.Parse(data["Day"]["N"].ToString()); } if (data.Keys.Contains("DefaultSuccess")) { DefaultSuccess = PlayerPrefs.GetInt(PLAYERPREFSLIST.DEFAULT_SUCCESS, int.Parse(data["DefaultSuccess"]["N"].ToString())); } if (data.Keys.Contains("BestQuality")) { Best_Quality = float.Parse(data["BestQuality"]["N"].ToString()); } if (data.Keys.Contains("BestAudience")) { Best_Audience = int.Parse(data["BestAudience"]["N"].ToString()); } if (data.Keys.Contains("BestProfit")) { Best_Profit = long.Parse(data["BestProfit"]["N"].ToString()); } Debug.Log("기존 데이터 불러오기"); } // Player테이블의 데이터를 받아오는데 실패 else { Param param = new Param(); param.Add("Money", PLAYER.DEFAULT_MONEY); param.Add("Year", PLAYER.DEFAULT_YEAR); param.Add("Month", PLAYER.DEFAULT_MONTH); param.Add("DefaultSuccess", PLAYER.DEFAULT_SUCCESS); param.Add("BestQuality", 0); param.Add("BestAudience", 0); param.Add("BestProfit", 0); Backend.GameSchemaInfo.Insert("Player", param); // 동기 Money = PLAYER.DEFAULT_MONEY; //Year = PLAYER.DEFAULT_YEAR; Month = PLAYER.DEFAULT_MONTH; DefaultSuccess = PLAYER.DEFAULT_SUCCESS; Debug.Log("새 데이터 생성"); } // 서버로부터 Shop테이블의 데이터를 받아옴 Info = Backend.GameSchemaInfo.Get("Shop", InDate); // Shop테이블의 데이터를 받아오는데 성공 if (Info.GetStatusCode() == "200") { BackendReturnObject contents = Backend.GameSchemaInfo.Get("Shop", InDate); JsonData data = contents.Rows()[0]; if (data.Keys.Contains("Adblock")) { var temp = (bool)data["Adblock"]["BOOL"]; Adblock = temp; } if (data.Keys.Contains("StartPackage")) { var temp = (bool)data["StartPackage"]["BOOL"]; OnPackage = temp; } if (data.Keys.Contains("UseStartPackage")) { var temp = (bool)data["UseStartPackage"]["BOOL"]; UsePackage = temp; } } // Shop테이블의 데이터를 받아오는데 실패 else { Param param = new Param(); param.Add("Adblock", false); param.Add("StartPackage", false); param.Add("UseStartPackage", false); // 서버에 새로운 데이터 삽입 Backend.GameSchemaInfo.Insert("Shop", param); // 동기 Adblock = false; OnPackage = false; UsePackage = false; } // 서버로부터 PlayData테이블의 데이터를 받아옴 Info = Backend.GameInfo.GetPrivateContents("PlayData"); if (Info.GetStatusCode() == "200") { Debug.Log("PlayData 테이블의 데이터를 받아오는데 성공"); // PlayData테이블의 데이터를 받아오는데 성공 if (Info.GetReturnValuetoJSON()["rows"].Count > 0) { Debug.Log("PlayData테이블 데이터 있음"); var data = BackendReturnObject.Flatten(Info.Rows()); var Json = Info.Rows()[0]; if (Json.Keys.Contains("Scenario")) { if (Json["Scenario"].Keys.Contains("NULL")) { NowScenario = null; MaxActor = 0; } else { int code = int.Parse(Json["Scenario"]["N"].ToString()); NowScenario = ScenarioData.Instance.FindScenario(code); MaxActor = NowScenario.Actors; } } if (Json.Keys.Contains("NowStep")) { SetStep((Step)int.Parse(Json["NowStep"]["N"].ToString())); } if (Json.Keys.Contains("Play_Quality")) { Play_Quality = float.Parse(Json["Play_Quality"]["N"].ToString()); } if (Json.Keys.Contains("Play_Marketing")) { Play_Marketing = float.Parse(Json["Play_Marketing"]["N"].ToString()); } if (Json.Keys.Contains("Play_Success")) { Play_Success = float.Parse(Json["Play_Success"]["N"].ToString()); } if (Json.Keys.Contains("Quality_Acting")) { Quality_Acting = int.Parse(Json["Quality_Acting"]["N"].ToString()); } if (Json.Keys.Contains("Quality_Scenario")) { Quality_Scenario = float.Parse(Json["Quality_Scenario"]["N"].ToString()); } if (Json.Keys.Contains("Quality_Direction")) { Quality_Direction = float.Parse(Json["Quality_Direction"]["N"].ToString()); } if (Json.Keys.Contains("Plus_Direction")) { Plus_Direction = float.Parse(Json["Plus_Direction"]["N"].ToString()); } if (Json.Keys.Contains("Period")) { Period = int.Parse(Json["Period"]["N"].ToString()); } if (Json.Keys.Contains("LeftDays")) { LeftDays = float.Parse(Json["LeftDays"]["N"].ToString()); } } // PlayData테이블의 데이터를 받아오는데 실패 else { Debug.Log("PlayData테이블의 데이터를 받아오는데 실패"); Reset(); Param param = new Param(); if (NowScenario == null) { param.AddNull("Scenario"); } else { param.Add("Scenario", NowScenario.No); } param.Add("NowStep", (int)NowStep); param.Add("Play_Quality", Play_Quality); param.Add("Play_Marketing", Play_Marketing); param.Add("Play_Success", Play_Success); param.Add("Quality_Acting", Quality_Acting); param.Add("Quality_Scenario", Quality_Scenario); param.Add("Quality_Direction", Quality_Direction); param.Add("Plus_Direction", Plus_Direction); param.Add("Period", Period); param.Add("LeftDays", LeftDays); Backend.GameInfo.Insert("PlayData", param); Debug.Log("PlayData -> 새로운 데이터 생성"); } } // 서버로부터 Actors테이블의 데이터를 받아옴 Info = Backend.GameInfo.GetPrivateContents("Actors"); if (Info.GetStatusCode() == "200") { Debug.Log("Actors 테이블의 데이터를 받아오는데 성공"); // Actors 테이블의 데이터를 받아오는데 성공 if (Info.GetReturnValuetoJSON()["rows"].Count > 0) { Debug.Log("Actors 테이블 데이터 있음"); var Data = Info.Rows()[0]; for (int i = 0; i < MaxActor; i++) { if (Data.Keys.Contains("Actor" + i)) { int No = int.Parse(Data["Actor" + i]["N"].ToString()); var temp = ActorData.Instance.FindActor(No); Actors.Add(temp); } } NowActor = Actors.Count(); } // Actors 테이블의 데이터를 받아오는데 실패 else { Debug.Log("Actors 테이블 데이터 없음"); Actors.Clear(); } } // 서버로부터 Illust테이블의 데이터를 받아옴 Info = Backend.GameInfo.GetPrivateContents("Illust"); if (Info.GetStatusCode() == "200") { Debug.Log("Illust 테이블의 데이터를 받아오는데 성공"); // Illust 테이블의 데이터를 받아오는데 성공 if (Info.GetReturnValuetoJSON()["rows"].Count > 0) { Debug.Log("Illust 테이블 데이터 있음"); var Data = Info.Rows()[0]; for (int i = 0; Data.Keys.Contains("Illust" + i); i++) { var temp = (bool)Data["Illust" + i]["BOOL"]; ScenarioIllust[i] = temp; } } // Illust 테이블의 데이터를 받아오는데 실패 else { Debug.Log("Illust 테이블 데이터 없음"); for (int i = 0; i < ScenarioIllust.Length; i++) { ScenarioIllust[i] = false; } } } // 서버로부터 Illust테이블의 데이터를 받아옴 Info = Backend.GameInfo.GetPrivateContents("Illust"); if (Info.GetStatusCode() == "200") { Debug.Log("Illust 테이블의 데이터를 받아오는데 성공"); // Illust 테이블의 데이터를 받아오는데 성공 if (Info.GetReturnValuetoJSON()["rows"].Count > 0) { Debug.Log("Illust 테이블 데이터 있음"); var Data = Info.Rows()[0]; for (int i = 0; Data.Keys.Contains("Illust" + i); i++) { var temp = (bool)Data["Illust" + i]["BOOL"]; ScenarioIllust[i] = temp; } } // Illust 테이블의 데이터를 받아오는데 실패 else { Debug.Log("Illust 테이블 데이터 없음"); for (int i = 0; i < ScenarioIllust.Length; i++) { ScenarioIllust[i] = false; } } } }
/// <summary> /// GameRecord 정보를 뒤끝 db로 업로드 /// </summary> public void SaveGameRecordData() { LogMonitor.instance.AddLog("SaveGameRecordData() is called ..."); Param param = new Param(); string jsonData = DataContainer.instance.GetGameRecordToJson(); param.Add("jsonData", jsonData); //// lv1 ~ lv5 column 채우기. //for (int i = 1; i < PlayerPrefs.GetInt("level"); i++) //{ // // 각 레벨 column에 레벨별 기록한 시간을 저장 // float totalTime = DataContainer.instance.GetGameRecordStagesTotalTime(i); // param.Add("lv" + i, (int)Mathf.Round(totalTime * 100)); //} //// 아직 레벨스코어가 없다면(다 깨지 않아서) infinity로 초기화 //for (int i = PlayerPrefs.GetInt("level"); i <= 5; i++) //{ // param.Add("lv" + (i).ToString(), 123456789); //} BackendReturnObject bro = Backend.GameInfo.GetPrivateContents("gameRecord"); var rows = bro.Rows(); // 데이터가 있는 경우. -> Update if (rows.Count > 0) { string indate = rows[0]["inDate"]["S"].ToString(); Backend.GameInfo.Update("gameRecord", indate, param, (callback) => { if (callback.IsSuccess()) { LogMonitor.instance.AddLog("SaveGameRecordData() -> Update is success"); } else { LogMonitor.instance.AddLog("SaveGameRecordData() -> Update is fail"); LogMonitor.instance.AddLog($"error : {callback}"); } }); } // 데이터가 없는 경우. -> Insert else { Backend.GameInfo.Insert("gameRecord", param, (callback) => { if (callback.IsSuccess()) { LogMonitor.instance.AddLog("SaveGameRecordData() -> Insert is success"); LogMonitor.instance.AddLog($"indate : {callback.GetInDate()}"); } else { LogMonitor.instance.AddLog("SaveGameRecordData() -> Insert is fail"); LogMonitor.instance.AddLog($"error : {callback}"); } }); } }