mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-27 06:47:45 +00:00
Some minor refactorings I came across while working on events.
This commit is contained in:
parent
d34bddc6ae
commit
c647cc2511
6 changed files with 23 additions and 14 deletions
|
@ -171,6 +171,8 @@ void PartyMgr::onDisband( Entity::Player& disbandingPlayer )
|
|||
|
||||
void PartyMgr::onMoveZone( Sapphire::Entity::Player &movingPlayer )
|
||||
{
|
||||
if( movingPlayer.getPartyId() == 0 )
|
||||
return;
|
||||
auto party = getParty( movingPlayer.getPartyId() );
|
||||
assert( party );
|
||||
sendPartyUpdate( *party );
|
||||
|
@ -178,6 +180,9 @@ void PartyMgr::onMoveZone( Sapphire::Entity::Player &movingPlayer )
|
|||
|
||||
void PartyMgr::onMemberDisconnect( Entity::Player& disconnectingPlayer )
|
||||
{
|
||||
if( disconnectingPlayer.getPartyId() == 0 )
|
||||
return;
|
||||
|
||||
auto& server = Common::Service< World::WorldServer >::ref();
|
||||
auto party = getParty( disconnectingPlayer.getPartyId() );
|
||||
assert( party );
|
||||
|
|
|
@ -337,7 +337,7 @@ void PlayerMgr::onClassChanged( Entity::Player& player )
|
|||
onPlayerHpMpTpChanged( player );
|
||||
}
|
||||
|
||||
void PlayerMgr::onLogin( Entity::Player& player )
|
||||
void PlayerMgr::sendLoginMessage( Entity::Player& player )
|
||||
{
|
||||
auto motd = server().getConfig().motd;
|
||||
|
||||
|
@ -349,15 +349,16 @@ void PlayerMgr::onLogin( Entity::Player& player )
|
|||
}
|
||||
}
|
||||
|
||||
void PlayerMgr::onLogin( Entity::Player &player )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void PlayerMgr::onLogout( Entity::Player &player )
|
||||
{
|
||||
auto& partyMgr = Common::Service< World::Manager::PartyMgr >::ref();
|
||||
auto& fcMgr = Common::Service< World::Manager::FreeCompanyMgr >::ref();
|
||||
// send updates to mgrs
|
||||
if( player.getPartyId() != 0 )
|
||||
partyMgr.onMemberDisconnect( player );
|
||||
|
||||
fcMgr.onFcLogout( player.getCharacterId() );
|
||||
}
|
||||
|
||||
void PlayerMgr::onDeath( Entity::Player& player )
|
||||
|
@ -457,11 +458,6 @@ void PlayerMgr::onMoveZone( Sapphire::Entity::Player& player )
|
|||
onGrandCompanyChanged( player );
|
||||
}
|
||||
|
||||
if( player.getPartyId() != 0 )
|
||||
{
|
||||
partyMgr.onMoveZone( player );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void PlayerMgr::onUpdate( Entity::Player& player, uint64_t tickCount )
|
||||
|
|
|
@ -39,6 +39,8 @@ namespace Sapphire::World::Manager
|
|||
|
||||
void onHateListChanged( Sapphire::Entity::Player& player );
|
||||
|
||||
void sendLoginMessage( Sapphire::Entity::Player& player );
|
||||
|
||||
void onLogin( Sapphire::Entity::Player& player );
|
||||
void onLogout( Sapphire::Entity::Player& player );
|
||||
void onDeath( Sapphire::Entity::Player& player );
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#include "HousingMgr.h"
|
||||
#include "WarpMgr.h"
|
||||
#include "PlayerMgr.h"
|
||||
#include "PartyMgr.h"
|
||||
#include "Linkshell/Linkshell.h"
|
||||
|
||||
#include "Territory/Land.h"
|
||||
|
@ -589,6 +590,7 @@ TerritoryMgr::InstanceIdList TerritoryMgr::getInstanceContentIdList( uint16_t in
|
|||
bool TerritoryMgr::movePlayer( Sapphire::Territory& teri, Entity::Player& player )
|
||||
{
|
||||
auto& playerMgr = Common::Service< Manager::PlayerMgr >::ref();
|
||||
auto& partyMgr = Common::Service< Manager::PartyMgr >::ref();
|
||||
|
||||
auto pPrevZone = getTerritoryByGuId( player.getTerritoryId() );
|
||||
|
||||
|
@ -614,6 +616,7 @@ bool TerritoryMgr::movePlayer( Sapphire::Territory& teri, Entity::Player& player
|
|||
|
||||
teri.onBeforePlayerZoneIn( player );
|
||||
playerMgr.onMoveZone( player );
|
||||
partyMgr.onMoveZone( player );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -347,9 +347,11 @@ void Sapphire::Network::GameConnection::loginHandler( const Packets::FFXIVARR_PA
|
|||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcLoginHandler >( inPacket );
|
||||
auto& teriMgr = Common::Service< World::Manager::TerritoryMgr >::ref();
|
||||
auto& fcMgr = Common::Service< World::Manager::FreeCompanyMgr >::ref();
|
||||
auto& playerMgr = Common::Service< World::Manager::PlayerMgr >::ref();
|
||||
player.setIsLogin( true );
|
||||
player.setConnected( true );
|
||||
teriMgr.joinWorld( player );
|
||||
playerMgr.onLogin( player );
|
||||
fcMgr.onFcLogin( player.getCharacterId() );
|
||||
}
|
||||
|
||||
|
@ -382,8 +384,7 @@ void Sapphire::Network::GameConnection::setLanguageHandler( const Packets::FFXIV
|
|||
// if this is a login event
|
||||
if( player.isLogin() )
|
||||
{
|
||||
// fire the onLogin Event
|
||||
playerMgr.onLogin( player );
|
||||
playerMgr.sendLoginMessage( player );
|
||||
}
|
||||
|
||||
// spawn the player for himself
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include "Actor/Player.h"
|
||||
#include "WorldServer.h"
|
||||
#include "Manager/PlayerMgr.h"
|
||||
#include "Manager/FreeCompanyMgr.h"
|
||||
|
||||
#include "Session.h"
|
||||
|
||||
|
@ -78,8 +79,9 @@ void Sapphire::World::Session::close()
|
|||
if( m_pPlayer )
|
||||
{
|
||||
auto& playerMgr = Common::Service< World::Manager::PlayerMgr >::ref();
|
||||
auto& fcMgr = Common::Service< World::Manager::FreeCompanyMgr >::ref();
|
||||
playerMgr.onLogout( *m_pPlayer );
|
||||
|
||||
fcMgr.onFcLogout( m_pPlayer->getCharacterId() );
|
||||
m_pPlayer->unload();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue