示例#1
0
    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;
        }
    }
示例#2
0
    }                                     // 스태프를 구분하는 코드

    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");
        }
    }
示例#4
0
    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}");
                }
            });
        }
    }