Skip to content

Conversation

@eeTurcanu
Copy link

@eeTurcanu eeTurcanu commented Feb 18, 2022

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 null

Alte informații:

class PlayerController

este o clasă simplă pentru controlul personajului

class PlayerProperties

conț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ând energy ajunge la 0
    "jocul" este pierdut dacă lifePoints ajunge la 0 sau 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())

@eeTurcanu eeTurcanu changed the title Modul de persistenta - ȚURCANU Emilian-Eduard Modul de persistență - ȚURCANU Emilian-Eduard Feb 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant