mirror of
https://github.com/SantaSpeen/BeamMP-Server.git
synced 2026-04-03 09:56:01 +00:00
98 lines
2.0 KiB
C++
98 lines
2.0 KiB
C++
///
|
|
/// Created by Anonymous275 on 5/8/2020
|
|
///
|
|
#include "Client.hpp"
|
|
|
|
#include <memory>
|
|
|
|
std::string Client::GetName() {
|
|
return Name;
|
|
}
|
|
void Client::SetName(const std::string& name) {
|
|
Name = name;
|
|
}
|
|
void Client::SetRoles(const std::string& role) {
|
|
Role = role;
|
|
}
|
|
std::string Client::GetRoles() {
|
|
return Role;
|
|
}
|
|
int Client::GetID() {
|
|
return ID;
|
|
}
|
|
void Client::SetID(int id) {
|
|
ID = id;
|
|
}
|
|
void Client::SetStatus(int state) {
|
|
Status = state;
|
|
}
|
|
int Client::GetStatus() {
|
|
return Status;
|
|
}
|
|
void Client::SetUDPAddr(sockaddr_in Addr) {
|
|
UDPADDR = Addr;
|
|
}
|
|
sockaddr_in Client::GetUDPAddr() {
|
|
return UDPADDR;
|
|
}
|
|
void Client::SetTCPSock(SOCKET CSock) {
|
|
TCPSOCK = CSock;
|
|
}
|
|
SOCKET Client::GetTCPSock() {
|
|
return TCPSOCK;
|
|
}
|
|
void Client::DeleteCar(int ident) {
|
|
for (auto& v : VehicleData) {
|
|
if (v != nullptr && v->ID == ident) {
|
|
VehicleData.erase(v);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
void Client::ClearCars() {
|
|
VehicleData.clear();
|
|
}
|
|
int Client::GetOpenCarID() {
|
|
int OpenID = 0;
|
|
bool found;
|
|
do {
|
|
found = true;
|
|
for (auto& v : VehicleData) {
|
|
if (v != nullptr && v->ID == OpenID) {
|
|
OpenID++;
|
|
found = false;
|
|
}
|
|
}
|
|
} while (!found);
|
|
return OpenID;
|
|
}
|
|
void Client::AddNewCar(int ident, const std::string& Data) {
|
|
VehicleData.insert(std::make_unique<VData>(VData { ident, Data }));
|
|
}
|
|
|
|
std::set<std::unique_ptr<VData>>& Client::GetAllCars() {
|
|
return VehicleData;
|
|
}
|
|
|
|
std::string Client::GetCarData(int ident) {
|
|
for (auto& v : VehicleData) {
|
|
if (v != nullptr && v->ID == ident) {
|
|
return v->Data;
|
|
}
|
|
}
|
|
DeleteCar(ident);
|
|
return "";
|
|
}
|
|
void Client::SetCarData(int ident, const std::string& Data) {
|
|
for (auto& v : VehicleData) {
|
|
if (v != nullptr && v->ID == ident) {
|
|
v->Data = Data;
|
|
return;
|
|
}
|
|
}
|
|
DeleteCar(ident);
|
|
}
|
|
int Client::GetCarCount() {
|
|
return int(VehicleData.size());
|
|
}
|