#pragma once

#include "Mob.h"
#include "GameMode.h"
#include "PlayerInventory.h"
#include "Level.h"
#include "ContainerManagerModel.h"
#include "LoopbackPacketSender.h"

class Player : public Mob {
public:
	auto getGameMode() -> GameMode*;
	auto getDeviceId() -> std::string;
	auto setDeviceId(std::string) -> void;
	auto getPlayerInventory() -> PlayerInventory*;
	auto getLevel() -> Level*;
	auto getContainerManagerModel() -> ContainerManagerModel*;
	auto getLoopbackPacketSender() -> LoopbackPacketSender*;

	auto teleportTo(glm::vec3 pos) -> void;
	auto swing() -> void;
	auto setSprinting(bool state) -> void;
	auto displayClientMessage(std::string msg) -> void;
};
