mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
RemotePlayer/LocalPlayer Player base class proper separation (code cleanup) (patch 3 of X)
* remove IGameDef from Player class, only LocalPlayer has it now * move many attributes/functions only used by LocalPlayer from Player to LocalPlayer * move many attributes/functions only used by RemotePlayer from Player to RemotePlayer * make some functions const * hudGetHotbarSelectedImage now returns const ref * RemotePlayer getHotbarSelectedImage now returns const ref * various code style fixes
This commit is contained in:
parent
edba6e50d9
commit
7bbd716426
9 changed files with 255 additions and 292 deletions
|
@ -21,8 +21,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
#define LOCALPLAYER_HEADER
|
||||
|
||||
#include "player.h"
|
||||
#include "environment.h"
|
||||
#include <list>
|
||||
|
||||
class Client;
|
||||
class Environment;
|
||||
class GenericCAO;
|
||||
class ClientActiveObject;
|
||||
|
@ -32,7 +34,7 @@ enum LocalPlayerAnimations {NO_ANIM, WALK_ANIM, DIG_ANIM, WD_ANIM}; // no local
|
|||
class LocalPlayer : public Player
|
||||
{
|
||||
public:
|
||||
LocalPlayer(IGameDef *gamedef, const char *name);
|
||||
LocalPlayer(Client *gamedef, const char *name);
|
||||
virtual ~LocalPlayer();
|
||||
|
||||
bool isLocal() const
|
||||
|
@ -42,7 +44,23 @@ public:
|
|||
|
||||
ClientActiveObject *parent;
|
||||
|
||||
bool got_teleported;
|
||||
bool isAttached;
|
||||
bool touching_ground;
|
||||
// This oscillates so that the player jumps a bit above the surface
|
||||
bool in_liquid;
|
||||
// This is more stable and defines the maximum speed of the player
|
||||
bool in_liquid_stable;
|
||||
// Gets the viscosity of water to calculate friction
|
||||
u8 liquid_viscosity;
|
||||
bool is_climbing;
|
||||
bool swimming_vertical;
|
||||
|
||||
float physics_override_speed;
|
||||
float physics_override_jump;
|
||||
float physics_override_gravity;
|
||||
bool physics_override_sneak;
|
||||
bool physics_override_sneak_glitch;
|
||||
|
||||
v3f overridePosition;
|
||||
|
||||
|
@ -71,6 +89,9 @@ public:
|
|||
|
||||
video::SColor light_color;
|
||||
|
||||
float hurt_tilt_timer;
|
||||
float hurt_tilt_strength;
|
||||
|
||||
GenericCAO* getCAO() const {
|
||||
return m_cao;
|
||||
}
|
||||
|
@ -102,6 +123,7 @@ private:
|
|||
bool m_can_jump;
|
||||
|
||||
GenericCAO* m_cao;
|
||||
Client *m_gamedef;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue