1#ifndef GAME_CLIENT_COMPONENTS_ENVELOPE_STATE_H
2#define GAME_CLIENT_COMPONENTS_ENVELOPE_STATE_H
3
4#include <game/client/component.h>
5#include <game/map/render_interfaces.h>
6#include <game/map/render_map.h>
7
8#include <memory>
9
10class CEnvelopeState : public CComponent, public IEnvelopeEval
11{
12public:
13 CEnvelopeState() :
14 m_pEnvelopePoints(nullptr), m_pMap(nullptr) {}
15 CEnvelopeState(IMap *pMap, bool OnlineOnly);
16 void EnvelopeEval(int TimeOffsetMillis, int Env, ColorRGBA &Result, size_t Channels) override;
17
18 int Sizeof() const override { return sizeof(*this); }
19
20private:
21 std::shared_ptr<CMapBasedEnvelopePointAccess> m_pEnvelopePoints;
22 IMap *m_pMap;
23 bool m_OnlineOnly;
24};
25
26#endif
27