Manage animations.
More...
#include <anim_manager.hpp>
|
using | DataType |
|
using | DataBlockType |
|
using | DataBlockPointer |
|
using | Map |
|
|
bool | initialize () override |
| Initialize the manager.
|
|
bool | isInitialized () override |
|
void | uninitialize () override |
|
bool | loadFromFile (std::string_view name, std::filesystem::path const &path) |
| Load the animation with the given name from the given file path.
|
|
std::size_t | size () const |
| Get the number of elements in the manager.
|
|
AccessLock< std::mutex > | acquireLock () const |
| Acquire a AccessLock, with the manager mutex.
|
|
Map::const_iterator | begin (AccessLock< std::mutex > const &lock) const |
| Get the "begin" iterator of the manager.
|
|
Map::const_iterator | end (AccessLock< std::mutex > const &lock) const |
| Get the "end" iterator of the manager.
|
|
DataBlockPointer const & | getBadElement () const |
| Get the "bad" element.
|
|
DataBlockPointer | getElement (std::string_view name) const |
| Get the resource with the given name.
|
|
bool | contains (std::string_view name) const |
|
bool | unload (std::string_view name) |
|
void | unloadAll () |
|
bool | push (std::string_view name, DataBlockPointer block) |
| Add a user handled resource.
|
|
|
DataBlockPointer | _g_badElement |
|
Manage animations.
- See also
- TextureManager
◆ acquireLock()
Acquire a AccessLock, with the manager mutex.
In order to use iterators, you have to acquire a unique lock from this function. The lock is not differed and will lock the mutex.
- Returns
- A AccessLock bound to this mutex
◆ begin()
Get the "begin" iterator of the manager.
You have to provide a valid reference to a AccessLock acquired with the function AcquireLock(). This function will throw if one of this is not respected :
- The mutex pointer of the lock does not correspond to this mutex.
- Parameters
-
- Returns
- The "begin" iterator of the texture manager
◆ end()
Get the "end" iterator of the manager.
- See also
- begin()
- Parameters
-
- Returns
- The "end" iterator of the manager
◆ getBadElement()
Get the "bad" element.
A bad element is a "valid" default resource that is returned when the requested resource is not found. return The "bad" element
◆ getElement()
Get the resource with the given name.
- Parameters
-
name | The name of the resource to get |
- Returns
- The resource with the given name or the bad resource if not found
◆ initialize()
bool fge::anim::AnimationManager::initialize |
( |
| ) |
|
|
overridevirtual |
Initialize the manager.
The philosophy with this class is to always return a "valid" element even if the element is not found. When this method is called, a "bad" element is created and stored in the manager.
- Warning
- Note that there is no verification about the above statement, and you can always create your own manager without a "bad" element.
return true if the manager is initialized, false otherwise
Implements fge::manager::BaseManager< AnimationData, DataBlock >.
◆ isInitialized()
bool fge::anim::AnimationManager::isInitialized |
( |
| ) |
|
|
nodiscardoverridevirtual |
◆ loadFromFile()
bool fge::anim::AnimationManager::loadFromFile |
( |
std::string_view | name, |
|
|
std::filesystem::path const & | path ) |
Load the animation with the given name from the given file path.
The specified file must be a valid json file that contains the information of the animation and its groups.
Here is an example of a valid json file:
{
"type": "tileset" or "separate",
"gridSize": {"x": 32, "y": 32}, (not necessary if the type is separate)
"tileset": "test/tileset_test.png", (not necessary if the type is separate)
"animationGroup1": [
{
"path": "path/to/the/texture1", (not necessary if the type is tileset)
"ticks": 10,
"position": {"x": 0, "y": 0} (not necessary if the type is separate)
},
{
"path": "path/to/the/texture2", (not necessary if the type is tileset)
"ticks": 10,
"position": {"x": 1, "y": 0} (not necessary if the type is separate)
}
],
"animationGroup2": [
...
]
}
- Parameters
-
name | The name of the animation to load |
path | The file path of the animation to load |
- Returns
- true if the animation is loaded, false otherwise
◆ push()
Add a user handled resource.
- Parameters
-
name | The name of the texture to add |
block | The block data to add |
- Returns
- true if the resource was added, false otherwise
◆ size()
Get the number of elements in the manager.
return The number of elements in the manager without the "bad" element
◆ uninitialize()
void fge::anim::AnimationManager::uninitialize |
( |
| ) |
|
|
overridevirtual |
The documentation for this class was generated from the following file: