From: LockedLunatic Date: Tue, 28 Jun 2016 04:30:24 +0000 (+0200) Subject: Boar revives when time reverted X-Git-Url: https://git.leopard-lacewing.eu/?a=commitdiff_plain;h=8537bb33e978ab303917503af9b0fcec609256db;p=cgue_weave.git Boar revives when time reverted --- diff --git a/Weave/Scene/Boar.cpp b/Weave/Scene/Boar.cpp index 9b1c76f..aebc28b 100644 --- a/Weave/Scene/Boar.cpp +++ b/Weave/Scene/Boar.cpp @@ -21,6 +21,7 @@ Boar::Boar(const mat4& _modelMat) : Boar::~Boar() { + } void Boar::update(float _deltaT) @@ -137,6 +138,11 @@ void Boar::collides(SceneObject * _other, btPersistentManifold * _contactManifol //BOAR DIE!!! alive = false; + if (!timeresistant) + { + mainScene->addEvent(this, 5); + } + _other->move(-pdist * (float).5 * vec3(0.f, normal[1], 0.f)); } @@ -158,3 +164,8 @@ void Boar::collides(SceneObject * _other, btPersistentManifold * _contactManifol activated = true; } + +void Boar::revive() +{ + alive = true; +} \ No newline at end of file diff --git a/Weave/Scene/Boar.h b/Weave/Scene/Boar.h index fc3b807..70058e7 100644 --- a/Weave/Scene/Boar.h +++ b/Weave/Scene/Boar.h @@ -14,6 +14,7 @@ public: //virtual void draw(drawTarget target = DRAW_Model) const override; virtual void collides(SceneObject* other, btPersistentManifold* contactManifold, float deltaT = 1.f) override; + void revive(); protected: bool activated = false; diff --git a/Weave/Scene/Scene.cpp b/Weave/Scene/Scene.cpp index 76fc7b9..75917db 100644 --- a/Weave/Scene/Scene.cpp +++ b/Weave/Scene/Scene.cpp @@ -1,6 +1,7 @@ #include "Scene.h" #include "SceneObject.h" #include "Lever.h" +#include "Boar.h" //#include "Sky.h" //#include "Camera.h" #include @@ -666,5 +667,13 @@ void Scene::revertEvent(TimeEvent e) l->reverseSpeed(); } break; + + case 5: + //Boar revived + if (Boar* l = dynamic_cast (e.object)) + { + l->revive(); + } + break; } } \ No newline at end of file