// // Created by koncord on 16.04.17. // #ifndef OPENMW_PROCESSORPLAYERPOSITION_HPP #define OPENMW_PROCESSORPLAYERPOSITION_HPP #include "apps/openmw/mwmp/PlayerProcessor.hpp" namespace mwmp { class ProcessorPlayerPosition : public PlayerProcessor { public: ProcessorPlayerPosition() { BPP_INIT(ID_PLAYER_POSITION) } virtual void Do(PlayerPacket &packet, BasePlayer *player) { if (isLocal()) { if (!isRequest()) { LOG_MESSAGE_SIMPLE(Log::LOG_INFO, "ID_PLAYER_POSITION changed by server"); static_cast(player)->setPosition(); } else static_cast(player)->updatePosition(true); } else if (player != 0) // dedicated player static_cast(player)->updateMarker(); } }; } #endif //OPENMW_PROCESSORPLAYERPOSITION_HPP