Sto facendo un prototipo per un gioco. Al momento sto lavorando sugli effetti, ma più in generale sull'animazione.
Attualmente, ho una lista in cui vengono aggiunti gli effetti appena generati. Quindi, nella sezione di aggiornamento del ciclo di gioco, lascerei che ogni effetto modificasse il loro stato in base al tempo. Quando termina un effetto, ho attivato una bandiera interna. Dopo aver aggiornato tutti gli effetti, controllo nuovamente l'elenco per eventuali effetti finali e li rimuovo dall'elenco.
Funziona. Ho pensato che si potesse fare in un modo migliore, ma non sono sicuro di come. Voglio dire, scorre due volte nella lista per aggiornare ed eliminare gli effetti finiti. Se uso un array, la cancellazione lascerà un buco lì, e dovrei tenere traccia di dove sono i buchi, il che sembra più complicato. Immagino che una lista collegata sia la migliore? Qualche suggerimento?