Feature dialog store #23
Open
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.
Implementari:
Detalii si observatii implementari:
Exemplificat si implementat in scena este un obiect DialogManager care retine numele unui NPC (merchant) si cateva replici ale sale. Optional se aduce si posibilitatea de a deschide, la invitatia acestuia, un panou reprezentand magazinul.
Am implementat o clasa Dialog ce va retine informatiile esentiale precum Nume NPC, linii de dialog si optional actiuni.
Pentru a oferi un exemplu de implementare (si in lipsa altor implementari din main branch) am ales sa pun un buton. Prin apasarea lui se considera ca se interactioneaza cu un NPC si astfel apare linia de dialog mai jos pe ecran.
O coada (queue) a fost folosita pentru a manevra mai usor liniile de dialog si a prezenta in ordine.
Liniile de dialog apar litera cu litera, cursiv - un mod mai elegant de a prezenta replica unui NPC.
Extindere in viitor:
Exemplu obiect din scena DialogManager - fiecare NPC poate folosi script-ul DialogManager.cs
Un panou afisand obiectele prezente, un obiect StoreManager ce va retine si cateva din obiectele ascunse din magazin. Aceste obiecte ascunse sunt indicate printr-un chenar unde se cere o parola (probabil de la un quest/task facut, playerul va obtine o parola). Dupa introducerea parolei corecte, obiectul din magazin este dezvaluit si disponibil pentru cumparare.
Pentru a testa implementarea de magazin, am adaugat un simplu UI text unde se va prezenta the available coins.