Preview:
public class LoadSaveManager : MonoBehaviour
{
    // Save game data
    public class GameStateData
    {
        public struct DataTransform
        {
            public float posX;
            public float posY;
            public float posZ;

            public float rotX;
            public float rotY;  
            public float rotZ;

            public float scaleX;
            public float scaleY;
            public float scaleZ;
        }

        // Data for enemy
        public class DataEnemy
        {
            // Enemy Transform Data
            public DataTransform posRotScale;
            // Enemy ID
            public int enemyID;
            // Health
            public int health;
        }

        // Data for player
        public class DataPlayer
        {
            public bool isSaved;
            // Transform Data
            public DataTransform posRotScale;
            // Collected combo power up?
            public bool collectedCombo;
            // Collected spell power up?
            public bool collectedSpell;
            // Has Collected sword ?
            public bool collectedSword;
            // Health
            public int health;
        }

        public List<DataEnemy> enemies = new List<DataEnemy>();
        public DataPlayer player = new DataPlayer();
    }

    // Game data to save/load
    public GameStateData gameState = new GameStateData();
    
    // Saves game data to XML file
    public void Save(string fileName = "GameData.xml")
    {
        EncryptedXmlSerializer.Save<GameStateData>(fileName, gameState);
    }

    // Load game data from XML file
    public void Load(string fileName = "GameData.xml")
    {
        EncryptedXmlSerializer.Load<GameStateData>(fileName);
    }
}
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter