SDOM - Simple SDL Document Object Model
A lightweight, extensible Document Object Model for SDL-based applications.
Loading...
Searching...
No Matches
SDOM::IAssetObject Class Referenceabstract

#include <SDOM_IAssetObject.hpp>

Inheritance diagram for SDOM::IAssetObject:
SDOM::IDataObject SDOM::IUnitTest SDOM::IFontObject SDOM::SpriteSheet SDOM::TTFAsset SDOM::Texture SDOM::BitmapFont SDOM::TruetypeFont

Classes

struct  InitStruct
 

Public Member Functions

 IAssetObject (const InitStruct &init)
 
 IAssetObject (const sol::table &config)
 
 IAssetObject ()
 
virtual ~IAssetObject ()
 
virtual bool onInit ()=0
 
virtual void onQuit ()=0
 
virtual void onLoad ()=0
 
virtual void onUnload ()=0
 
virtual bool onUnitTest () override
 Runs unit tests for this object.
 
const std::string & getType () const
 
const std::string & getName () const
 
const std::string & getFilename () const
 
bool isInternal () const
 
bool isLoaded () const
 
void setType (const std::string &type)
 
void setName (const std::string &name)
 
void setFilename (const std::string &filename)
 
template<typename T >
T * as ()
 
void registerLuaBindings (const std::string &typeName, sol::state_view lua)
 

Static Public Member Functions

template<typename T >
static T lua_value_case_insensitive (const sol::table &tbl, const std::string &key, const T &default_value)
 

Static Public Attributes

static constexpr const char * TypeName = "IAssetObject"
 

Protected Member Functions

virtual void _registerLuaBindings (const std::string &typeName, sol::state_view lua) override
 

Protected Attributes

std::string name_
 
std::string type_
 
std::string filename_
 
bool isInternal_
 
bool isLoaded_ = false
 
sol::usertype< IAssetObjectobjHandleType_
 

Constructor & Destructor Documentation

◆ IAssetObject() [1/3]

SDOM::IAssetObject::IAssetObject ( const InitStruct init)

◆ IAssetObject() [2/3]

SDOM::IAssetObject::IAssetObject ( const sol::table &  config)

◆ IAssetObject() [3/3]

SDOM::IAssetObject::IAssetObject ( )

◆ ~IAssetObject()

SDOM::IAssetObject::~IAssetObject ( )
virtual

Member Function Documentation

◆ _registerLuaBindings()

void SDOM::IAssetObject::_registerLuaBindings ( const std::string &  typeName,
sol::state_view  lua 
)
overrideprotectedvirtual

◆ as()

template<typename T >
T * SDOM::IAssetObject::as ( )
inline

◆ getFilename()

const std::string & SDOM::IAssetObject::getFilename ( ) const
inline

◆ getName()

const std::string & SDOM::IAssetObject::getName ( ) const
inline

◆ getType()

const std::string & SDOM::IAssetObject::getType ( ) const
inline

◆ isInternal()

bool SDOM::IAssetObject::isInternal ( ) const
inline

◆ isLoaded()

bool SDOM::IAssetObject::isLoaded ( ) const
inline

◆ lua_value_case_insensitive()

template<typename T >
static T SDOM::IDataObject::lua_value_case_insensitive ( const sol::table &  tbl,
const std::string &  key,
const T &  default_value 
)
inlinestaticinherited

◆ onInit()

virtual bool SDOM::IAssetObject::onInit ( )
pure virtual

◆ onLoad()

virtual void SDOM::IAssetObject::onLoad ( )
pure virtual

◆ onQuit()

virtual void SDOM::IAssetObject::onQuit ( )
pure virtual

◆ onUnitTest()

virtual bool SDOM::IAssetObject::onUnitTest ( )
inlineoverridevirtual

Runs unit tests for this object.

Returns
true if all tests pass, false otherwise.

Reimplemented from SDOM::IDataObject.

Reimplemented in SDOM::SpriteSheet, SDOM::Texture, and SDOM::TTFAsset.

◆ onUnload()

virtual void SDOM::IAssetObject::onUnload ( )
pure virtual

◆ registerLuaBindings()

void SDOM::IDataObject::registerLuaBindings ( const std::string &  typeName,
sol::state_view  lua 
)
inlineinherited

◆ setFilename()

void SDOM::IAssetObject::setFilename ( const std::string &  filename)
inline

◆ setName()

void SDOM::IAssetObject::setName ( const std::string &  name)
inline

◆ setType()

void SDOM::IAssetObject::setType ( const std::string &  type)
inline

Member Data Documentation

◆ filename_

std::string SDOM::IAssetObject::filename_
protected

◆ isInternal_

bool SDOM::IAssetObject::isInternal_
protected

◆ isLoaded_

bool SDOM::IAssetObject::isLoaded_ = false
protected

◆ name_

std::string SDOM::IAssetObject::name_
protected

◆ objHandleType_

sol::usertype<IAssetObject> SDOM::IAssetObject::objHandleType_
protected

◆ type_

std::string SDOM::IAssetObject::type_
protected

◆ TypeName

constexpr const char* SDOM::IAssetObject::TypeName = "IAssetObject"
staticconstexpr

The documentation for this class was generated from the following files: