Esempio n. 1
0
Actor::Actor(Vector2 position, GameManager & manager, Vector2 spd, std::unordered_map<std::string, std::shared_ptr<SpriteSheet>>& sprites,
			const std::string&& startSprite, SpriteSheet::XAxisDirection startXDirection, SpriteSheet::YAxisDirection startYDirection)
	:_curKinematic{ position, spd },
	_prevKinematic{ position, spd },
    _health(100),
    _mgr(&manager),
	_gameScreen(std::dynamic_pointer_cast<GameScreen>(manager.GetCurrentScreen())),
	_isVisible(true),
	_isDestroyed(false),
	_startXDir(startXDirection),
	_startYDir(startYDirection),
	_spriteXDir(startXDirection),
	_spriteYDir(startYDirection),
    _colourMod{255, 255, 255, 255}
{
	// Copy the list of sprites
	_sprites = sprites;
	_currentSpriteSheet = startSprite;

	_aabb = AABB(_sprites[startSprite]->GetFrameWidth(), _sprites[startSprite]->GetFrameHeight(), *this);
	_sprites[_currentSpriteSheet]->SetXAxisDirection(_spriteXDir);
	_sprites[_currentSpriteSheet]->SetYAxisDirection(_spriteYDir);
	_sprites[_currentSpriteSheet]->Start();
}