You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
976 B
C++
47 lines
976 B
C++
#ifndef GAME_MWWORLD_DOINGPHYSICS_H
|
|
#define GAME_MWWORLD_DOINGPHYSICS_H
|
|
|
|
namespace MWWorld
|
|
{
|
|
class SuppressDoingPhysics;
|
|
|
|
/// Scope guard for blocking physics updates during physics simulation.
|
|
class DoingPhysics
|
|
{
|
|
static int sCounter;
|
|
static int sSuppress;
|
|
|
|
private:
|
|
|
|
DoingPhysics (const DoingPhysics&);
|
|
DoingPhysics& operator= (const DoingPhysics&);
|
|
|
|
public:
|
|
|
|
DoingPhysics();
|
|
|
|
~DoingPhysics();
|
|
|
|
static bool isDoingPhysics();
|
|
|
|
friend class SuppressDoingPhysics;
|
|
};
|
|
|
|
/// Scope guard for temporarily lifting the block issues by DoingPhysics
|
|
class SuppressDoingPhysics
|
|
{
|
|
private:
|
|
|
|
SuppressDoingPhysics (const SuppressDoingPhysics&);
|
|
SuppressDoingPhysics& operator= (const SuppressDoingPhysics&);
|
|
|
|
public:
|
|
|
|
SuppressDoingPhysics();
|
|
|
|
~SuppressDoingPhysics();
|
|
};
|
|
}
|
|
|
|
#endif
|