Modul de persistență - ȚURCANU Emilian-Eduard #21
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Modul de persistență pe disc
Video demonstrativ
https://youtu.be/zjScNvYPRh4
Persistance.Save(string key, string value)caută cheia dată în fișierul setat:
Dacă cheia există, valoarea este înlocuită.
Dacă nu, este adăugată la finalul fișierului (poate fi îmbunătățit prin adăugare la locația aferentă unei sortări alfabetice, pentru a căuta binar)
Formatul fișierului este:
{cheie1}:{valoare1} {cheie2}:{valoare2}Cheile ce conțin
:sunt ignorate. Salvarea în alt format (ex.JSON) ar rezolva această problemă.Persistance.Load(string key)caută în același fișier cheia cerută:
Dacă este găsită, întoarce valoarea aferentă.
Dacă nu, întoarce
nullAlte informații:
class PlayerControllereste o clasă simplă pentru controlul personajului
class PlayerPropertiesconține proprietățile serializabile aferente clasei
PlayerController:energy- în acest exemplu, scade la fiecare salt (se poate observa în demo)int lifePoints- scade cu un punct de fiecare dată cândenergyajunge la0"jocul" este pierdut dacă
lifePointsajunge la0sau dacă personajul cade de pe cea mai de jos platformă (position.y < offScreenY)Vector3 position(float)Quaternion rotation(float)Am ales această abordare pentru a putea folosi unul dintre (de)serializatoarele incluse în Unity (
JsonUtility-.ToJson(),.FromJson())