// Salva dados do jogador num slot armazenado
    public void SaveGame()
    {
        string path = string.Concat(Application.persistentDataPath, "/", PlayerPrefs.GetString("slot"));

        // Abre arquivo e formatter
        using (FileStream fileStream = File.Create(path))
        {
            BinaryFormatter binaryFormatter = new BinaryFormatter();

            // Envia dados
            DadosJogadorRevisao dadosJogadorRevisao = new DadosJogadorRevisao();
            dadosJogadorRevisao.LanguageID         = this.languageID;
            dadosJogadorRevisao.NumberGold         = this.numberGold;
            dadosJogadorRevisao.PlayerID           = this.playerID;
            dadosJogadorRevisao.WeaponID           = this.weaponID;
            dadosJogadorRevisao.EquippedArrowID    = this.equippedArrowID;
            dadosJogadorRevisao.ArrowQuantities    = this.arrowsQuantity;
            dadosJogadorRevisao.PotionQuantities   = this.potionsQuantity;
            dadosJogadorRevisao.InventaryItems     = this.inventaryItems;
            dadosJogadorRevisao.WeaponImprovements = this.weaponImprovements;

            // Verifica o inventario
            this.inventaryItems.Clear();

            foreach (GameObject item in inventarioRevisao.inventaryItems)
            {
                this.inventaryItems.Add(item.name);
            }

            // Serializa dados para arquivo
            binaryFormatter.Serialize(fileStream, dadosJogadorRevisao);
        }
    }
    // Carrega dados salvo num slot
    public void LoadGame(string slot)
    {
        string path = string.Concat(Application.persistentDataPath, "/", slot);

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

                // Carrega dados
                DadosJogadorRevisao dadosJogadorRevisao = binaryFormatter.Deserialize(fileStream) as DadosJogadorRevisao;
                this.languageID         = dadosJogadorRevisao.LanguageID;
                this.numberGold         = dadosJogadorRevisao.NumberGold;
                this.playerID           = dadosJogadorRevisao.PlayerID;
                this.weaponID           = dadosJogadorRevisao.WeaponID;
                this.actualWeaponID     = dadosJogadorRevisao.WeaponID;
                this.initialWeaponID    = dadosJogadorRevisao.WeaponID;
                this.arrowsQuantity     = dadosJogadorRevisao.ArrowQuantities;
                this.potionsQuantity    = dadosJogadorRevisao.PotionQuantities;
                this.inventaryItems     = dadosJogadorRevisao.InventaryItems;
                this.weaponImprovements = dadosJogadorRevisao.WeaponImprovements;

                // Verifica o inventario
                inventarioRevisao.inventaryItems.Clear();

                // Recupera dados
                foreach (string item in this.inventaryItems)
                {
                    GameObject obj = Resources.Load <GameObject> (string.Concat("Prefabs/Weapons/", item));
                    inventarioRevisao.inventaryItems.Add(obj);
                }

                inventarioRevisao.inventaryItems.Add(initialWeapons[weaponID]);
                GameObject temp = Instantiate(initialWeapons[weaponID]);
                inventarioRevisao.loadedItems.Add(temp);

                playerActualLife = playerMaxLife;
                playerActualMana = playerMaxMana;

                // Toca musica e carrega a cena
                string nextScene = "PrimeiraFase";
                audioControllerRevisao.ChangeMusic(audioControllerRevisao.musicStage1, nextScene, true);
            }
        }
        else
        {
            NewGame();
        }
    }