2024-06-03 21:55:09 -03:00
|
|
|
#include "xna/game/servicecontainer.hpp"
|
2024-05-06 10:32:17 -03:00
|
|
|
|
|
|
|
namespace xna {
|
|
|
|
void GameServiceContainer::AddService(Type& type, std::any& provider)
|
|
|
|
{
|
|
|
|
auto hashCode = type.GetHashCode();
|
|
|
|
services.insert({ hashCode, provider });
|
|
|
|
}
|
|
|
|
|
|
|
|
std::any GameServiceContainer::GetService(Type& serviceType)
|
|
|
|
{
|
|
|
|
auto hashCode = serviceType.GetHashCode();
|
|
|
|
|
|
|
|
return services.contains(hashCode)
|
|
|
|
? services[hashCode]
|
|
|
|
: std::any();
|
|
|
|
}
|
2024-08-02 11:29:56 -03:00
|
|
|
|
|
|
|
void GameServiceContainer::RemoveService(Type& type) {
|
|
|
|
auto hashCode = type.GetHashCode();
|
|
|
|
|
|
|
|
if (services.contains(hashCode))
|
|
|
|
services.erase(hashCode);
|
|
|
|
|
|
|
|
}
|
2024-05-06 10:32:17 -03:00
|
|
|
}
|