Exemplo n.º 1
0
    public void LoadChart(System.Action loadAction)
    {
        BackendAsyncClass.BackendAsync(Backend.Chart.GetChartContents, field, (backendCallback) => {
            JsonData jsonData = backendCallback.GetReturnValuetoJSON()["rows"];
            toolChartInfos    = new ToolChartInfo[jsonData.Count];

            for (int i = 0; i < jsonData.Count; i++)
            {
                toolChartInfos[i] = new ToolChartInfo();
                JsonData rowData  = jsonData[i];
                if (rowData["ToolId"]["S"].ToString() != "null")
                {
                    toolChartInfos[i].ToolId = int.Parse(rowData["ToolId"]["S"].ToString());
                }
                if (rowData["PrefabName"]["S"].ToString() != "null")
                {
                    toolChartInfos[i].Prefab = (GameObject)Resources.Load <GameObject>("프리팹/도구/" + rowData["PrefabName"]["S"].ToString());
                }
                string[] tempStatStringList = rowData["Stat"]["S"].ToString().Split('-');
                if (rowData["Stat"]["S"].ToString() != "null")
                {
                    toolChartInfos[i].Stat = new StatType[tempStatStringList.Length];
                }
                for (int j = 0; j < toolChartInfos[i].Stat.Length; j++)
                {
                    toolChartInfos[i].Stat[j] = (StatType)int.Parse(tempStatStringList[j]);
                }
                if (rowData["StatValue"]["S"].ToString() != "null")
                {
                    toolChartInfos[i].StatValue = new float[tempStatStringList.Length];
                }
                string[] tempStatValueList = rowData["StatValue"]["S"].ToString().Split('-');
                for (int j = 0; j < toolChartInfos[i].StatValue.Length; j++)
                {
                    if (rowData["StatValue"]["S"].ToString() != "null")
                    {
                        toolChartInfos[i].StatValue[j] = float.Parse(tempStatValueList[j]);
                    }
                }
            }
            if (loadAction != null)
            {
                loadAction();
            }
        });
    }
Exemplo n.º 2
0
    // 시작시 도구들을 셋팅한다.
    void ToolSetting()
    {
        int recipeId = 0;

        switch (GameManager.instance.IngameType)
        {
        case IngameType.스토리:
            recipeId = StageChart.instance.GetStageChartInfo(GameManager.instance.currentStageId).RecipeId;
            break;

        case IngameType.랭킹:
            recipeId = GameManager.instance.recipeId;
            break;

        case IngameType.캐릭터승급:
            recipeId = StageChart.instance.GetStageChartInfo(GameManager.instance.currentStageId).RecipeId;
            break;
        }
        RecipeChartInfo recipeChartInfo = RecipeChart.instance.GetRecipeChartInfo(recipeId);
        List <int>      toolList        = new List <int>();

        toolList.Add(recipeChartInfo.FirstToolId);
        toolList.Add(recipeChartInfo.SecondToolId);
        toolList.Add(recipeChartInfo.ThirdToolId);
        toolList.Add(recipeChartInfo.FourthToolId);

        for (int i = 0; i < pannel.childCount; i++)
        {
            Destroy(pannel.GetChild(i).gameObject);
        }

        for (int i = 0; i < toolList.Count; i++)
        {
            ToolChartInfo toolChartInfo = ToolChart.instance.GetToolChartInfo(toolList[i]);

            if (toolChartInfo != null)
            {
                GameObject toolPrepab = ToolChart.instance.GetToolChartInfo(toolList[i]).Prefab;
                toolPrepab = Instantiate(toolPrepab, Vector3.zero, Quaternion.identity, pannel);

                int[] materialList = new int[0];
                float coolTime     = 0;
                int   finishFoodId = 0;

                switch (i)
                {
                case 0:
                    materialList = recipeChartInfo.FirstMaterialId;
                    coolTime     = recipeChartInfo.FirstToolCoolTime;
                    finishFoodId = recipeChartInfo.FirstFinishFoodId;
                    break;

                case 1:
                    materialList = recipeChartInfo.SecondMaterialId;
                    coolTime     = recipeChartInfo.SecondToolCoolTime;
                    finishFoodId = recipeChartInfo.SecondFinishFoodId;
                    break;

                case 2:
                    materialList = recipeChartInfo.ThirdMaterialId;
                    coolTime     = recipeChartInfo.ThirdToolCoolTime;
                    finishFoodId = recipeChartInfo.ThirdFinishFoodId;
                    break;

                case 3:
                    materialList = recipeChartInfo.FourthMaterialId;
                    coolTime     = recipeChartInfo.FourthToolCoolTime;
                    finishFoodId = recipeChartInfo.FourthFinishFoodId;
                    break;
                }

                toolPrepab.GetComponent <Tool>().SetTool(i, toolList[i], materialList, coolTime, finishFoodId);
            }
        }
    }