(8) Reusable Codes - AndiALH/Incremental-Game-Firebase GitHub Wiki

6. Reusable Codes

6.1 Load and Save Progress module

6.1.1 Description

Modul ini digunakan untuk mengimplementasikan konsep load dan save data progress. Misalkan game memiliki progress seperti level karakter atau uang yang dimiliki. Modul ini memiliki metode yang dapat mengatur progress tersebut, baik untuk menyimpan data progress, melakukan load terhadap progress diawal permainan, dan juga membuat penyimpanan progress baru jika belum ada penyimpanan progress sebelumnya. Untuk load progress ada dua metode yang dapat digunakan, yaitu untuk load data dari local maupun cloud. Sedangkan ketika melakukan save data, ada opsi untuk meng-upload data ke local dan cloud ataupun local saja.

Modul ini terdiri dari class bernama UserDataManager.cs yang berfungsi untuk mengolah progress data tersebut, dan UserProgressData.cs yang berfungsi sebagai class yang menyimpan atribut-atribut yang ingin disimpan sebagai progress.

6.1.2 How to Use

Pertama, tentukan atribut apa saja yang ingin disimpan dan masukkan ke dalam class UserProgressData.cs sebagai atribut dari class tersebut. Kemudian, untuk melakukan load dapat memanggil fungsi LoadFromLocal() atau LoadFromCloud() dari class UserDataManager.cs. Dan untuk melakukan save, assign semua nilai atribut yang ingin disimpan pada objek UserProgressData.cs yang disimpan pada class UserDataManager dengan nama variabel Progress, dan setelah semua atribut yang ingin disimpan telah di assign nilainya, panggil fungsi dari class UserDataManager yaitu Save(), atau Save(true) jika progress juga ingin disimpan pada cloud. Namun, jika tidak menggunakan cloud storage atau cloud storage yang digunakan bukan menggunakan Firebase, maka fungsi LoadFromCloud() dan Save() harus diubah kembali.