menu
This commit is contained in:
@@ -19,7 +19,8 @@ namespace Game {
|
||||
enum class GameStateEnum {
|
||||
RUNNING,
|
||||
PAUSED,
|
||||
STOPPED
|
||||
STOPPED,
|
||||
REPLAY
|
||||
};
|
||||
|
||||
enum class SharedDataType {
|
||||
@@ -59,7 +60,14 @@ namespace Game {
|
||||
static void processPendingEntityRemovals();
|
||||
|
||||
static void pushPlayerPosition(Object::Transform transform) { mPlayerTransformHistory.push_back(transform); }
|
||||
static void pushPlayerFormState(bool isShipMode) { mPlayerFormHistory.push_back(isShipMode); }
|
||||
static void getPlayerPositionHistory(std::vector<Object::Transform>& outHistory) { outHistory = mPlayerTransformHistory; }
|
||||
static void getPlayerFormHistory(std::vector<bool>& outHistory) { outHistory = mPlayerFormHistory; }
|
||||
|
||||
// Replay mode API
|
||||
static bool initReplayMode();
|
||||
static bool playReplayFrame();
|
||||
static void stopReplayMode();
|
||||
|
||||
private:
|
||||
int mTargetUpdatesPerSecond = TARGET_UPDATE_RATE;
|
||||
@@ -69,8 +77,17 @@ namespace Game {
|
||||
static std::unordered_map<std::string, float> mSharedFloats;
|
||||
static std::unordered_map<std::string, bool> mSharedBools;
|
||||
static std::vector<Object::Transform> mPlayerTransformHistory;
|
||||
static std::vector<bool> mPlayerFormHistory;
|
||||
static GameStateEnum mCurrentGameState;
|
||||
float mLastDelta = 0.f;
|
||||
|
||||
// Replay data
|
||||
struct ReplayFrame {
|
||||
float x, y, rotation, scaleX, scaleY;
|
||||
bool isShipMode;
|
||||
};
|
||||
static std::vector<ReplayFrame> mReplayFrames;
|
||||
static size_t mCurrentReplayFrame;
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
|
||||
Reference in New Issue
Block a user