mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-10 10:18:21 +00:00
51 lines
1.3 KiB
C
51 lines
1.3 KiB
C
|
#ifndef __POSITIONUPDATE__H__
|
||
|
#define __POSITIONUPDATE__H__
|
||
|
|
||
|
#include "NiPoint3.h"
|
||
|
#include "NiQuaternion.h"
|
||
|
|
||
|
|
||
|
struct RemoteInputInfo {
|
||
|
RemoteInputInfo() {
|
||
|
m_RemoteInputX = 0;
|
||
|
m_RemoteInputY = 0;
|
||
|
m_IsPowersliding = false;
|
||
|
m_IsModified = false;
|
||
|
}
|
||
|
|
||
|
void operator=(const RemoteInputInfo& other) {
|
||
|
m_RemoteInputX = other.m_RemoteInputX;
|
||
|
m_RemoteInputY = other.m_RemoteInputY;
|
||
|
m_IsPowersliding = other.m_IsPowersliding;
|
||
|
m_IsModified = other.m_IsModified;
|
||
|
}
|
||
|
|
||
|
bool operator==(const RemoteInputInfo& other) {
|
||
|
return m_RemoteInputX == other.m_RemoteInputX && m_RemoteInputY == other.m_RemoteInputY && m_IsPowersliding == other.m_IsPowersliding && m_IsModified == other.m_IsModified;
|
||
|
}
|
||
|
|
||
|
float m_RemoteInputX;
|
||
|
float m_RemoteInputY;
|
||
|
bool m_IsPowersliding;
|
||
|
bool m_IsModified;
|
||
|
};
|
||
|
|
||
|
struct LocalSpaceInfo {
|
||
|
LWOOBJID objectId = LWOOBJID_EMPTY;
|
||
|
NiPoint3 position = NiPoint3::ZERO;
|
||
|
NiPoint3 linearVelocity = NiPoint3::ZERO;
|
||
|
};
|
||
|
|
||
|
struct PositionUpdate {
|
||
|
NiPoint3 position = NiPoint3::ZERO;
|
||
|
NiQuaternion rotation = NiQuaternion::IDENTITY;
|
||
|
bool onGround = false;
|
||
|
bool onRail = false;
|
||
|
NiPoint3 velocity = NiPoint3::ZERO;
|
||
|
NiPoint3 angularVelocity = NiPoint3::ZERO;
|
||
|
LocalSpaceInfo localSpaceInfo;
|
||
|
RemoteInputInfo remoteInputInfo;
|
||
|
};
|
||
|
|
||
|
#endif //!__POSITIONUPDATE__H__
|