mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-03 17:33:05 +00:00
SWORD25: Convert object registries to singletons
svn-id: r53431
This commit is contained in:
parent
8f4f0d16fc
commit
9b4d41d2d2
@ -39,9 +39,12 @@
|
||||
#include "sword25/gfx/animationtemplateregistry.h"
|
||||
#include "sword25/gfx/animationtemplate.h"
|
||||
|
||||
namespace Sword25 {
|
||||
// TODO: Destroy the singletons when closing the engine;
|
||||
// even better, turn them into non-singleton members of
|
||||
// e.g. Sword25Engine.
|
||||
DECLARE_SINGLETON(Sword25::AnimationTemplateRegistry)
|
||||
|
||||
Common::ScopedPtr<AnimationTemplateRegistry> AnimationTemplateRegistry::_instancePtr;
|
||||
namespace Sword25 {
|
||||
|
||||
void AnimationTemplateRegistry::logErrorLn(const char *message) const {
|
||||
BS_LOG_ERRORLN(message);
|
||||
|
@ -39,19 +39,17 @@
|
||||
#include "sword25/kernel/persistable.h"
|
||||
#include "sword25/kernel/objectregistry.h"
|
||||
|
||||
#include "common/ptr.h"
|
||||
#include "common/singleton.h"
|
||||
|
||||
namespace Sword25 {
|
||||
|
||||
class AnimationTemplate;
|
||||
|
||||
class AnimationTemplateRegistry : public ObjectRegistry<AnimationTemplate>, public Persistable {
|
||||
class AnimationTemplateRegistry :
|
||||
public ObjectRegistry<AnimationTemplate>,
|
||||
public Persistable,
|
||||
public Common::Singleton<AnimationTemplateRegistry> {
|
||||
public:
|
||||
static AnimationTemplateRegistry &instance() {
|
||||
if (!_instancePtr.get())
|
||||
_instancePtr.reset(new AnimationTemplateRegistry);
|
||||
return *_instancePtr.get();
|
||||
}
|
||||
|
||||
virtual bool persist(OutputPersistenceBlock &writer);
|
||||
virtual bool unpersist(InputPersistenceBlock &reader);
|
||||
@ -59,8 +57,6 @@ public:
|
||||
private:
|
||||
virtual void logErrorLn(const char *message) const;
|
||||
virtual void logWarningLn(const char *message) const;
|
||||
|
||||
static Common::ScopedPtr<AnimationTemplateRegistry> _instancePtr;
|
||||
};
|
||||
|
||||
} // End of namespace Sword25
|
||||
|
@ -46,6 +46,7 @@
|
||||
// Includes
|
||||
#include "common/array.h"
|
||||
#include "common/rect.h"
|
||||
#include "common/ptr.h"
|
||||
#include "common/str.h"
|
||||
#include "graphics/surface.h"
|
||||
#include "sword25/kernel/common.h"
|
||||
|
@ -34,14 +34,15 @@
|
||||
|
||||
#include "sword25/gfx/renderobjectregistry.h"
|
||||
|
||||
#include "common/ptr.h"
|
||||
// TODO: Destroy the singletons when closing the engine;
|
||||
// even better, turn them into non-singleton members of
|
||||
// e.g. Sword25Engine.
|
||||
DECLARE_SINGLETON(Sword25::RenderObjectRegistry)
|
||||
|
||||
namespace Sword25 {
|
||||
|
||||
#define BS_LOG_PREFIX "RENDEROBJECTREGISTRY"
|
||||
|
||||
Common::ScopedPtr<RenderObjectRegistry> RenderObjectRegistry::_instancePtr;
|
||||
|
||||
void RenderObjectRegistry::logErrorLn(const char *message) const {
|
||||
BS_LOG_ERRORLN(message);
|
||||
}
|
||||
|
@ -42,7 +42,7 @@
|
||||
#include "sword25/kernel/common.h"
|
||||
#include "sword25/kernel/objectregistry.h"
|
||||
|
||||
#include "common/ptr.h"
|
||||
#include "common/singleton.h"
|
||||
|
||||
namespace Sword25 {
|
||||
|
||||
@ -56,21 +56,12 @@ class RenderObject;
|
||||
// Klassendeklaration
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
class RenderObjectRegistry : public ObjectRegistry<RenderObject> {
|
||||
public:
|
||||
static RenderObjectRegistry &instance() {
|
||||
if (!_instancePtr.get())
|
||||
_instancePtr.reset(new RenderObjectRegistry);
|
||||
return *_instancePtr.get();
|
||||
}
|
||||
|
||||
virtual ~RenderObjectRegistry() {}
|
||||
|
||||
class RenderObjectRegistry :
|
||||
public ObjectRegistry<RenderObject>,
|
||||
public Common::Singleton<RenderObjectRegistry> {
|
||||
private:
|
||||
virtual void logErrorLn(const char *message) const;
|
||||
virtual void logWarningLn(const char *message) const;
|
||||
|
||||
static Common::ScopedPtr<RenderObjectRegistry> _instancePtr;
|
||||
};
|
||||
|
||||
} // End of namespace Sword25
|
||||
|
@ -39,9 +39,12 @@
|
||||
#include "sword25/math/regionregistry.h"
|
||||
#include "sword25/math/region.h"
|
||||
|
||||
namespace Sword25 {
|
||||
// TODO: Destroy the singletons when closing the engine;
|
||||
// even better, turn them into non-singleton members of
|
||||
// e.g. Sword25Engine.
|
||||
DECLARE_SINGLETON(Sword25::RegionRegistry)
|
||||
|
||||
Common::SharedPtr<RegionRegistry> RegionRegistry::_instancePtr;
|
||||
namespace Sword25 {
|
||||
|
||||
void RegionRegistry::logErrorLn(const char *message) const {
|
||||
BS_LOG_ERRORLN(message);
|
||||
|
@ -35,7 +35,8 @@
|
||||
#ifndef SWORD25_REGIONREGISTRY_H
|
||||
#define SWORD25_REGIONREGISTRY_H
|
||||
|
||||
#include "common/ptr.h"
|
||||
#include "common/singleton.h"
|
||||
|
||||
#include "sword25/kernel/common.h"
|
||||
#include "sword25/kernel/persistable.h"
|
||||
#include "sword25/kernel/objectregistry.h"
|
||||
@ -44,21 +45,17 @@ namespace Sword25 {
|
||||
|
||||
class Region;
|
||||
|
||||
class RegionRegistry : public ObjectRegistry<Region>, public Persistable {
|
||||
class RegionRegistry :
|
||||
public ObjectRegistry<Region>,
|
||||
public Persistable,
|
||||
public Common::Singleton<RegionRegistry> {
|
||||
public:
|
||||
static RegionRegistry &instance() {
|
||||
if (!_instancePtr.get()) _instancePtr = Common::SharedPtr<RegionRegistry>(new RegionRegistry());
|
||||
return *_instancePtr.get();
|
||||
}
|
||||
|
||||
virtual bool persist(OutputPersistenceBlock &writer);
|
||||
virtual bool unpersist(InputPersistenceBlock &reader);
|
||||
|
||||
private:
|
||||
virtual void logErrorLn(const char *message) const;
|
||||
virtual void logWarningLn(const char *message) const;
|
||||
|
||||
static Common::SharedPtr<RegionRegistry> _instancePtr;
|
||||
};
|
||||
|
||||
} // End of namespace Sword25
|
||||
|
Loading…
x
Reference in New Issue
Block a user