Пример #1
0
    public void ChestLoad(int id)
    {
        Debug.Log("Loading Chest.."); //ładowanie skrzyni

        idbch = gameObject.GetComponent <itemDataBaseChest>();

        if (GameObject.FindGameObjectWithTag("chest") == null) //jeżeli znajduje się taki przedmiot na mapie
        {
            return;
        }
        ChestTrigger chest = GameObject.FindGameObjectWithTag("chest").GetComponent <ChestTrigger>();


        //  File.Delete(Application.persistentDataPath + "/ChestRecord" + id + ".data");

        //Zanim odczytamy dane upewnijmy się, że jest co czytać.
        //Sprawdzamy czy plik zapisu istnieje.
        if (File.Exists(Application.persistentDataPath + "/ChestRecord" + id + ".data"))
        {
            //Odczytujemy/pobieramy dane z pliku.

            FileStream file = File.Open(Application.persistentDataPath + "/ChestRecord" + id + ".data", FileMode.Open);



            //Posłuży do odczytu danych do pliku.
            BinaryFormatter bf = new BinaryFormatter();

            // Deserializujemy dane z pliku i przekształcamy je na obiekt GraczData.

            ChestData chdata = (ChestData)bf.Deserialize(file);

            file.Close(); //Plik odczytany zamykamy plik.

            //Ustawiamy dane;

            chest.visited = chdata.visited;
            for (int i = 0; i < chdata.AmuletsCount.Length; i++)
            {
                Debug.Log("zerowanie");
                idbch.AmuletsCount[i] = 0;
            }
            for (int i = 0; i < chdata.Main_WeaponCount.Length; i++)
            {
                idbch.Main_WeaponCount[i] = 0;
                Debug.Log("zerowanie");
            }
            for (int i = 0; i < chdata.Secon_WeaponCount.Length; i++)
            {
                idbch.Secon_WeaponCount[i] = 0;
                Debug.Log("zerowanie");
            }
            for (int i = 0; i < chdata.TasksCount.Length; i++)
            {
                idbch.TasksCount[i] = 0;
                Debug.Log("zerowanie");
            }
            for (int i = 0; i < chdata.ArmorsCount.Length; i++)
            {
                idbch.ArmorsCount[i] = 0;
                Debug.Log("zerowanie");
            }
            for (int i = 0; i < chdata.BootsCount.Length; i++)
            {
                idbch.BootsCount[i] = 0;
                Debug.Log("zerowanie");
            }
            for (int i = 0; i < chdata.LegsCount.Length; i++)
            {
                idbch.LegsCount[i] = 0;
                Debug.Log("zerowanie");
            }

            for (int i = 0; i < chdata.AmuletsCount.Length; i++)
            {
                Debug.Log(i);
                idbch.AmuletsCount[i] = chdata.AmuletsCount[i];
            }
            for (int i = 0; i < chdata.Main_WeaponCount.Length; i++)
            {
                idbch.Main_WeaponCount[i] = chdata.Main_WeaponCount[i];
            }
            for (int i = 0; i < chdata.Secon_WeaponCount.Length; i++)
            {
                idbch.Secon_WeaponCount[i] = chdata.Secon_WeaponCount[i];
            }
            for (int i = 0; i < chdata.TasksCount.Length; i++)
            {
                idbch.TasksCount[i] = chdata.TasksCount[i];
            }
            for (int i = 0; i < chdata.ArmorsCount.Length; i++)
            {
                idbch.ArmorsCount[i] = chdata.ArmorsCount[i];
            }
            for (int i = 0; i < chdata.BootsCount.Length; i++)
            {
                idbch.BootsCount[i] = chdata.BootsCount[i];
            }
            for (int i = 0; i < chdata.LegsCount.Length; i++)
            {
                idbch.LegsCount[i] = chdata.LegsCount[i];
            }
        }
        idbch.Instantiate();

        Debug.Log("Loading Chest END");
    }