コード例 #1
0
void Player::CreateAnimations(int rows) {
    sf::IntRect image = {0, 128, width, height};
    
    // Create animation ATTACK_SOUTH
    Animation *south = new Animation;
    image.left = 0;
    
    for (int i = 0; i < rows; i++) {
        south->AddFrame(image, 150);
        image.left += width;
    }
    
    AddAnimation(ATTACK_SOUTH, south);
    
    image.top += height;
    
    // Create animation ATTACK_WEST
    Animation *west = new Animation;
    image.left = 0;
    
    for (int i = 0; i < rows; i++) {
        west->AddFrame(image, 150);
        image.left += width;
    }
    
    AddAnimation(ATTACK_WEST, west);
    
    image.top += height;
    
    // Create animation ATTACK_EAST
    Animation *east = new Animation;
    image.left = 0;
    
    for (int i = 0; i < rows; i++) {
        east->AddFrame(image, 150);
        image.left += width;
    }
    
    AddAnimation(ATTACK_EAST, east);
    
    image.top += height;
    
    // Create animation ATTACK_NORTH
    Animation *north = new Animation;
    image.left = 0;
    
    for (int i = 0; i < rows; i++) {
        north->AddFrame(image, 150);
        image.left += width;
    }
    
    AddAnimation(ATTACK_NORTH, north);
}
コード例 #2
0
ファイル: Player.cpp プロジェクト: cathoangludi/Watermelon
Player::Player(PlatformerScene* scenePtr, const float32 x = 0, const float32 y = 0) {
	currentState = PlayerState::JUMPING;
	animations = new std::vector<Animation*>();
	scenePtr->CreateCircleGameObject(this, "res/placeholders/player/idle/idle0.png", x, y, b2_dynamicBody, 25, 0.5);
	
	body->SetFixedRotation(true);
	// There is no spritesheet class, so we are adding individual images to the animation

	//TODO: ->SetBlendMode(SDL_BLENDMODE_BLEND) .. enable alpha transparency on the images
	// NTS: The images dont have transparency yet, I tested it and it works

	Animation* anim = new Animation(0.08f);
	anim->AddFrame(scenePtr->LoadTexture("res/placeholders/player/idle/idle0.png", SDL_BLENDMODE_BLEND));
	animations->push_back(anim);

	anim = new Animation(0.08f);
	anim->AddFrame(scenePtr->LoadTexture("res/placeholders/player/run/pl1.png", SDL_BLENDMODE_BLEND));
	anim->AddFrame(scenePtr->LoadTexture("res/placeholders/player/run/pl2.png", SDL_BLENDMODE_BLEND));
	anim->AddFrame(scenePtr->LoadTexture("res/placeholders/player/run/pl3.png", SDL_BLENDMODE_BLEND));
	anim->AddFrame(scenePtr->LoadTexture("res/placeholders/player/run/pl4.png", SDL_BLENDMODE_BLEND));
	anim->AddFrame(scenePtr->LoadTexture("res/placeholders/player/run/pl5.png", SDL_BLENDMODE_BLEND));
	anim->AddFrame(scenePtr->LoadTexture("res/placeholders/player/run/pl6.png", SDL_BLENDMODE_BLEND));
	anim->AddFrame(scenePtr->LoadTexture("res/placeholders/player/run/pl7.png", SDL_BLENDMODE_BLEND));
	anim->AddFrame(scenePtr->LoadTexture("res/placeholders/player/run/pl8.png", SDL_BLENDMODE_BLEND));
	animations->push_back(anim);

	// then we add the animation to a collection of animations
	anim = new Animation(0.08f, false);
	anim->AddFrame(scenePtr->LoadTexture("res/placeholders/player/jump/jump0.png", SDL_BLENDMODE_BLEND));
	anim->AddFrame(scenePtr->LoadTexture("res/placeholders/player/jump/jump1.png", SDL_BLENDMODE_BLEND));
	anim->AddFrame(scenePtr->LoadTexture("res/placeholders/player/jump/jump2.png", SDL_BLENDMODE_BLEND));
	anim->AddFrame(scenePtr->LoadTexture("res/placeholders/player/jump/jump3.png", SDL_BLENDMODE_BLEND));
	animations->push_back(anim);
}
コード例 #3
0
ファイル: world.cpp プロジェクト: pmprog/deathsnow
void World::GenerateWeatherAnimations()
{
	Animation* anim;
	int animframe;

	anim = new Animation( visualSprites, true, SPRITE_WORLD_SPEED );
	for( animframe = 0; animframe < mapData->GetArraySize( "Overworld.Animations.Weather.Sunny" ); animframe++ )
	{
		anim->AddFrame( mapData->GetQuickIntegerValue( "Overworld.Animations.Weather.Sunny", animframe, 0 ) );
	}
	WeatherAnimations.push_back( anim );

	anim = new Animation( visualSprites, true, SPRITE_WORLD_SPEED );
	for( animframe = 0; animframe < mapData->GetArraySize( "Overworld.Animations.Weather.Warning" ); animframe++ )
	{
		anim->AddFrame( mapData->GetQuickIntegerValue( "Overworld.Animations.Weather.Warning", animframe, 0 ) );
	}
	WeatherAnimations.push_back( anim );

	anim = new Animation( visualSprites, true, SPRITE_WORLD_SPEED );
	for( animframe = 0; animframe < mapData->GetArraySize( "Overworld.Animations.Weather.LightSnow" ); animframe++ )
	{
		anim->AddFrame( mapData->GetQuickIntegerValue( "Overworld.Animations.Weather.LightSnow", animframe, 0 ) );
	}
	WeatherAnimations.push_back( anim );

	anim = new Animation( visualSprites, true, SPRITE_WORLD_SPEED );
	for( animframe = 0; animframe < mapData->GetArraySize( "Overworld.Animations.Weather.HeavySnow" ); animframe++ )
	{
		anim->AddFrame( mapData->GetQuickIntegerValue( "Overworld.Animations.Weather.HeavySnow", animframe, 0 ) );
	}
	WeatherAnimations.push_back( anim );

	anim = new Animation( visualSprites, true, SPRITE_WORLD_SPEED );
	for( animframe = 0; animframe < mapData->GetArraySize( "Overworld.Animations.Weather.DeathSnow" ); animframe++ )
	{
		anim->AddFrame( mapData->GetQuickIntegerValue( "Overworld.Animations.Weather.DeathSnow", animframe, 0 ) );
	}
	WeatherAnimations.push_back( anim );
}
コード例 #4
0
void MouseHelper::LoadCursors()
{
    Image *pCursorSpriteSheet = ResourceLoader::GetInstance()->LoadImage("image/CursorSpriteSheet.png");

    //// NORMAL CURSOR ////

    CommonCaseResources::GetInstance()->GetSpriteManager()->AddImage(cursorSpriteSheetId, pCursorSpriteSheet);

    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(normalCursorSpriteId01, cursorSpriteSheetId, RectangleWH(0,   0, 30, 30));

    Animation *pNormalCursorAnimation = NULL;
    CommonCaseResources::GetInstance()->GetAnimationManager()->AddAnimation(normalCursorAnimationId, &pNormalCursorAnimation);
    pNormalCursorAnimation->AddFrame(5000, normalCursorSpriteId01);

    animationByCursorTypeMap[CursorTypeNormal] = pNormalCursorAnimation;

    //// LOOK CURSOR ////

    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(lookCursorSpriteId01, cursorSpriteSheetId, RectangleWH(0,   30, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(lookCursorSpriteId02, cursorSpriteSheetId, RectangleWH(30,  30, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(lookCursorSpriteId03, cursorSpriteSheetId, RectangleWH(60,  30, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(lookCursorSpriteId04, cursorSpriteSheetId, RectangleWH(90,  30, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(lookCursorSpriteId05, cursorSpriteSheetId, RectangleWH(120, 30, 30, 30));

    Animation *pLookCursorAnimation = NULL;
    CommonCaseResources::GetInstance()->GetAnimationManager()->AddAnimation(lookCursorAnimationId, &pLookCursorAnimation);
    pLookCursorAnimation->AddFrame(1932, lookCursorSpriteId01);
    pLookCursorAnimation->AddFrame(84, lookCursorSpriteId02);
    pLookCursorAnimation->AddFrame(84, lookCursorSpriteId03);
    pLookCursorAnimation->AddFrame(84, lookCursorSpriteId04);
    pLookCursorAnimation->AddFrame(84, lookCursorSpriteId05);

    animationByCursorTypeMap[CursorTypeLook] = pLookCursorAnimation;

    //// TALK CURSOR ////

    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(talkCursorSpriteId01, cursorSpriteSheetId, RectangleWH(0,   60, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(talkCursorSpriteId02, cursorSpriteSheetId, RectangleWH(30,  60, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(talkCursorSpriteId03, cursorSpriteSheetId, RectangleWH(60,  60, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(talkCursorSpriteId04, cursorSpriteSheetId, RectangleWH(90,  60, 30, 30));

    Animation *pTalkCursorAnimation = NULL;
    CommonCaseResources::GetInstance()->GetAnimationManager()->AddAnimation(talkCursorAnimationId, &pTalkCursorAnimation);
    pTalkCursorAnimation->AddFrame(210, talkCursorSpriteId01);
    pTalkCursorAnimation->AddFrame(210, talkCursorSpriteId02);
    pTalkCursorAnimation->AddFrame(210, talkCursorSpriteId03);
    pTalkCursorAnimation->AddFrame(500, talkCursorSpriteId04);

    animationByCursorTypeMap[CursorTypeTalk] = pTalkCursorAnimation;

    //// EXIT NORTH CURSOR ////

    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthCursorSpriteId01, cursorSpriteSheetId, RectangleWH(0,   90, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthCursorSpriteId02, cursorSpriteSheetId, RectangleWH(30,  90, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthCursorSpriteId03, cursorSpriteSheetId, RectangleWH(60,  90, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthCursorSpriteId04, cursorSpriteSheetId, RectangleWH(90,  90, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthCursorSpriteId05, cursorSpriteSheetId, RectangleWH(120, 90, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthCursorSpriteId06, cursorSpriteSheetId, RectangleWH(150, 90, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthCursorSpriteId07, cursorSpriteSheetId, RectangleWH(180, 90, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthCursorSpriteId08, cursorSpriteSheetId, RectangleWH(210, 90, 30, 30));

    Animation *pExitNorthCursorAnimation = NULL;
    CommonCaseResources::GetInstance()->GetAnimationManager()->AddAnimation(exitNorthCursorAnimationId, &pExitNorthCursorAnimation);
    pExitNorthCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthCursorSpriteId01);
    pExitNorthCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthCursorSpriteId02);
    pExitNorthCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthCursorSpriteId03);
    pExitNorthCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthCursorSpriteId04);
    pExitNorthCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthCursorSpriteId05);
    pExitNorthCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthCursorSpriteId06);
    pExitNorthCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthCursorSpriteId07);
    pExitNorthCursorAnimation->AddFrame(exitAnimationHoldFrameDurationMs, exitNorthCursorSpriteId08);

    animationByCursorTypeMap[CursorTypeExitNorth] = pExitNorthCursorAnimation;

    //// EXIT NORTHEAST CURSOR ////

    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthEastCursorSpriteId01, cursorSpriteSheetId, RectangleWH(0,   120, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthEastCursorSpriteId02, cursorSpriteSheetId, RectangleWH(30,  120, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthEastCursorSpriteId03, cursorSpriteSheetId, RectangleWH(60,  120, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthEastCursorSpriteId04, cursorSpriteSheetId, RectangleWH(90,  120, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthEastCursorSpriteId05, cursorSpriteSheetId, RectangleWH(120, 120, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthEastCursorSpriteId06, cursorSpriteSheetId, RectangleWH(150, 120, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthEastCursorSpriteId07, cursorSpriteSheetId, RectangleWH(180, 120, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthEastCursorSpriteId08, cursorSpriteSheetId, RectangleWH(210, 120, 30, 30));

    Animation *pExitNorthEastCursorAnimation = NULL;
    CommonCaseResources::GetInstance()->GetAnimationManager()->AddAnimation(exitNorthEastCursorAnimationId, &pExitNorthEastCursorAnimation);
    pExitNorthEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthEastCursorSpriteId01);
    pExitNorthEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthEastCursorSpriteId02);
    pExitNorthEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthEastCursorSpriteId03);
    pExitNorthEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthEastCursorSpriteId04);
    pExitNorthEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthEastCursorSpriteId05);
    pExitNorthEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthEastCursorSpriteId06);
    pExitNorthEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthEastCursorSpriteId07);
    pExitNorthEastCursorAnimation->AddFrame(exitAnimationHoldFrameDurationMs, exitNorthEastCursorSpriteId08);

    animationByCursorTypeMap[CursorTypeExitNorthEast] = pExitNorthEastCursorAnimation;

    //// EXIT EAST CURSOR ////

    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitEastCursorSpriteId01, cursorSpriteSheetId, RectangleWH(0,   150, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitEastCursorSpriteId02, cursorSpriteSheetId, RectangleWH(30,  150, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitEastCursorSpriteId03, cursorSpriteSheetId, RectangleWH(60,  150, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitEastCursorSpriteId04, cursorSpriteSheetId, RectangleWH(90,  150, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitEastCursorSpriteId05, cursorSpriteSheetId, RectangleWH(120, 150, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitEastCursorSpriteId06, cursorSpriteSheetId, RectangleWH(150, 150, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitEastCursorSpriteId07, cursorSpriteSheetId, RectangleWH(180, 150, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitEastCursorSpriteId08, cursorSpriteSheetId, RectangleWH(210, 150, 30, 30));

    Animation *pExitEastCursorAnimation = NULL;
    CommonCaseResources::GetInstance()->GetAnimationManager()->AddAnimation(exitEastCursorAnimationId, &pExitEastCursorAnimation);
    pExitEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitEastCursorSpriteId01);
    pExitEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitEastCursorSpriteId02);
    pExitEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitEastCursorSpriteId03);
    pExitEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitEastCursorSpriteId04);
    pExitEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitEastCursorSpriteId05);
    pExitEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitEastCursorSpriteId06);
    pExitEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitEastCursorSpriteId07);
    pExitEastCursorAnimation->AddFrame(exitAnimationHoldFrameDurationMs, exitEastCursorSpriteId08);

    animationByCursorTypeMap[CursorTypeExitEast] = pExitEastCursorAnimation;

    //// EXIT SOUTHEAST CURSOR ////

    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthEastCursorSpriteId01, cursorSpriteSheetId, RectangleWH(0,   180, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthEastCursorSpriteId02, cursorSpriteSheetId, RectangleWH(30,  180, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthEastCursorSpriteId03, cursorSpriteSheetId, RectangleWH(60,  180, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthEastCursorSpriteId04, cursorSpriteSheetId, RectangleWH(90,  180, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthEastCursorSpriteId05, cursorSpriteSheetId, RectangleWH(120, 180, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthEastCursorSpriteId06, cursorSpriteSheetId, RectangleWH(150, 180, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthEastCursorSpriteId07, cursorSpriteSheetId, RectangleWH(180, 180, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthEastCursorSpriteId08, cursorSpriteSheetId, RectangleWH(210, 180, 30, 30));

    Animation *pExitSouthEastCursorAnimation = NULL;
    CommonCaseResources::GetInstance()->GetAnimationManager()->AddAnimation(exitSouthEastCursorAnimationId, &pExitSouthEastCursorAnimation);
    pExitSouthEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthEastCursorSpriteId01);
    pExitSouthEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthEastCursorSpriteId02);
    pExitSouthEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthEastCursorSpriteId03);
    pExitSouthEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthEastCursorSpriteId04);
    pExitSouthEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthEastCursorSpriteId05);
    pExitSouthEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthEastCursorSpriteId06);
    pExitSouthEastCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthEastCursorSpriteId07);
    pExitSouthEastCursorAnimation->AddFrame(exitAnimationHoldFrameDurationMs, exitSouthEastCursorSpriteId08);

    animationByCursorTypeMap[CursorTypeExitSouthEast] = pExitSouthEastCursorAnimation;

    //// EXIT SOUTH CURSOR ////

    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthCursorSpriteId01, cursorSpriteSheetId, RectangleWH(0,   210, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthCursorSpriteId02, cursorSpriteSheetId, RectangleWH(30,  210, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthCursorSpriteId03, cursorSpriteSheetId, RectangleWH(60,  210, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthCursorSpriteId04, cursorSpriteSheetId, RectangleWH(90,  210, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthCursorSpriteId05, cursorSpriteSheetId, RectangleWH(120, 210, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthCursorSpriteId06, cursorSpriteSheetId, RectangleWH(150, 210, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthCursorSpriteId07, cursorSpriteSheetId, RectangleWH(180, 210, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthCursorSpriteId08, cursorSpriteSheetId, RectangleWH(210, 210, 30, 30));

    Animation *pExitSouthCursorAnimation = NULL;
    CommonCaseResources::GetInstance()->GetAnimationManager()->AddAnimation(exitSouthCursorAnimationId, &pExitSouthCursorAnimation);
    pExitSouthCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthCursorSpriteId01);
    pExitSouthCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthCursorSpriteId02);
    pExitSouthCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthCursorSpriteId03);
    pExitSouthCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthCursorSpriteId04);
    pExitSouthCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthCursorSpriteId05);
    pExitSouthCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthCursorSpriteId06);
    pExitSouthCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthCursorSpriteId07);
    pExitSouthCursorAnimation->AddFrame(exitAnimationHoldFrameDurationMs, exitSouthCursorSpriteId08);

    animationByCursorTypeMap[CursorTypeExitSouth] = pExitSouthCursorAnimation;

    //// EXIT SOUTHWEST CURSOR ////

    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthWestCursorSpriteId01, cursorSpriteSheetId, RectangleWH(0,   240, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthWestCursorSpriteId02, cursorSpriteSheetId, RectangleWH(30,  240, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthWestCursorSpriteId03, cursorSpriteSheetId, RectangleWH(60,  240, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthWestCursorSpriteId04, cursorSpriteSheetId, RectangleWH(90,  240, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthWestCursorSpriteId05, cursorSpriteSheetId, RectangleWH(120, 240, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthWestCursorSpriteId06, cursorSpriteSheetId, RectangleWH(150, 240, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthWestCursorSpriteId07, cursorSpriteSheetId, RectangleWH(180, 240, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitSouthWestCursorSpriteId08, cursorSpriteSheetId, RectangleWH(210, 240, 30, 30));

    Animation *pExitSouthWestCursorAnimation = NULL;
    CommonCaseResources::GetInstance()->GetAnimationManager()->AddAnimation(exitSouthWestCursorAnimationId, &pExitSouthWestCursorAnimation);
    pExitSouthWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthWestCursorSpriteId01);
    pExitSouthWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthWestCursorSpriteId02);
    pExitSouthWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthWestCursorSpriteId03);
    pExitSouthWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthWestCursorSpriteId04);
    pExitSouthWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthWestCursorSpriteId05);
    pExitSouthWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthWestCursorSpriteId06);
    pExitSouthWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitSouthWestCursorSpriteId07);
    pExitSouthWestCursorAnimation->AddFrame(exitAnimationHoldFrameDurationMs, exitSouthWestCursorSpriteId08);

    animationByCursorTypeMap[CursorTypeExitSouthWest] = pExitSouthWestCursorAnimation;

    //// EXIT WEST CURSOR ////

    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitWestCursorSpriteId01, cursorSpriteSheetId, RectangleWH(0,   270, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitWestCursorSpriteId02, cursorSpriteSheetId, RectangleWH(30,  270, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitWestCursorSpriteId03, cursorSpriteSheetId, RectangleWH(60,  270, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitWestCursorSpriteId04, cursorSpriteSheetId, RectangleWH(90,  270, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitWestCursorSpriteId05, cursorSpriteSheetId, RectangleWH(120, 270, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitWestCursorSpriteId06, cursorSpriteSheetId, RectangleWH(150, 270, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitWestCursorSpriteId07, cursorSpriteSheetId, RectangleWH(180, 270, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitWestCursorSpriteId08, cursorSpriteSheetId, RectangleWH(210, 270, 30, 30));

    Animation *pExitWestCursorAnimation = NULL;
    CommonCaseResources::GetInstance()->GetAnimationManager()->AddAnimation(exitWestCursorAnimationId, &pExitWestCursorAnimation);
    pExitWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitWestCursorSpriteId01);
    pExitWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitWestCursorSpriteId02);
    pExitWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitWestCursorSpriteId03);
    pExitWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitWestCursorSpriteId04);
    pExitWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitWestCursorSpriteId05);
    pExitWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitWestCursorSpriteId06);
    pExitWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitWestCursorSpriteId07);
    pExitWestCursorAnimation->AddFrame(exitAnimationHoldFrameDurationMs, exitWestCursorSpriteId08);

    animationByCursorTypeMap[CursorTypeExitWest] = pExitWestCursorAnimation;

    //// EXIT NORTHWEST CURSOR ////

    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthWestCursorSpriteId01, cursorSpriteSheetId, RectangleWH(0,   300, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthWestCursorSpriteId02, cursorSpriteSheetId, RectangleWH(30,  300, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthWestCursorSpriteId03, cursorSpriteSheetId, RectangleWH(60,  300, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthWestCursorSpriteId04, cursorSpriteSheetId, RectangleWH(90,  300, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthWestCursorSpriteId05, cursorSpriteSheetId, RectangleWH(120, 300, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthWestCursorSpriteId06, cursorSpriteSheetId, RectangleWH(150, 300, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthWestCursorSpriteId07, cursorSpriteSheetId, RectangleWH(180, 300, 30, 30));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitNorthWestCursorSpriteId08, cursorSpriteSheetId, RectangleWH(210, 300, 30, 30));

    Animation *pExitNorthWestCursorAnimation = NULL;
    CommonCaseResources::GetInstance()->GetAnimationManager()->AddAnimation(exitNorthWestCursorAnimationId, &pExitNorthWestCursorAnimation);
    pExitNorthWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthWestCursorSpriteId01);
    pExitNorthWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthWestCursorSpriteId02);
    pExitNorthWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthWestCursorSpriteId03);
    pExitNorthWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthWestCursorSpriteId04);
    pExitNorthWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthWestCursorSpriteId05);
    pExitNorthWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthWestCursorSpriteId06);
    pExitNorthWestCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitNorthWestCursorSpriteId07);
    pExitNorthWestCursorAnimation->AddFrame(exitAnimationHoldFrameDurationMs, exitNorthWestCursorSpriteId08);

    animationByCursorTypeMap[CursorTypeExitNorthWest] = pExitNorthWestCursorAnimation;

    //// EXIT DOOR CURSOR ////

    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitDoorCursorSpriteId01, cursorSpriteSheetId, RectangleWH(0,   330, 40, 40));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitDoorCursorSpriteId02, cursorSpriteSheetId, RectangleWH(40,  330, 40, 40));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitDoorCursorSpriteId03, cursorSpriteSheetId, RectangleWH(80,  330, 40, 40));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitDoorCursorSpriteId04, cursorSpriteSheetId, RectangleWH(120, 330, 40, 40));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitDoorCursorSpriteId05, cursorSpriteSheetId, RectangleWH(160, 330, 40, 40));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitDoorCursorSpriteId06, cursorSpriteSheetId, RectangleWH(200, 330, 40, 40));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitDoorCursorSpriteId07, cursorSpriteSheetId, RectangleWH(240, 330, 40, 40));
    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(exitDoorCursorSpriteId08, cursorSpriteSheetId, RectangleWH(280, 330, 40, 40));

    Animation *pExitDoorCursorAnimation = NULL;
    CommonCaseResources::GetInstance()->GetAnimationManager()->AddAnimation(exitDoorCursorAnimationId, &pExitDoorCursorAnimation);
    pExitDoorCursorAnimation->AddFrame(exitAnimationHoldFrameDurationMs, exitDoorCursorSpriteId01);
    pExitDoorCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitDoorCursorSpriteId02);
    pExitDoorCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitDoorCursorSpriteId03);
    pExitDoorCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitDoorCursorSpriteId04);
    pExitDoorCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitDoorCursorSpriteId05);
    pExitDoorCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitDoorCursorSpriteId06);
    pExitDoorCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitDoorCursorSpriteId07);
    pExitDoorCursorAnimation->AddFrame(exitAnimationNormalFrameDurationMs, exitDoorCursorSpriteId08);

    animationByCursorTypeMap[CursorTypeExitDoor] = pExitDoorCursorAnimation;

    //// NO EXIT CURSOR ////

    CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(noExitCursorSpriteId01, cursorSpriteSheetId, RectangleWH(0,   370, 30, 30));
    //CommonCaseResources::GetInstance()->GetSpriteManager()->AddSprite(noExitCursorSpriteId02, cursorSpriteSheetId, RectangleWH(30,  370, 30, 30));

    Animation *pNoExitCursorAnimation = NULL;
    CommonCaseResources::GetInstance()->GetAnimationManager()->AddAnimation(noExitCursorAnimationId, &pNoExitCursorAnimation);
    pNoExitCursorAnimation->AddFrame(exitAnimationHoldFrameDurationMs, noExitCursorSpriteId01);
    //pNoExitCursorAnimation->AddFrame(exitAnimationHoldFrameDurationMs, noExitCursorSpriteId02);

    animationByCursorTypeMap[CursorTypeNoExit] = pNoExitCursorAnimation;

    pCurrentCursorAnimation = animationByCursorTypeMap[CursorTypeNormal];
    pCurrentCursorAnimation->Begin();
}