
#include <stdio.h>

#include <SDL/SDL.h>
#include "gamestate.h"
#include "gameengine.h"
#include "playstate.h"
#include "menustate.h"

CPlayState CPlayState::m_PlayState;

void CPlayState::Init()
{
    player = SDL_LoadBMP("character.bmp");
    px = 0;
    py = 0;
    SDL_WarpMouse(px, py);
    printf("CPlayState Init\n");
}

void CPlayState::Cleanup()
{
	SDL_FreeSurface(player);

	printf("CPlayState Cleanup\n");
}

void CPlayState::Pause()
{
	printf("CPlayState Pause\n");
}

void CPlayState::Resume()
{
	printf("CPlayState Resume\n");
}

void CPlayState::HandleEvents(CGameEngine* game)
{
	SDL_Event event;

	if (SDL_PollEvent(&event)) {
		switch (event.type) {
			case SDL_QUIT:
				game->Quit();
				break;

			case SDL_KEYDOWN:
				switch (event.key.keysym.sym) {
					case SDLK_ESCAPE:
						game->ChangeState( CMenuState::Instance() );
						break;
					case SDLK_i:
						game->PushState( CMenuState::Instance() );
						break;
				}
				break;

            case SDL_MOUSEMOTION:
                px = event.motion.x;
                py = event.motion.y;
                break;
		}
	}
}

void CPlayState::Update(CGameEngine* game)
{

}

void CPlayState::Draw(CGameEngine* game)
{
    printf("Draw character\n");
    SDL_Rect dstrect;
    dstrect.x = px - player->w / 2;
    dstrect.y = py - player->h + 20;

    SDL_BlitSurface(player, 0, game->screen, &dstrect);
    SDL_Flip(game->screen);
    printf("Draw character\n");
}

