mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-24 15:13:37 +00:00
29 lines
673 B
C++
29 lines
673 B
C++
#include "BehaviorRegistry.h"
|
|
|
|
#include <utility>
|
|
|
|
#include "minecraft/core/DispenseItemBehavior.h"
|
|
|
|
class Item;
|
|
|
|
BehaviorRegistry::BehaviorRegistry(DispenseItemBehavior* defaultValue) {
|
|
defaultBehavior = defaultValue;
|
|
}
|
|
|
|
BehaviorRegistry::~BehaviorRegistry() {
|
|
for (auto it = storage.begin(); it != storage.end(); ++it) {
|
|
delete it->second;
|
|
}
|
|
|
|
delete defaultBehavior;
|
|
}
|
|
|
|
DispenseItemBehavior* BehaviorRegistry::get(Item* key) {
|
|
auto it = storage.find(key);
|
|
|
|
return (it == storage.end()) ? defaultBehavior : it->second;
|
|
}
|
|
|
|
void BehaviorRegistry::add(Item* key, DispenseItemBehavior* value) {
|
|
storage.insert(std::make_pair(key, value));
|
|
} |