From ce873108aa91d19104f46c5acd3350385e7a4541 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Blot?= Date: Fri, 30 Mar 2018 18:32:52 +0200 Subject: Client eventmanager refactor (#7179) * Drop EventManager from GameDef & do some client cleanups * EventManager is only used by Client. Don't expose it on Server & GameDef for nothing * Drop Client::event() in favor of direct calls to getEventManager * Cleanup some event put from new + put to put(new) * MtEvent: add Type(u8) enum * This will enhance event performance & ensure stricter type * Drop MtEvent::checkIs (unused) * clang-tidy reported fixes * Code style * Move event_manager.h to the client directory as it's only used by client Add EventManager unittests + switch to unordered_map as order is not important here Drop a unused function --- src/localplayer.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'src/localplayer.cpp') diff --git a/src/localplayer.cpp b/src/localplayer.cpp index a8bd21839..de200910c 100644 --- a/src/localplayer.cpp +++ b/src/localplayer.cpp @@ -417,8 +417,7 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d, */ if(!result.standing_on_object && !touching_ground_was && touching_ground) { - MtEvent *e = new SimpleTriggerEvent("PlayerRegainGround"); - m_client->event()->put(e); + m_client->getEventManager()->put(new SimpleTriggerEvent(MtEvent::PLAYER_REGAIN_GROUND)); // Set camera impact value to be used for view bobbing camera_impact = getSpeed().Y * -1; @@ -634,9 +633,7 @@ void LocalPlayer::applyControl(float dtime, Environment *env) if(speedJ.Y >= -0.5 * BS) { speedJ.Y = movement_speed_jump * physics_override_jump; setSpeed(speedJ); - - MtEvent *e = new SimpleTriggerEvent("PlayerJump"); - m_client->event()->put(e); + m_client->getEventManager()->put(new SimpleTriggerEvent(MtEvent::PLAYER_JUMP)); } } else if(in_liquid) @@ -1013,8 +1010,7 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d, } if (!result.standing_on_object && !touching_ground_was && touching_ground) { - MtEvent *e = new SimpleTriggerEvent("PlayerRegainGround"); - m_client->event()->put(e); + m_client->getEventManager()->put(new SimpleTriggerEvent(MtEvent::PLAYER_REGAIN_GROUND)); // Set camera impact value to be used for view bobbing camera_impact = getSpeed().Y * -1; } -- cgit v1.2.3