From 6c14025b2d416105915440e114de927c26e925ac Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Fri, 23 Mar 2012 20:23:03 +0200 Subject: Add event manager and use it to trigger sounds --- src/player.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/player.cpp') diff --git a/src/player.cpp b/src/player.cpp index 48d2c2907..0d4a1cb69 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -31,6 +31,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "collision.h" #include "environment.h" #include "gamedef.h" +#include "event.h" Player::Player(IGameDef *gamedef): touching_ground(false), @@ -367,6 +368,7 @@ void LocalPlayer::move(f32 dtime, Map &map, f32 pos_max_d, Player is allowed to jump when this is true. */ + bool touching_ground_was = touching_ground; touching_ground = false; /*std::cout<<"Checking collisions for (" @@ -608,6 +610,11 @@ void LocalPlayer::move(f32 dtime, Map &map, f32 pos_max_d, collision_info->push_back(info); } } + + if(!touching_ground_was && touching_ground){ + MtEvent *e = new SimpleTriggerEvent("PlayerRegainGround"); + m_gamedef->event()->put(e); + } } void LocalPlayer::move(f32 dtime, Map &map, f32 pos_max_d) @@ -723,6 +730,9 @@ void LocalPlayer::applyControl(float dtime) { speed.Y = 6.5*BS; setSpeed(speed); + + MtEvent *e = new SimpleTriggerEvent("PlayerJump"); + m_gamedef->event()->put(e); } } // Use the oscillating value for getting out of water -- cgit v1.2.3