GameObjectPtr SceneManager::CreateGameObject()
	{
		GameObjectPtr object = std::make_shared<GameObject>();
		object->SetWeakThis(std::weak_ptr<GameObject>(object));
		mGameObjects.insert(std::make_pair<int, GameObjectPtr>(object->GetID(), object));
		return object;
	}
	void SceneManager::RegisterGameObject(GameObjectPtr object)
	{
		mGameObjects.insert(std::make_pair<int, GameObjectPtr>(object->GetID(), object));
	}