From eeaaebb15c871f31eac3b8c3a3387b177d8c9c22 Mon Sep 17 00:00:00 2001 From: Lynix Date: Sun, 1 Jul 2018 00:36:59 +0200 Subject: [PATCH] Core: Add ObjectLibrary::Clear --- ChangeLog.md | 1 + include/Nazara/Core/ObjectLibrary.hpp | 2 ++ include/Nazara/Core/ObjectLibrary.inl | 14 ++++++++++++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index fea6b4033..17a0a1521 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -118,6 +118,7 @@ Nazara Engine: - SocketPoller will now silently ignore "interrupt errors" - Added RigidBody2D::ClosestPointQuery - Fix Sprite copy constructor not copying corner colors +- Added ObjectLibrary::Clear method Nazara Development Kit: - Added ImageWidget (#139) diff --git a/include/Nazara/Core/ObjectLibrary.hpp b/include/Nazara/Core/ObjectLibrary.hpp index a13fbc3e6..8528f358d 100644 --- a/include/Nazara/Core/ObjectLibrary.hpp +++ b/include/Nazara/Core/ObjectLibrary.hpp @@ -23,6 +23,8 @@ namespace Nz ObjectLibrary() = delete; ~ObjectLibrary() = delete; + static void Clear(); + static ObjectRef Get(const String& name); static bool Has(const String& name); diff --git a/include/Nazara/Core/ObjectLibrary.inl b/include/Nazara/Core/ObjectLibrary.inl index b5384a2a7..83686e04f 100644 --- a/include/Nazara/Core/ObjectLibrary.inl +++ b/include/Nazara/Core/ObjectLibrary.inl @@ -2,6 +2,7 @@ // This file is part of the "Nazara Engine - Core module" // For conditions of distribution and use, see copyright notice in Config.hpp +#include #include #include @@ -9,10 +10,19 @@ namespace Nz { /*! * \ingroup core - * \class Nz::ObjectRef - * \brief Core class that represents a reference to an object + * \class Nz::ObjectLibrary + * \brief Core class containing a collection of objects */ + /*! + * \brief Clears the library, freeing every object it contains + */ + template + void ObjectLibrary::Clear() + { + Type::s_library.clear(); + } + /*! * \brief Gets the ObjectRef object by name * \return Optional reference