10/01/18 10:05
Thejuster
Buongiorno ragazzi.
Vorrei dei consigli ma magari anche una mano per riuscire a risolvere un misterioso problema
che mi sta affliggendo ultimamente sul mio motore.
Faccio un pò il riassunto della situazione.
Tramite il mio editor è possibile grazie a dei nodi visuali generare codice inline che successivamente
l'engine interpreterà con un interprete scritto apposta leggendo i vari token e statments.
Come funziona?
s14.postimg.org/yjy6vb0sh/…
Nel messagebox si può osservare il codice generato dai nodi.
Fin quando utilizzo un solo NPC generato dal programma, funziona correttamente.
Cammina, parla, segue un percorso ed esegue azioni.
Se Creo 2 NPC che si muovono unicamente sulla mappa senza parlare, funziona.
recordit.co/…
Il problema è in questa funzione
1° Verifica il comando registrato.
2° Prende il parametro stringa "Messaggio NPC"
3° Imposta talking su True;
Nel Motore alla parte del render
Stranamente appena si avvia, Crasha restituendomi un Null reference exception.
E mi domando come sia possibile una cosa del genere.
Se un solo NPC funziona senza problemi, perché aggiungendone altri crasha?
s14.postimg.org/pq7ae58o1/…
Ho osservato tutte le variabili che l'interpreta sfrutta.
perché l'errore viene scaturito proprio nella classe dell'interprete.
Non può essere un errore di scrittura perché il codice viene generato.
Quindi se funziona con un solo npc dovrebbe funzionare anche con 100
Non sò, forse si accavalla il draw? ma mi sembra assurda come ipotesi.
Anche perché potrei disegnare quante sprite voglio non avrei problema.
E gli NPC si autogestiscono da soli.
Qualche soluzione? o magari idea?
Vorrei dei consigli ma magari anche una mano per riuscire a risolvere un misterioso problema
che mi sta affliggendo ultimamente sul mio motore.
Faccio un pò il riassunto della situazione.
Tramite il mio editor è possibile grazie a dei nodi visuali generare codice inline che successivamente
l'engine interpreterà con un interprete scritto apposta leggendo i vari token e statments.
Come funziona?
s14.postimg.org/yjy6vb0sh/…
Nel messagebox si può osservare il codice generato dai nodi.
Fin quando utilizzo un solo NPC generato dal programma, funziona correttamente.
Cammina, parla, segue un percorso ed esegue azioni.
Se Creo 2 NPC che si muovono unicamente sulla mappa senza parlare, funziona.
recordit.co/…
Il problema è in questa funzione
else if (strCommand == "SayNPC") { if (!Other_NPCTALK) { Talking_Message = (String)listParameters[0]; talking = true; Talk((string)listParameters[0]); } //m_textWindow.Say(this, (String)listParameters[0], (int) listParameters[1]); }
1° Verifica il comando registrato.
2° Prende il parametro stringa "Messaggio NPC"
3° Imposta talking su True;
Nel Motore alla parte del render
//FACCIO PARLARE GLI NPC //Solo se qualcuno di quelli non sta già parlando for (int i = 0; i < NPC.Count; i++) { if (NPC[i].talking && NPC_TALK == false) { dialog(NPC[i].Talking_Message); } }
Stranamente appena si avvia, Crasha restituendomi un Null reference exception.
E mi domando come sia possibile una cosa del genere.
Se un solo NPC funziona senza problemi, perché aggiungendone altri crasha?
s14.postimg.org/pq7ae58o1/…
Ho osservato tutte le variabili che l'interpreta sfrutta.
perché l'errore viene scaturito proprio nella classe dell'interprete.
Non può essere un errore di scrittura perché il codice viene generato.
Quindi se funziona con un solo npc dovrebbe funzionare anche con 100
Non sò, forse si accavalla il draw? ma mi sembra assurda come ipotesi.
Anche perché potrei disegnare quante sprite voglio non avrei problema.
E gli NPC si autogestiscono da soli.
Qualche soluzione? o magari idea?
mire.forumfree.it/ - Mire Engine
C# UI Designer
C# UI Designer