Hallo Leute,
also ich programmiere an etwas RTS ähnlichem.
Im Vordergrund möchte ich halt ein RTS typisches Menü machen, in dem man Bauoptionen usw. auswählen kann. Ich habe also erstmal ein paar Gui-Buttons da platziert.
Jetzt habe ich das Problem, dass ich nicht beide eventTypes verarbeiten kann. Entweder funktionieren nur die Klicks auf die GUI oder nur die auf die Spiel-Welt
Ich habe den GUI Code einfach in die OnEventfunktion reingeschrieben. Darf man das nicht?
Code:
bool Game::OnEvent(const SEvent& event)
{
if( event.EventType == EET_MOUSE_INPUT_EVENT && event.MouseInput.Event == EMIE_MOUSE_WHEEL ) { [...] }
[...]
if (event.EventType == EET_GUI_EVENT)
{
s32 id = event.GUIEvent.Caller->getID();
env = pDevice->getGUIEnvironment();
[...]
switch(event.GUIEvent.EventType)
{
case EGET_BUTTON_CLICKED:
if (id == 101)
{ [...] }
break;
}
return false; // DIESES RETURN IST GEIMEINT!
//Maus Tastatur
if( event.EventType == EET_KEY_INPUT_EVENT && event.KeyInput.Key == KEY_ESCAPE )
{
[...]
}
return false;
}
Wenn ich das gekennzeichnete return false hinschreibe, funktionieren alle Klicks auf die GUI aber nicht mehr die Klicks "in die Welt". Wenn ich es weglasse, gehen alle Klicks im Spiel, aber nicht mehr dir in der GUI.
Was mache ich falsch,
Danke
Max