Tramway SDK
sprite.h
Go to the documentation of this file.
1// Tramway Drifting and Dungeon Exploration Simulator SDK Runtime
2
3#ifndef TRAM_SDK_RENDER_SPRITE_H
4#define TRAM_SDK_RENDER_SPRITE_H
5
6#include <render/render.h>
7
8namespace tram::Render {
9
10class Material;
11
13 uint16_t offset_x;
14 uint16_t offset_y;
15 uint16_t width;
16 uint16_t height;
17 uint16_t midpoint_x;
18 uint16_t midpoint_y;
19 uint16_t border_h;
20 uint16_t border_v;
21};
22
23class Sprite : public Resource {
24public:
26 inline Material* GetMaterial () const { return material; }
27 inline void SetMaterial (Material* mat) { material = mat; }
28
29 void LoadFromDisk();
30 void LoadFromMemory();
31
32 void Unload() {}
33
34 const std::vector<SpriteFrame>& GetFrames() { return frames; };
35
36 static Sprite* Find(name_t name);
37protected:
38 std::vector<SpriteFrame> frames;
39 Material* material = nullptr;
40};
41
42}
43
44#endif // TRAM_SDK_RENDER_SPRITE_H
Material resource.
Definition: material.h:31
Sprite resource.
Definition: sprite.h:23
void SetMaterial(Material *mat)
Definition: sprite.h:27
void LoadFromDisk()
Definition: sprite.cpp:54
void Unload()
Definition: sprite.h:32
void LoadFromMemory()
Definition: sprite.cpp:49
const std::vector< SpriteFrame > & GetFrames()
Definition: sprite.h:34
static Sprite * Find(name_t name)
Definition: sprite.cpp:37
Material * GetMaterial() const
Definition: sprite.h:26
Material * material
Definition: sprite.h:39
std::vector< SpriteFrame > frames
Definition: sprite.h:38
Sprite(UID name)
Definition: sprite.h:25
Definition: resource.h:11
name_t name
Definition: resource.h:37
High-level Render system API.
Definition: gui.h:8
Definition: sprite.h:12
uint16_t border_v
Definition: sprite.h:20
uint16_t height
Definition: sprite.h:16
uint16_t offset_y
Definition: sprite.h:14
uint16_t midpoint_y
Definition: sprite.h:18
uint16_t offset_x
Definition: sprite.h:13
uint16_t border_h
Definition: sprite.h:19
uint16_t width
Definition: sprite.h:15
uint16_t midpoint_x
Definition: sprite.h:17
Interned string type.
Definition: uid.h:10