Skip to content

Latest commit

 

History

History
60 lines (55 loc) · 2.81 KB

README.md

File metadata and controls

60 lines (55 loc) · 2.81 KB

Made With Unity License Last Commit Repo Size Last Release

What

flowchart LR
    Unity.Serialization{Unity.Serialization} --> W(Write) & R(Read) 
    click Unity.Serialization "https://docs.unity3d.com/Packages/[email protected]/manual/index.html" _blank
    Data[("Data <br> Profile 0<br>.<br>.<br>.<br> Profile N <br> Dictionary&lt;string,byte[]>")] --> |Default use profile 0| ChangeProfile(ChangeProfile) 
    Data --> |Save on Application pause or quit| SaveToFile(SaveToFile)--> Unity.Serialization
    Data --> |Load when startup| LoadFromFile(LoadFromFile)--> Unity.Serialization
    Data --> Get(Get&lt;T>) & Set(Set&lt;T>) & DeleteKey(DeleteKey) & HasKey(HasKey) & DeleteAll(DeleteAll)
    File{{File Data}} --- W & R
Loading
  • System data for game unity (Unity 2022.3)
  • Using Unity.Serialization to serialize binary data
  • Data allows you to store data in byte[] form in blocks called profiles. Each profile is a Dictionary with the key as a string and the value

How To Install

Add the line below to Packages/manifest.json

for version 1.0.2

"com.wolf-org.game-data":"https://github.com/unity-package/game-data-unity.git#1.0.2",

Use

  • Initialize data when loading the game: GameData.Init() Data will be init (Load Data) automatically when game starts
  • Change Profile: GameData.ChangeProfile(int profile)
  • Load Data: GameData.Load() Load all data from file for game
  • Get Data: GameData.Get("KEY", valueDefault); Use similar to PlayerPrefs
  • Set Data: GameData.Set("KEY", value); Use similar to PlayerPrefs
  • Save Data: GameData.Save() Save data to file (You should save when pausing or quitting the game)
    private void OnApplicationPause(bool pauseStatus)
    {
        if(pauseStatus) GameData.Save();
    }
  • Has Key: GameData.HasKey(string key) To check if the profile has a key,
  • DeleteKey: GameData.DeleteKey(string key) To delete the key from the profile
  • DeleteAll: GameData.DeleteAll() To delete the entire key
  • Backup: GameData.Backup() Get raw byte[] of all data of profile
  • Restore: GameData.Restore(byte[] bytes) Load from byte[]