db65e11d57
protocol for vehicles now properly handled, protocol for boat paddles now properly handled, boats can no longer spawn underwater, boats now properly float, boat metadata now properly broadcasted.
60 lines
1.2 KiB
C++
60 lines
1.2 KiB
C++
|
|
// Boat.h
|
|
|
|
// Declares the cBoat class representing a boat in the world
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
#include "Entity.h"
|
|
|
|
|
|
|
|
|
|
|
|
class cBoat :
|
|
public cEntity
|
|
{
|
|
typedef cEntity super;
|
|
|
|
public:
|
|
CLASS_PROTODEF(cBoat)
|
|
|
|
// cEntity overrides:
|
|
virtual void SpawnOn(cClientHandle & a_ClientHandle) override;
|
|
virtual void OnRightClicked(cPlayer & a_Player) override;
|
|
virtual bool DoTakeDamage(TakeDamageInfo & TDI) override;
|
|
virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override;
|
|
virtual void HandleSpeedFromAttachee(float a_Forward, float a_Sideways) override;
|
|
|
|
cBoat(double a_X, double a_Y, double a_Z);
|
|
|
|
int GetLastDamage(void) const { return m_LastDamage; }
|
|
int GetForwardDirection(void) const { return m_ForwardDirection; }
|
|
|
|
float GetDamageTaken(void) const { return m_DamageTaken; }
|
|
|
|
int GetType(void) const { return m_Type; }
|
|
|
|
bool IsRightPaddleUsed(void) const { return m_RightPaddleUsed; }
|
|
bool IsLeftPaddleUsed(void) const { return m_LeftPaddleUsed; }
|
|
|
|
void SetLastDamage(int TimeSinceLastHit);
|
|
|
|
void UpdatePaddles(bool rightPaddleUsed, bool leftPaddleUsed);
|
|
|
|
private:
|
|
int m_LastDamage;
|
|
int m_ForwardDirection;
|
|
|
|
float m_DamageTaken;
|
|
|
|
int m_Type;
|
|
|
|
bool m_RightPaddleUsed;
|
|
bool m_LeftPaddleUsed;
|
|
} ;
|