mirror of https://github.com/AxioDL/metaforce.git
27 lines
542 B
C++
27 lines
542 B
C++
#pragma once
|
|
|
|
#include <vector>
|
|
#include "Runtime/RetroTypes.hpp"
|
|
|
|
namespace urde {
|
|
class CStateManager;
|
|
|
|
struct CStaticInterferenceSource {
|
|
TUniqueId id;
|
|
float magnitude;
|
|
float timeLeft;
|
|
};
|
|
|
|
class CStaticInterference {
|
|
std::vector<CStaticInterferenceSource> m_sources;
|
|
|
|
public:
|
|
explicit CStaticInterference(size_t sourceCount);
|
|
void RemoveSource(TUniqueId id);
|
|
void Update(CStateManager&, float dt);
|
|
float GetTotalInterference() const;
|
|
void AddSource(TUniqueId id, float magnitude, float duration);
|
|
};
|
|
|
|
} // namespace urde
|