コード例 #1
0
    // Carrega dados salvo num slot
    public void Carregar(string slot)
    {
        string caminho = string.Concat(Application.persistentDataPath, "/", slot);

        // Verifica se arquivo existe
        if (File.Exists(caminho))
        {
            // Abre arquivo e formatter
            BinaryFormatter binaryFormatter = new BinaryFormatter();
            FileStream      fileStream      = File.Open(caminho, FileMode.Open);

            // Carrega dados
            PlayerData dados = (PlayerData)binaryFormatter.Deserialize(fileStream);
            this.idIdioma           = dados.LanguageId;
            this.gold               = dados.NumberOfGold;
            this.playerID           = dados.PlayerId;
            this.idArma             = dados.WeaponId;
            this.idArmaAtual        = dados.WeaponId;
            this.idArmaInicial      = dados.WeaponId;
            this.idFlechaEquipada   = dados.EquippedArrowId;
            this.quantidadeFlechas  = dados.NumberOfArrows;
            this.quantidadePocoes   = dados.NumberOfPotions;
            this.itensInventario    = dados.InventoryItems;
            this.aprimoramentoArmas = dados.WeaponsEnhancements;

            // Verifica o inventario
            inventario.itensCarregados.Clear();

            // Recupera dados
            foreach (string item in itensInventario)
            {
                GameObject objeto = Resources.Load <GameObject>(string.Concat("Prefabs/Armas/", item));
                inventario.itensCarregados.Add(objeto);
            }

            inventario.itensInventario.Add(armaInicial[playerID]);
            GameObject tempArma = Instantiate(armaInicial[playerID]);
            inventario.itensCarregados.Add(tempArma);

            vidaAtual = vidaMaxima;
            manaAtual = manaMaxima;

            // Fecha a carrega cena
            fileStream.Close();
            MudarEstado(GameState.GAMEPLAY);
            string nomeCena = "PrimeiraFase 1";
            audioController.ChangeSong(audioController.musicaFase1, nomeCena, true);
        }
        else
        {
            NovoJogo();
        }
    }