DarkflameServer/dGame/PlayerManager.h
David Markowitz a62f6d63c6
chore: Move static Player functions and internal linkage to manager class (#1412)
* Moving and organizing Player code

- Move code to CharacterComponent
- Remove extraneous interfaces
- Simplify some code greatly
- Change some types to return and take in const ref (only structs larger than 8 bytes benefit from this change.)
- Update code to use CharacterComponent for sending to zone instead of Player*.

* Moving and organizing Player code

- Move code to CharacterComponent
- Remove extraneous interfaces
- Simplify some code greatly
- Change some types to return and take in const ref (only structs larger than 8 bytes benefit from this change.)
- Update code to use CharacterComponent for sending to zone instead of Player*.
- Remove static storage container (static containers can be destroyed before exit/terminate handler executes)

* remove player cast

* Remove extra includes

* Add a player manager

Used for the static Player functions.  Further removes stuff from the Player class/file.
2024-01-13 03:40:56 -06:00

26 lines
457 B
C++

#ifndef __PLAYERMANAGER__H__
#define __PLAYERMANAGER__H__
#include "dCommonVars.h"
#include <string>
class Player;
struct SystemAddress;
namespace PlayerManager {
void AddPlayer(Player* player);
bool RemovePlayer(Player* player);
Player* GetPlayer(const SystemAddress& sysAddr);
Player* GetPlayer(const std::string& name);
Player* GetPlayer(LWOOBJID playerID);
const std::vector<Player*>& GetAllPlayers();
};
#endif //!__PLAYERMANAGER__H__