galaxy 1.0.0
Real-Time C++23 Game Programming Framework. Built on data-driven design principles and agile software engineering.
Loading...
Searching...
No Matches
LuaMap.cpp
Go to the documentation of this file.
1
7
8#include <sol/sol.hpp>
9
10#include "galaxy/core/ServiceLocator.hpp"
11#include "galaxy/map/World.hpp"
12
13#include "Lua.hpp"
14
15namespace galaxy
16{
17 namespace lua
18 {
20 {
21 auto& lua = core::ServiceLocator<sol::state>::ref();
22
23 auto map_type = lua.new_usertype<map::Map>("Map", sol::constructors<map::Map()>());
24 map_type["load"] = &map::Map::load;
25 map_type["registry"] = &map::Map::m_registry;
26 map_type["name"] = &map::Map::name;
27
28 auto world_type = lua.new_usertype<map::World>("World", sol::constructors<map::World()>());
29 world_type["file"] = &map::World::file;
30 world_type["get_active"] = &map::World::get_active;
31 world_type["load"] = &map::World::load;
32 world_type["name"] = &map::World::name;
33 world_type["parse"] = &map::World::parse;
34 world_type["set_active"] = &map::World::set_active;
35 world_type["clear"] = &map::World::clear;
36 world_type["loaded"] = &map::World::loaded;
37 }
38 } // namespace lua
39} // namespace galaxy
An LDTK level.
Definition Map.hpp:26
core::Registry m_registry
Map entities.
Definition Map.hpp:103
void load(const ldtk::Level &level)
Load a map from an ldtk level.
Definition Map.cpp:50
const std::string & name() const
Get map name.
Definition Map.cpp:150
An LDTK level.
Definition World.hpp:24
bool load(const std::string &file)
Load a world.
Definition World.cpp:37
const std::string & name() const
Get world name.
Definition World.cpp:102
void set_active(const std::string &map)
Set currently active map.
Definition World.cpp:85
bool loaded() const
Check if load() was called.
Definition World.cpp:112
map::Map * get_active() const
Get currently active map.
Definition World.cpp:97
void parse()
Parse world and create entities.
Definition World.cpp:63
const std::string & file() const
Get file.
Definition World.cpp:107
void clear()
Clear all map and world data.
Definition World.cpp:77
void inject_map()
Injects mapping into Lua.
Definition LuaMap.cpp:19
Timer.hpp galaxy.
Definition Async.hpp:17