blob: 69499f478f1a760f34f9b9cab2797ed4b18467de (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
/* Starshatter: The Open Source Project
Copyright (c) 2021-2024, Starshatter: The Open Source Project Contributors
Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors
Copyright (c) 1997-2006, Destroyer Studios LLC.
AUTHOR: John DiCamillo
OVERVIEW
========
This class represents a user connecting to the multiplayer lobby
*/
#pragma once
#include <cstdint>
#include <Text.h>
#include "Color.h"
#include "NetAddr.h"
#include "NetLobby.h"
// +-------------------------------------------------------------------+
class Player;
// +-------------------------------------------------------------------+
class NetUser
{
public:
static const char* TYPENAME() { return "NetUser"; }
NetUser(const char* name);
NetUser(const Player* player);
virtual ~NetUser();
int operator == (const NetUser& u) const { return this == &u; }
const Text& Name() const { return name; }
const Text& Pass() const { return pass; }
const NetAddr& GetAddress() const { return addr; }
Color GetColor() const { return color; }
const Text& GetSessionID() const { return session_id; }
std::uint32_t GetNetID() const { return netid; }
bool IsHost() const { return host; }
int AuthLevel() const { return auth_level; }
int AuthState() const { return auth_state; }
const char* Salt() const { return salt; }
bool IsAuthOK() const;
const Text& Squadron() const { return squadron; }
const Text& Signature() const { return signature; }
int Rank() const { return rank; }
int FlightTime() const { return flight_time; }
int Missions() const { return missions; }
int Kills() const { return kills; }
int Losses() const { return losses; }
void SetName(const char* n) { name = n; }
void SetPass(const char* p) { pass = p; }
void SetAddress(const NetAddr& a)
{ addr = a; }
void SetColor(Color c) { color = c; }
void SetNetID(std::uint32_t id) { netid = id; }
void SetSessionID(Text s) { session_id = s; }
void SetHost(bool h) { host = h; }
void SetAuthLevel(int n) { auth_level = n; }
void SetAuthState(int n) { auth_state = n; }
void SetSalt(const char* s) { strcpy_s(salt, s);}
void SetSquadron(const char* s) { squadron = s; }
void SetSignature(const char* s){ signature = s; }
void SetRank(int n) { rank = n; }
void SetFlightTime(int n) { flight_time = n;}
void SetMissions(int n) { missions = n; }
void SetKills(int n) { kills = n; }
void SetLosses(int n) { losses = n; }
Text GetDescription();
protected:
Text name;
Text pass;
Text session_id;
NetAddr addr;
std::uint32_t netid;
Color color;
bool host;
// authentication:
int auth_state;
int auth_level;
char salt[33];
// stats:
Text squadron;
Text signature;
int rank;
int flight_time;
int missions;
int kills;
int losses;
};
|