Precis. Kanske vill vi ha andra typer av saker (därav "Task") som kör parallellt, med det kanske bara är att krångla till det?
Nejdå, du har så rätt! Animation kan ärva av Task kanske.
Hur kommer egentligen manuset att lagras? Som noder i en stor graf?
...
Något sånt här?
...
GameEvent event = LetODDWalkAround();
switch (event->type()) { case EVENT_PICKUP: .. case EVENT_USE: .. case EVENT_TALKTO: .. };
Jag gillar inte riktigt det här, fast fördelen är att man kan hålla all kod för en viss scen på samma ställe. Annars blir den kanske utspridd över en massa klasser. Har du någon idé på hur man kan förbättra det här?
Precis så hade jag tänkt ja! Vad är det du inte gillar? Jag kan mycket väl ha missat något... men tanken är precis som du säger, att all kod för en scen är samlad, så att man kan "programmera" manuset direkt i C++.
I vilket fall ska animeringsobjektet tas bort ur listan, och förmodligen ersättas med en
annan
animation för samma Sprite.
Mm. Detta ska ju i högst möjliga mån gå automatiskt.
Hur menar du? Allt som inte användaren behöver göra är ju automatiskt... du kanske menar att Animation-objektet är tillräckligt smart för att själv länka sig till en ny animation när den gamla är klar? Helt OK för mig!
Diverse animationer som sker spontant, en fågel som kvittrar eller så. Ingenting som påverkar själva handlingen dock. Om man har en datorstyrd karaktär kanske det också kan vara bra för att få den att gå omkring spontant.
Aha, så menar du... ja det där har jag faktiskt inte tänkt på över huvud taget. Men jag tolkar det som något annat än de GameEvent som jag har pratat om. Det är nog ett dåligt namn, UserEvent borde det heta. GameEvent passar bättre för det du nämner. "Dina" GameEvents är väl något som initeras baserat på manuset, och som poppas på mittennivån?
/Jerker, also extremely bored at work