-
Notifications
You must be signed in to change notification settings - Fork 47
/
EClassColourManager.h
33 lines (25 loc) · 982 Bytes
/
EClassColourManager.h
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
31
32
33
#pragma once
#include <map>
#include "ieclasscolours.h"
namespace eclass
{
class EClassColourManager :
public IColourManager
{
private:
std::map<std::string, Vector3> _overrides;
sigc::signal<void, const std::string&, bool> _overrideChangedSignal;
public:
// IColourManager implementation
void addOverrideColour(const std::string& eclass, const Vector3& colour) override;
void applyColours(IEntityClass& eclass) override;
void foreachOverrideColour(const std::function<void(const std::string&, const Vector3&)>& functor) override;
void removeOverrideColour(const std::string& eclass) override;
void clearOverrideColours() override;
sigc::signal<void, const std::string&, bool>& sig_overrideColourChanged() override;
// RegisterableModule implementation
const std::string& getName() const override;
const StringSet& getDependencies() const override;
void initialiseModule(const IApplicationContext& ctx) override;
};
}