You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openmw-tes3coop/apps/openmw-mp/Factions.hpp

54 lines
1.1 KiB
C++

//
// Created by koncord on 17.08.17.
//
#pragma once
#include <string>
#include <components/openmw-mp/Base/BasePlayer.hpp>
#include "BaseMgr.hpp"
class LuaState;
class Player;
class Faction
{
friend class Factions;
public:
static void Init(LuaState &lua);
public:
explicit Faction(mwmp::Faction &faction);
std::string getFactionId() const;
void setFactionId(const std::string &factionId);
int getFactionRank() const;
void setFactionRank(unsigned int rank);
bool getFactionExpulsionState() const;
void setFactionExpulsionState(bool expulsionState);
int getFactionReputation() const;
void setFactionReputation(int reputation);
mwmp::Faction faction;
};
class Factions final: public BaseMgr
{
public:
static void Init(LuaState &lua);
public:
explicit Factions(Player *player);
~Factions();
void addFaction(const Faction &faction);
Faction getFaction(int id) const;
void setFaction(int id, const Faction &faction);
size_t size() const;
void clear();
private:
void processUpdate() final;
};