#include "ObjectManager.h"
ObjectManager* ObjectManager::instance = 0;
ObjectManager& ObjectManager::getInstance()
{
if ( !instance )
{
instance = new ObjectManager();
instance->InitialiseInstence();
}
return *instance;
}
void ObjectManager::destroy()
{
if ( instance )
{
if ( instance->timer )
delete instance->timer;
if ( instance->gameObjects )
delete gameObjects;
delete instance;
}
instance = 0;
}
void ObjectManager::InitialiseInstence()
{
// Initialise Pointers
timer = new sf::Clock;
gameObjects = new std::map<std::string, GameObject*>;
}
ObjectManager::~ObjectManager()
{
}
I2luY2x1ZGUgIk9iamVjdE1hbmFnZXIuaCIKCk9iamVjdE1hbmFnZXIqIE9iamVjdE1hbmFnZXI6Omluc3RhbmNlID0gMDsKCk9iamVjdE1hbmFnZXImIE9iamVjdE1hbmFnZXI6OmdldEluc3RhbmNlKCkKewoJaWYgKCAhaW5zdGFuY2UgKQoJewoJCWluc3RhbmNlID0gbmV3IE9iamVjdE1hbmFnZXIoKTsKCQlpbnN0YW5jZS0+SW5pdGlhbGlzZUluc3RlbmNlKCk7Cgl9CglyZXR1cm4gKmluc3RhbmNlOwp9Cgp2b2lkIE9iamVjdE1hbmFnZXI6OmRlc3Ryb3koKQp7CglpZiAoIGluc3RhbmNlICkKCXsKCQlpZiAoIGluc3RhbmNlLT50aW1lciApCgkJCWRlbGV0ZSBpbnN0YW5jZS0+dGltZXI7CgkJCgkJaWYgKCBpbnN0YW5jZS0+Z2FtZU9iamVjdHMgKQoJCQlkZWxldGUgZ2FtZU9iamVjdHM7CgoJCWRlbGV0ZSBpbnN0YW5jZTsKCX0KCWluc3RhbmNlID0gMDsKfQoKdm9pZCBPYmplY3RNYW5hZ2VyOjpJbml0aWFsaXNlSW5zdGVuY2UoKQp7CgkvLyBJbml0aWFsaXNlIFBvaW50ZXJzCgl0aW1lciA9IG5ldyBzZjo6Q2xvY2s7CglnYW1lT2JqZWN0cyA9IG5ldyBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgR2FtZU9iamVjdCo+OwoKfQoKT2JqZWN0TWFuYWdlcjo6fk9iamVjdE1hbmFnZXIoKQp7Cn0K