blob: 5c314ad0e5fe3c867fd5ee22bc97f2555a9faf9c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#include "stdafx.h"
#include "BehaviorRegistry.h"
BehaviorRegistry::BehaviorRegistry(DispenseItemBehavior *defaultValue)
{
defaultBehavior = defaultValue;
}
BehaviorRegistry::~BehaviorRegistry()
{
for( auto& it : storage )
{
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(make_pair(key, value));
}
|