00001 #ifndef HEADER_LEVELLOADING_H
00002 #define HEADER_LEVELLOADING_H
00003
00004 class RoomAccess;
00005
00006 #include "NoCopy.h"
00007
00008 #include <string>
00009
00010
00011
00012
00013 class LevelLoading : public NoCopy {
00014 private:
00015 static const int SPEED_REPLAY = 1;
00016
00017 bool m_paused;
00018 bool m_replayMode;
00019 int m_loadSpeed;
00020 std::string m_loadedMoves;
00021 RoomAccess *m_access;
00022 public:
00023 LevelLoading(RoomAccess *access);
00024 void reset();
00025 void loadGame(const std::string &moves);
00026 void loadReplay(const std::string &moves);
00027 void togglePause() { m_paused = !m_paused; }
00028 bool isPaused() const { return m_paused; }
00029
00030 bool isLoading() const;
00031 void nextLoadAction();
00032 };
00033
00034 #endif