Files
test/source/gameengine/Physics/common/PHY_ICharacter.h
Mitchell Stokes 9191b783bb BGE: Some various changes to make moving the character physics type easier:
* Undoing the previous applyMovement() changes for characters. This was causing bugs for the Motion Actuator.
  * Creating a Character Motion type for the Motion Actuator with specific controls for characters. This includes moving, rotating and jumping.
  * Adding a KX_CharacterWrapper.walkDirection to set the character's direction and speed.

Note, this also resolves the following bugs:
[#33585] "Setting dLoc of motion actuator [0,0,0] via python won't stop object" reported by Manuel Bellersen (urfoex)
[#33503] "Character physics type won´t accept more than one motion anymore" reported by Mr Larodos
2013-01-30 05:55:17 +00:00

40 lines
772 B
C++

/** \file PHY_ICharacter.h
* \ingroup phys
*/
#ifndef __PHY_ICHARACTER_H__
#define __PHY_ICHARACTER_H__
//PHY_ICharacter provides a generic interface for "character" controllers
#ifdef WITH_CXX_GUARDEDALLOC
#include "MEM_guardedalloc.h"
#endif
class PHY_ICharacter
{
public:
virtual ~PHY_ICharacter(){};
virtual void Jump()= 0;
virtual bool OnGround()= 0;
virtual float GetGravity()= 0;
virtual void SetGravity(float gravity)= 0;
virtual int GetMaxJumps()= 0;
virtual void SetMaxJumps(int maxJumps)= 0;
virtual int GetJumpCount()= 0;
virtual void SetWalkDirection(PHY__Vector3 dir)=0;
virtual PHY__Vector3 GetWalkDirection()=0;
#ifdef WITH_CXX_GUARDEDALLOC
MEM_CXX_CLASS_ALLOC_FUNCS("GE:PHY_ICharacter")
#endif
};
#endif //__PHY_ICHARACTER_H__