Mountain
1.0.0
Simple C++ 2D Game Framework
sprite.hpp
1
#pragma once
2
3
#include <string>
4
5
#include "Mountain/core.hpp"
6
#include "
Mountain/resource/texture.hpp
"
7
#include "Mountain/scene/component/component.hpp"
8
#include "
Mountain/utils/list.hpp
"
9
10
namespace
Mountain
11
{
12
class
Sprite
:
public
Component
13
{
14
public
:
15
MOUNTAIN_API
Sprite
() =
default
;
16
MOUNTAIN_API
explicit
Sprite
(std::string spriteName);
17
MOUNTAIN_API Sprite(std::string spriteName, float_t frameDuration);
18
22
MOUNTAIN_API
void
SetupTextures
();
23
24
MOUNTAIN_API
const
Pointer<Texture>
& Get();
25
26
[[nodiscard]]
27
MOUNTAIN_API
const
std::string& GetName()
const
;
28
MOUNTAIN_API
void
SetName(
const
std::string& name);
29
30
[[nodiscard]]
31
MOUNTAIN_API
const
List<Pointer<Texture>
>& GetTextures()
const
;
32
33
[[nodiscard]]
34
MOUNTAIN_API
size_t
GetCurrentIndex()
const
;
35
36
[[nodiscard]]
37
MOUNTAIN_API float_t GetFrameDuration()
const
;
38
MOUNTAIN_API
void
SetFrameDuration(float_t frameDuration);
39
40
[[nodiscard]]
41
MOUNTAIN_API float_t GetUpdateTimer()
const
;
42
43
protected
:
44
void
Update
()
override
;
45
46
private
:
47
std::string m_Name;
48
49
List<Pointer<Texture>
> m_Textures;
50
size_t
m_CurrentIndex = 0;
51
52
float_t m_FrameDuration = 0.1f;
53
float_t m_UpdateTimer = 0.f;
54
};
55
}
Mountain::Component
Represents a behavior that can be attached to an Entity.
Definition:
component.hpp:10
list.hpp
Defines the Mountain::List class.
Mountain::List
A dynamic array implementation. Wrapper around the std::vector class.
Definition:
list.hpp:24
Mountain::Sprite
Definition:
sprite.hpp:12
Mountain::Pointer
Custom Mountain smart pointer. Represents both a std::shared_ptr and a std::weak_ptr.
Definition:
meta_programming.hpp:23
texture.hpp
Defines the Mountain::Texture class.
Mountain::Sprite::SetupTextures
MOUNTAIN_API void SetupTextures()
Initialize the Texture vector.
Mountain::Sprite::Update
void Update() override
Updates the component.
Mountain
Contains all declarations of the Mountain Framework.
Definition:
audio.hpp:22
Mountain
include
Mountain
scene
component
sprite.hpp
Generated by
1.8.13