fekalnigtacko/src/game/enterable_world.hpp

34 lines
751 B
C++

#pragma once
#include "world.hpp"
#include "drivable_vehicle.hpp"
namespace game
{
class Player;
class PlayerCharacter;
class EnterableWorld : public World
{
public:
EnterableWorld(std::string mapname);
// events
virtual void InsertPlayer(Player& player, const glm::vec3& pos, float yaw);
virtual void PlayerInput(Player& player, PlayerInputType type, bool enabled);
virtual void PlayerViewAnglesChanged(Player& player, float yaw, float pitch);
virtual void RemovePlayer(Player& player);
private:
PlayerCharacter& CreatePlayerCharacter(Player& player, const glm::vec3& position, float yaw);
void RemovePlayerCharacter(Player& player);
private:
std::map<Player*, PlayerCharacter*> player_characters_;
};
}