1
0
mirror of https://github.com/borgesdan/xn65 synced 2024-12-29 21:54:47 +01:00

Comentarios e adiciona RemoveService em GameServiceContainer

This commit is contained in:
Danilo 2024-08-02 11:29:56 -03:00
parent 0dd43eb377
commit eb16fefa15
2 changed files with 13 additions and 0 deletions

View File

@ -15,4 +15,12 @@ namespace xna {
? services[hashCode]
: std::any();
}
void GameServiceContainer::RemoveService(Type& type) {
auto hashCode = type.GetHashCode();
if (services.contains(hashCode))
services.erase(hashCode);
}
}

View File

@ -6,13 +6,18 @@
#include <map>
namespace xna {
//A collection of game services.
class GameServiceContainer : public IServiceProvider {
public:
//Adds a service to the GameServiceContainer.
void AddService(Type& type, std::any& provider);
// Inherited via IServiceProvider
std::any GetService(Type& serviceType) override;
//Removes the object providing a specified service.
void RemoveService(Type& type);
private:
std::map<size_t, std::any> services;
};