Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
Sprite.h
Go to the documentation of this file.
1#pragma once
2#include "ObjectComponent.h"
3#include <SDL3/SDL.h>
4
5class _Sprite : public VisualComponent
6{
7 public:
8 explicit _Sprite() { Initialize(); }
9 virtual ~_Sprite() override { Uninitialize(); }
10
11 static bool FactoryRegistered;
12 static ObjectComponent* Create();
13
14 void Initialize();
15 void Uninitialize();
16
17 virtual void RenderDebug() override;
18 virtual void Render() override;
19
20 void SetSprite(SDL_Texture* texture);
21 void SetSprite(const std::string& resourceName, const std::string& filePath);
22
23 bool Preload(const std::string& resourceName, const std::string& filePath);
24
25protected:
27};
28
ComponentTypeID GetComponentTypeID_Static()
Definition ECS_Entity.h:56
bool Preload(const std::string &resourceName, const std::string &filePath)
Definition Sprite.cpp:59
void Uninitialize()
Definition Sprite.cpp:19
void Initialize()
Definition Sprite.cpp:14
virtual ~_Sprite() override
Definition Sprite.h:9
_Sprite()
Definition Sprite.h:8
virtual void RenderDebug() override
Definition Sprite.cpp:23
void SetSprite(SDL_Texture *texture)
Definition Sprite.cpp:46
SDL_Texture * m_SpriteTexture
Definition Sprite.h:26
static ObjectComponent * Create()
Definition Sprite.cpp:9
static bool FactoryRegistered
Definition Sprite.h:11
virtual void Render() override
Definition Sprite.cpp:31