diff options
author | Aki <please@ignore.pl> | 2022-04-01 21:23:39 +0200 |
---|---|---|
committer | Aki <please@ignore.pl> | 2022-04-01 21:23:39 +0200 |
commit | 3c487c5cd69c53d6fea948643c0a76df03516605 (patch) | |
tree | 72730c7b8b26a5ef8fc9a987ec4c16129efd5aac /StarsEx/NetUser.h | |
parent | 8f353abd0bfe18baddd8a8250ab7c4f2d1c83a6e (diff) | |
download | starshatter-3c487c5cd69c53d6fea948643c0a76df03516605.zip starshatter-3c487c5cd69c53d6fea948643c0a76df03516605.tar.gz starshatter-3c487c5cd69c53d6fea948643c0a76df03516605.tar.bz2 |
Moved Stars45 to StarsEx
Diffstat (limited to 'StarsEx/NetUser.h')
-rw-r--r-- | StarsEx/NetUser.h | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/StarsEx/NetUser.h b/StarsEx/NetUser.h new file mode 100644 index 0000000..79b0d2c --- /dev/null +++ b/StarsEx/NetUser.h @@ -0,0 +1,111 @@ +/* Starshatter: The Open Source Project + Copyright (c) 2021-2022, 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 +*/ + + +#ifndef NetUser_h +#define NetUser_h + +#include "Types.h" +#include "NetAddr.h" +#include "NetLobby.h" +#include "Color.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; } + DWORD 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(DWORD 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; + DWORD 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; +}; + +// +-------------------------------------------------------------------+ + +#endif // NetUser_h
\ No newline at end of file |