Skip to content

Quest test branch - #6

Closed
StefanoCadalt wants to merge 17 commits into
mainfrom
QuestTest_Branch
Closed

Quest test branch#6
StefanoCadalt wants to merge 17 commits into
mainfrom
QuestTest_Branch

Conversation

@StefanoCadalt

Copy link
Copy Markdown
Collaborator

Aggiunta della gestione degli script di quest nel main

duddy-bin and others added 17 commits March 17, 2026 19:36
Ho aggiunto un "Template" per una possibile Fetch Quest (nella Quest 1) e un possibile Trigger (pensato per i metodi StartQuest() dei vari Script delle Quest) di prossimità.
Nei commenti spero di essere stato più esaustivo.
Effettuato Polish del codice anche dello script di Quest 1, per renderlo più leggibile e in linea con alcuni cambiamenti di logica che ho fatto mentre buttavo giù i nuovi Script.
Poi come citato ho creato un nuovo Script per il template di una Quest 2 (Quest di tipo scansione di un pianeta), e un nuovo Script per un altro Trigger (un trigger d'interazione).
Rivisti gli script dei framework delle Quest 1 & 2 in funzione della creazione della classe madre (da cui ora derivano) Quest_Generic_Script.
Resi negli script modificati alcuni campi privati, ma comunque accessibili dall'Inspector Unity.
Innanzitutto ho riorganizzato gli script dei trigger in un nuovo folder chiamato "Quest_Helpers", dove ho raggruppato tutti quegli Script che semplificano / aiutano l'esecuzione delle quest.
In questa categoria rientra anche il nuovo Script per gli item collezionabili pensato appositamente per la Quest di tipologia 3 (nei commenti ci sono più dettagli se volete).
Infine creato il template Quest 3 che mira a far collezionare al giocatore n Item (già posizionati nella Hierarchy).
Introduce QuestManager_Script singleton to persist quest states across scenes (QuestData struct + Update/Get APIs) and add QuestManager_Global GameObject to QuestTest_Scene. Integrate manager into Quest_Generic_Script to initialize quest state and push updates when starting/finishing quests. Update Quest_3_Script to restore current progress on Start and save progress on finish. Remove redundant empty Start methods from Quest_1_Script and Quest_2_Script. Include new .meta file for the manager script.
Errore durante il test: la quest rimane salvata nel dizionario come completata nonostante non sia presente un vero e proprio metodo di salvataggio tra più sessioni
Modificata la posizione degli asset di prova nella scena di prova.
Attualmente sembra funzionare tutto, il problema era probabilmente nel fatto che, essendo gli asset compenetrati, la quest partiva e si concludeva immediatamente.
Questo penso sia uno dei commit più corposi che ho fatto fino ad ora, lascio di seguito la descrizione generata da GitHub visto che mi sembra azzeccata dopo averla letta:
Introduce an ICollectable interface and refactor collectable helpers to implement it (renamed Collectable_Item -> Collectable_Item_Quest3). Add Collectable_Material_Quest4 helper and a new Quest_4_Script to handle a repair-style quest that requires collecting materials and interacting with a satellite. Update Quest_3_Script to use the renamed collectable class. Quest_4_Script includes safety checks, material tracking, interaction handling, and persists progress via QuestManager updates.
Sistemato il sistema (pippo) di gestione delle quest 2 e 3 (che gestiscono tutte le quest del gioco)
Migliorata la classe TriggerQuest permettendo un'aggiunta di N quest, il tutto gestito dall'enum interactableType.
Aggiunti commenti agli script delle quest
Riorganizzato i commenti & region + Aggiunto qualche Summary.
QuestSafetyChecks è una classe pubblica e statica che contiene i vari check di sicurezza che abbiamo intenzione di fare.
Al momento l'ho popolata con i 2 controlli più importanti che mi venivano in mente per Quest 3.
DI conseguenza ho modificato anche Quest 3 dopo.
Almeno ora è tutto più pulito.
@ENRICOSCHI

Copy link
Copy Markdown
Owner

@copilot

@ENRICOSCHI

Copy link
Copy Markdown
Owner

@copilot how do I solve the merge conflict

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.

3 participants