mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-22 17:18:39 +00:00
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
This commit is contained in:
parent
2c490dddc0
commit
ce873108aa
15 changed files with 249 additions and 185 deletions
|
@ -227,7 +227,7 @@ void ClientEnvironment::step(float dtime)
|
|||
get(m_map->getNodeNoEx(info.node_p));
|
||||
// Determine fall damage multiplier
|
||||
int addp = itemgroup_get(f.groups, "fall_damage_add_percent");
|
||||
pre_factor = 1.0 + (float)addp/100.0;
|
||||
pre_factor = 1.0f + (float)addp / 100.0f;
|
||||
}
|
||||
float speed = pre_factor * speed_diff.getLength();
|
||||
if (speed > tolerance && !player_immortal) {
|
||||
|
@ -235,8 +235,7 @@ void ClientEnvironment::step(float dtime)
|
|||
u8 damage = (u8)MYMIN(damage_f + 0.5, 255);
|
||||
if (damage != 0) {
|
||||
damageLocalPlayer(damage, true);
|
||||
MtEvent *e = new SimpleTriggerEvent("PlayerFallingDamage");
|
||||
m_client->event()->put(e);
|
||||
m_client->getEventManager()->put(new SimpleTriggerEvent(MtEvent::PLAYER_FALLING_DAMAGE));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue