コード例 #1
0
    public void SaveData()
    {
        myInven = FindObjectOfType <Howling.Inventory>();
        //myBox = FindObjectOfType<BoxSlotManager>();

        // 저장할 데이터
        saveData.gameTime = gameClock.GetTime();
        saveData.gameDay  = gameClock.day;

        saveData.playerPos     = myPlayer.transform.position;
        saveData.playerRot     = myPlayer.transform.eulerAngles;
        saveData.playerHp      = myPlayerStatus.GetHP();
        saveData.playerSp      = myPlayerStatus.GetSP();
        saveData.playerHungry  = myPlayerStatus.GetHungry();
        saveData.playerThirsty = myPlayerStatus.GetThirsty();


        Howling.Slot[] invenSlots = myInven.GetInvenSlots();
        for (int i = 0; i < invenSlots.Length; i++)
        {
            if (invenSlots[i].item != null)
            {
                saveData.invenArrayNumber.Add(i);
                saveData.invenItemName.Add(invenSlots[i].item.ItemName);
                saveData.invenItemNumber.Add(invenSlots[i].itemCount);
            }
        }

        saveData.wolfPos      = myWolf.transform.position;
        saveData.wolfRot      = myWolf.transform.eulerAngles;
        saveData.wolfHp       = myWolf.Hp;
        saveData.wolfHungry   = myWolf.Hungry;
        saveData.wolfFriendly = myWolf.Friendly;

        //

        string json = JsonUtility.ToJson(saveData);

        File.WriteAllText(SAVE_DATA_DIRECTORY + SAVE_FILENAME, json);

        Debug.Log("저장 완료 !");
        Debug.Log(json);
    }
コード例 #2
0
    public void LoadData()
    {
        if (!File.Exists(SAVE_DATA_DIRECTORY + SAVE_FILENAME))
        {
            Debug.Log("세이브 파일이 없다 !");
        }
        else
        {
            string loadJson = File.ReadAllText(SAVE_DATA_DIRECTORY + SAVE_FILENAME);
            saveData = JsonUtility.FromJson <SaveData>(loadJson);

            myInven = FindObjectOfType <Howling.Inventory>();

            // 로드할 데이터
            gameClock.SetTime(saveData.gameTime, saveData.gameDay);
            enemiesManager.bearOldDay = saveData.gameDay;

            myPlayer.transform.position    = saveData.playerPos;
            myPlayer.transform.eulerAngles = saveData.playerRot;
            myPlayerStatus.SetHP(saveData.playerHp);
            myPlayerStatus.SetSP(saveData.playerHp);
            myPlayerStatus.SetHungry(saveData.playerHungry);
            myPlayerStatus.SetThirsty(saveData.playerThirsty);


            for (int i = 0; i < saveData.invenItemName.Count; ++i)
            {
                myInven.LoadToInven(saveData.invenArrayNumber[i], saveData.invenItemName[i], saveData.invenItemNumber[i]);
            }

            myWolf.transform.position    = saveData.wolfPos;
            myWolf.transform.eulerAngles = saveData.wolfRot;
            myWolf.Hp       = saveData.wolfHp;
            myWolf.Hungry   = saveData.wolfHungry;
            myWolf.Friendly = saveData.wolfFriendly;
            //
            Debug.Log("로드 완료 !");
        }
    }