Saload

Saload is a tool to save and load data efficiently into games.

Download Asset View on GitHub

Saload

Saload is a tool to save and load data efficiently into games.

saload icon logo

Why use Saload?

(note: To be able to track the saved custom created objects use .saload extension to the binary file name while saving data.)

Documentation

Namespace

Classes

API Reference

Namespace

Importing the Namespace

using Saload;

Classes

1. Save

SetKey
void SetKey<T>(string key, T data)
Parameter Name Data Type Description
key string key by which you can access or refer to saved data later
data generic (any) data you want to save

For ex. For saving coins data use key= “coins” to access the coins data later with this name.

Code Example

    public void SaveScore()
    {
        int data =score;
        //Saving a integer data with key named “Score”
        Save.SetKey<int>("Score", data);
    }
    public void SaveName()
    {
        string data = name.text;
        //Saving a string data with key named “Player_Name”
        Save.SetKey<string>("Player_Name", data);
    }

    public void SavePersonalDetails()
    {
        string name = player_name.text;
        string p_nickname = nickname.text;
        string p_email = email.text;
        //Creating PersonalDetails object named person
        PersonalDetails person = new PersonalDetails(name,p_nickname,p_email);
        //Saving data of type PersonalDetails
        Save.SetKey<PersonalDetails>("Details", person);
    }

And Personal Details class looks like

    [System.Serializable]
    public class PersonalDetails
    {
        public PersonalDetails(string name, string nickname,string email)
        {
            this.name = name;
            this.nickname = nickname;
            this.email = email;
        }
        public string name;
        public string nickname;
        public string email;
    }

Note: To be able to save custom type data make sure class is serializable. using [System.Serialization]

2. Load

GetKey
T GetKey<T>(string key)
Parameter Name Data Type Description
key String key of data to access.

Code Example

    public void LoadScore()
    {
        //load integer from key “Score”
        score.text = Load.GetKey<int>("Score").ToString();
    }
    public void LoadName()
    {
        //Load string from key “Player_Name”
        name.text = Load.GetKey<string>("Player_Name");
    }
    public void LoadPersonalDetails()
    {
        //Loading PersonalDetails object from key “Details”
        PersonalDetails person = Load.GetKey<PersonalDetails>("Details");
        if(person !=null)
        {
            player_name.text = person.name;
            nickname.text = person.nickname;
            email.text = person.email;
        }
    }

Dealing with big chunks of data

If planning or developing a game with lots of quests, accessories, items etc. Then tackling large amount of data is very hard and tricky. Saload provide a way to easily and efficiently save and load game data.

To save and load large amount of data:

Code Example

    //Creating serializable class whose object is to be saved
    [System.Serializable]
    public class PersonalDetails
    {
        public PersonalDetails(string name, string nickname,string email)
        {
            this.name = name;
            this.nickname = nickname;
            this.email = email;
        }
        public string name;
        public string nickname;
        public string email;
    }
    // Saving Personal Detail object data
    public void SavePersonalDetails()
    {
        string name = player_name.text;
        string p_nickname = nickname.text;
        string p_email = email.text;
        PersonalDetails person = new PersonalDetails(name,p_nickname,p_email);
        Save.SetKey<PersonalDetails>("Details", person);
    }
    //Loading Personal Detail Data.
    public void LoadPersonalDetails()
    {
        PersonalDetails person = Load.GetKey<PersonalDetails>("Details");
        if(person !=null)
        {
            player_name.text = person.name;
            nickname.text = person.nickname;
            email.text = person.email;
        }
    }

License

MIT