summaryrefslogtreecommitdiff
path: root/src/environment.h
blob: e728c505c2181c4d6e3a8f475daa3872d9a76256 (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
#ifndef ENVIRONMENT_H
#define ENVIRONMENT_H

#include <bu/string.h>
#include <bu/hash.h>
#include "function.h"
#include "situation.h"
#include "scope.h"

class Environment
{
public:
	Environment();
	virtual ~Environment();

private:
	typedef Bu::Hash<Bu::String, Function *> FunctionHash;
	typedef Bu::Hash<Bu::String, Situation *> SituationHash;
	typedef Bu::Hash<Bu::String, Scope *> ScopeHash;
	FunctionHash hFunction;
	SituationHash hSituation;
	ScopeHash hSituationScope;
	Scope sGlobal;
	Scope sPlayer;
	Bu::String sCurSituation;
};

#endif