1 #pragma once
2 
3 #include <vector>
4 
5 #include "ItemModel.h"
6 
7 class ItemSystem;
8 
9 class IMPPolicy
10 {
11 public:
12 	virtual bool isCodeAccepted(const ST::string& code) const = 0;
13 	virtual uint8_t getStartingLevel() const = 0;
14 	virtual const std::vector<const ItemModel *> & getInventory() const = 0;
15 	virtual const std::vector<const ItemModel *> & getGoodShooterItems() const = 0;
16 	virtual const std::vector<const ItemModel *> & getNormalShooterItems() const = 0;
17 	// this could be defaulted in C++11
~IMPPolicy()18 	virtual ~IMPPolicy() {}
19 };
20