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)
This commit is contained in:
David Markowitz
2024-01-11 04:33:53 -08:00
parent 66cc582a9a
commit eccd6f691f
15 changed files with 178 additions and 272 deletions

View File

@@ -461,8 +461,9 @@ void SGCannon::RemovePlayer(LWOOBJID playerID) {
return;
auto* character = playerObject->GetCharacter();
if (character != nullptr) {
playerObject->SendToZone(character->GetLastNonInstanceZoneID());
auto* characterComponent = playerObject->GetComponent<CharacterComponent>();
if (characterComponent && character) {
characterComponent->SendToZone(character->GetLastNonInstanceZoneID());
}
}