This is an old revision of the document!


Sisteme de gestiune a datelor

Cerinte

Realizati o secventa de 3 scene in Unity cu urmatoarele functionalitati:

  • O scena cu un meniu principal:
    • Din care sa se selecteze dificultatea jocului
    • Sa se introduca un nume
    • Un buton de load game
  • O prima scena de joc cu un player
    • se afiseaza UI cu XP, nume si healthbar
    • playerul este controlabil si poate ataca
    • playerul are viata si XP
    • exista 1 sau mai multi inamici in scena
      • inamicul are viata mai mare sau mai mica in functie de dificultatea selectata
      • eliminarea unui inamic de catre player duce la castigarea de XP
      • XP oferit de inamic este in functie de dificultatea selectata
  • Un portal catre un nou level de joc (o noua scena)
    • personajul isi pastreaza informatiile de viata si XP si se afiseaza UI-ul similar
  • Un buton de save game pe UI

Documentatie video

Inregistrare pe Teams

Documentatie extinsa text

PlayerPrefs

PlayerPrefs este o sectiune de setari statice, valabile pentru o aplicatie (un Player Unity, de unde si numele de PlayerPrefs). Asadar, PlayerPrefs este dedicat setarilor de player in general ca rezolutie, volum, etc, dar poate fi folosit in variante simple si pentru alte lucruri simple (de ex un username, daca este local).

Permite o salvare limitata ca dimensiune de valori Int, Float sau String intr-un index de tip key-value.

Atentie! Toate datele se salveaza in format text pe disc, nu exista nici o forma de protectie/criptare. Asadar, nu se salveaza informatii sensibile (parole etc.)

PlayerPrefs.SetInt("score",5);
PlayerPrefs.SetFloat("volume",0.6f);
PlayerPrefs.SetString("username","John Doe");
PlayerPrefs.Save();
 
 
int score = PlayerPrefs.GetInt("score");
float volume = PlayerPrefs.GetFloat("volume");
string player = PlayerPrefs.GetString("username");

Don't Destroy On Load

Încărcarea unei noi Scene distruge toate obiectele Scenei curente. Astfel, puteti folosi Object.DontDestroyOnLoad pentru a păstra un obiect în timpul încărcării unei noi scene. Dacă obiectul țintă este o componentă sau GameObject, Unity păstrează, de asemenea, toți copiii din ierarhie. Object.DontDestroyOnLoad funcționează numai pentru GameObject root sau componente de pe GameObjects root (adica copii directi ai scenei in ierarhie).

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class MyPlayerClass: MonoBehaviour
{
    void Awake()
    {
        DontDestroyOnLoad(gameObject);
    }
}
pjv/laboratoare/2023/10.1702294025.txt.gz · Last modified: 2023/12/11 13:27 by alexandru.gradinaru
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0