void FieldCharacter::Reset()
{
    ResetAnimations();
    pCurrentAnimation = NULL;
    SetIsMouseOver(false);
    SetIsClicked(false);
    isBegun = false;
}
Example #2
0
void World::ListenNextFrame(SDL_Event *event)
{
	ResetAnimations();

  if (savegame->getVisible())
  {
    savegame->ListenNextFrame(event);
  }
  else if (textBubble->getVisible())
  {
    if ((event->type == SDL_MOUSEBUTTONUP) && (event->button.button == SDL_BUTTON_LEFT ))
    {
      int x = event->button.x;
			int	y = event->button.y;

      if (( x > textBubbleButton->box.x ) && ( x < textBubbleButton->box.x + textBubbleButton->box.w ) &&
                ( y > textBubbleButton->box.y ) && ( y < textBubbleButton->box.y + textBubbleButton->box.h ))
      {
        textBubble->ContinueMessage();
      }
    }

    if (event->type == SDL_MOUSEMOTION)
    {
      int x = event->motion.x;
      int y = event->motion.y;

      if (( x > textBubbleButton->box.x ) && ( x < textBubbleButton->box.x + textBubbleButton->box.w ) &&
															( y > textBubbleButton->box.y ) && ( y < textBubbleButton->box.y + textBubbleButton->box.h ))
      {
        textBubbleButton->setOver(true);
      }
      else
      {
        textBubbleButton->setOver(false);
      }
    }
  }
	else
	{
	  if( event->type == SDL_KEYDOWN )
    {
      switch( event->key.keysym.sym )
      {
        case SDLK_UP: party->WalkUp(); break;
        case SDLK_DOWN: party->WalkDown(); break;
        case SDLK_LEFT: party->WalkLeft(); break;
        case SDLK_RIGHT: party->WalkRight(); break;
        case SDLK_ESCAPE:{
                          break;}
        default:    break;
      }
    }

    if( event->type == SDL_KEYUP )
    {
      switch( event->key.keysym.sym )
      {
        case SDLK_UP: party->StopWalkUp(); break;
        case SDLK_DOWN: party->StopWalkDown(); break;
        case SDLK_LEFT: party->StopWalkLeft(); break;
        case SDLK_RIGHT: party->StopWalkRight(); break;

        default:    break;
      }
    }
	}
}