mirror of
				https://github.com/TES3MP/openmw-tes3mp.git
				synced 2025-10-31 22:56:44 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			98 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef GAME_BASE_INVIRONMENT_H
 | |
| #define GAME_BASE_INVIRONMENT_H
 | |
| 
 | |
| namespace MWBase
 | |
| {
 | |
|     class World;
 | |
|     class ScriptManager;
 | |
|     class DialogueManager;
 | |
|     class Journal;
 | |
|     class SoundManager;
 | |
|     class MechanicsManager;
 | |
|     class InputManager;
 | |
|     class WindowManager;
 | |
|     class StateManager;
 | |
| 
 | |
|     /// \brief Central hub for mw-subsystems
 | |
|     ///
 | |
|     /// This class allows each mw-subsystem to access any others subsystem's top-level manager class.
 | |
|     ///
 | |
|     /// \attention Environment takes ownership of the manager class instances it is handed over in
 | |
|     /// the set* functions.
 | |
|     class Environment
 | |
|     {
 | |
|             static Environment *sThis;
 | |
| 
 | |
|             World *mWorld;
 | |
|             SoundManager *mSoundManager;
 | |
|             ScriptManager *mScriptManager;
 | |
|             WindowManager *mWindowManager;
 | |
|             MechanicsManager *mMechanicsManager;
 | |
|             DialogueManager *mDialogueManager;
 | |
|             Journal *mJournal;
 | |
|             InputManager *mInputManager;
 | |
|             StateManager *mStateManager;
 | |
|             float mFrameDuration;
 | |
| 
 | |
|             Environment (const Environment&);
 | |
|             ///< not implemented
 | |
| 
 | |
|             Environment& operator= (const Environment&);
 | |
|             ///< not implemented
 | |
| 
 | |
|         public:
 | |
| 
 | |
|             Environment();
 | |
| 
 | |
|             ~Environment();
 | |
| 
 | |
|             void setWorld (World *world);
 | |
| 
 | |
|             void setSoundManager (SoundManager *soundManager);
 | |
| 
 | |
|             void setScriptManager (MWBase::ScriptManager *scriptManager);
 | |
| 
 | |
|             void setWindowManager (WindowManager *windowManager);
 | |
| 
 | |
|             void setMechanicsManager (MechanicsManager *mechanicsManager);
 | |
| 
 | |
|             void setDialogueManager (DialogueManager *dialogueManager);
 | |
| 
 | |
|             void setJournal (Journal *journal);
 | |
| 
 | |
|             void setInputManager (InputManager *inputManager);
 | |
| 
 | |
|             void setStateManager (StateManager *stateManager);
 | |
| 
 | |
|             void setFrameDuration (float duration);
 | |
|             ///< Set length of current frame in seconds.
 | |
| 
 | |
|             World *getWorld() const;
 | |
| 
 | |
|             SoundManager *getSoundManager() const;
 | |
| 
 | |
|             ScriptManager *getScriptManager() const;
 | |
| 
 | |
|             WindowManager *getWindowManager() const;
 | |
| 
 | |
|             MechanicsManager *getMechanicsManager() const;
 | |
| 
 | |
|             DialogueManager *getDialogueManager() const;
 | |
| 
 | |
|             Journal *getJournal() const;
 | |
| 
 | |
|             InputManager *getInputManager() const;
 | |
| 
 | |
|             StateManager *getStateManager() const;
 | |
| 
 | |
|             float getFrameDuration() const;
 | |
| 
 | |
|             void cleanup();
 | |
|             ///< Delete all mw*-subsystems.
 | |
| 
 | |
|             static const Environment& get();
 | |
|             ///< Return instance of this class.
 | |
|     };
 | |
| }
 | |
| 
 | |
| #endif
 |