mirror of
				https://github.com/AxioDL/metaforce.git
				synced 2025-10-27 15:30:23 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			24 lines
		
	
	
		
			693 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			693 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include <vector>
 | |
| 
 | |
| #include "Runtime/RetroTypes.hpp"
 | |
| #include "Runtime/World/CEnergyDrainSource.hpp"
 | |
| 
 | |
| namespace urde {
 | |
| class CStateManager;
 | |
| class CPlayerEnergyDrain {
 | |
|   std::vector<CEnergyDrainSource> x0_sources;
 | |
|   float x10_energyDrainTime = 0.0f;
 | |
| 
 | |
| public:
 | |
|   explicit CPlayerEnergyDrain(u32 numSources);
 | |
|   const std::vector<CEnergyDrainSource>& GetEnergyDrainSources() const { return x0_sources; }
 | |
|   void AddEnergyDrainSource(TUniqueId, float);
 | |
|   void RemoveEnergyDrainSource(TUniqueId id);
 | |
|   float GetEnergyDrainIntensity() const;
 | |
|   float GetEnergyDrainTime() const { return x10_energyDrainTime; }
 | |
|   void ProcessEnergyDrain(const CStateManager&, float);
 | |
| };
 | |
| } // namespace urde
 |