Esempio n. 1
0
//Logic for States
void
state_logic ()
{
  if (state_terminated)
    {
      if (state_terminated > 0)
	{
	  trans_stop ();
	  state_quit ();
	  game_shutdown ();
	  state_terminated = -1;	//One Time Quit.
	}
      return;
    }

  if (state_switched)
    {
      return;
    }

  handlers[state].proc_logic ();
  {
    dt = al_get_time () - prev_time;
    while (dt >= GUI_DT)
      {
	gui_update ();
	dt -= GUI_DT;
	prev_time = al_get_time ();
      }
    gui_update ();
  }
}
Esempio n. 2
0
//Quit for States
void
state_switch (run_state newstate)
{
  if (state != GAME_UNINITIALIZED)
    {
      state_quit ();
    }

  oldstate = state;
  state = newstate;

  ++state_switched;

  if (state_init ())
    {				//Not for GAME_USUAL
      state_quit ();
      state = GAME_USUAL;
      (void) state_init ();
    }
  --state_switched;
}
Esempio n. 3
0
// ---------------------------------------------------------------------
Form::~Form()
{
  for (int i=children.size()-1; 0<=i; i--)
    delete children.at(i);
  if (this==form) form = 0;
  if (this==evtform) evtform = 0;
  Forms.removeOne(this);
  if (Forms.isEmpty()) form=0;
  if (Forms.isEmpty() && (!ShowIde)) {
    if (jdllproc) evloop->exit();
    else {
      jcon->cmd("2!:55)0");
      state_quit();
      app->quit();
      delete app;
    }
  }
}