blob: 8689f12903a3ff86df2f32edd6758fe7c93d55db (
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_VAR(it, storage.begin()); it != storage.end(); ++it)
{
delete it->second;
}
delete defaultBehavior;
}
DispenseItemBehavior *BehaviorRegistry::get(Item *key)
{
AUTO_VAR(it, storage.find(key));
return (it == storage.end()) ? defaultBehavior : it->second;
}
void BehaviorRegistry::add(Item *key, DispenseItemBehavior *value)
{
storage.insert(make_pair(key, value));
}
|