| 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 | |
| 10 | class CEnvelopeState : public CComponent, public IEnvelopeEval |
| 11 | { |
| 12 | public: |
| 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 | |
| 20 | private: |
| 21 | std::shared_ptr<CMapBasedEnvelopePointAccess> m_pEnvelopePoints; |
| 22 | IMap *m_pMap; |
| 23 | bool m_OnlineOnly; |
| 24 | }; |
| 25 | |
| 26 | #endif |
| 27 |