- m_observers.detach(observer);
- }
- bool realised() const
- {
- return m_skin != 0;
- }
- void realise(const char* name)
- {
- ASSERT_MESSAGE(!realised(), "Doom3ModelSkinCacheElement::realise: already realised");
- m_skin = &g_skins.getSkin(name);
- m_observers.realise();
- }
- void unrealise()
- {
- ASSERT_MESSAGE(realised(), "Doom3ModelSkinCacheElement::unrealise: not realised");
- m_observers.unrealise();
- m_skin = 0;
- }
- const char* getRemap(const char* name) const
- {
- ASSERT_MESSAGE(realised(), "Doom3ModelSkinCacheElement::getRemap: not realised");
- return m_skin->getRemap(name);
- }
- void forEachRemap(const SkinRemapCallback& callback) const
- {
- ASSERT_MESSAGE(realised(), "Doom3ModelSkinCacheElement::forEachRemap: not realised");
- m_skin->forEachRemap(callback);
- }
-};