25#ifndef PEGASUS_ENERGYMONITOR_H
26#define PEGASUS_ENERGYMONITOR_H
28#include "pegasus/elements.h"
39 void startBlinking(
Sprite *sprite, int32 frame1, int32 frame2, uint32 numBlinks, TimeValue blinkDuration, TimeScale blinkScale);
43 void timeChanged(
const TimeValue)
override;
48 TimeValue _blinkDuration;
55static const uint32 kMaxJMPEnergy = 7200;
57static const uint32 kCasualEnergy = kMaxJMPEnergy * 100 / 100;
58static const uint32 kWorriedEnergy = kMaxJMPEnergy * 50 / 100;
59static const uint32 kNervousEnergy = kMaxJMPEnergy * 25 / 100;
60static const uint32 kPanicStrickenEnergy = kMaxJMPEnergy * 5 / 100;
62static const uint32 kFullEnergy = kCasualEnergy;
64static const uint32 kFrameLightOff = 0;
65static const uint32 kFrameLightYellow = 1;
66static const uint32 kFrameLightOrange = 2;
67static const uint32 kFrameLightRed = 3;
69static const int kEnergyDrainNormal = 1;
70static const int kMarsReactorEnergyDrainNoShield = 6;
71static const int kMarsReactorEnergyDrainWithShield = 3;
72static const int kWSCPoisonEnergyDrainWithDart = 20;
73static const int kWSCPoisonEnergyDrainNoDart = 10;
80 void setEnergyValue(
const uint32);
81 void startEnergyDraining();
84 void stopEnergyDraining();
85 void drainEnergy(
const int32);
86 int32 getCurrentEnergy();
88 void restoreLastEnergyValue();
89 void saveCurrentEnergyValue();
91 void calibrateEnergyBar();
94 void timeChanged(
const TimeValue)
override;
103 bool _calibrating, _dontFlash;
Definition: rational.h:40
Definition: energymonitor.h:34
Definition: energymonitor.h:75
Definition: elements.h:117
Definition: elements.h:168