From f9158592e1478b2013afc7041d9ed041cf2d2f4a Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 13 Jan 2014 19:47:58 +1000 Subject: Update Irrlicht to 1.8.1. Include actual change markers this time. lol --- .../source/Irrlicht/CSceneNodeAnimatorDelete.cpp | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 libraries/irrlicht-1.8.1/source/Irrlicht/CSceneNodeAnimatorDelete.cpp (limited to 'libraries/irrlicht-1.8.1/source/Irrlicht/CSceneNodeAnimatorDelete.cpp') diff --git a/libraries/irrlicht-1.8.1/source/Irrlicht/CSceneNodeAnimatorDelete.cpp b/libraries/irrlicht-1.8.1/source/Irrlicht/CSceneNodeAnimatorDelete.cpp new file mode 100644 index 0000000..2ef584d --- /dev/null +++ b/libraries/irrlicht-1.8.1/source/Irrlicht/CSceneNodeAnimatorDelete.cpp @@ -0,0 +1,51 @@ +// Copyright (C) 2002-2012 Nikolaus Gebhardt +// This file is part of the "Irrlicht Engine". +// For conditions of distribution and use, see copyright notice in irrlicht.h + +#include "CSceneNodeAnimatorDelete.h" +#include "ISceneManager.h" + +namespace irr +{ +namespace scene +{ + + +//! constructor +CSceneNodeAnimatorDelete::CSceneNodeAnimatorDelete(ISceneManager* manager, u32 time) +: ISceneNodeAnimatorFinishing(time), SceneManager(manager) +{ + #ifdef _DEBUG + setDebugName("CSceneNodeAnimatorDelete"); + #endif +} + + +//! animates a scene node +void CSceneNodeAnimatorDelete::animateNode(ISceneNode* node, u32 timeMs) +{ + if (timeMs > FinishTime) + { + HasFinished = true; + if(node && SceneManager) + { + // don't delete if scene manager is attached to an editor + if (!SceneManager->getParameters()->getAttributeAsBool(IRR_SCENE_MANAGER_IS_EDITOR)) + SceneManager->addToDeletionQueue(node); + } + } +} + + +ISceneNodeAnimator* CSceneNodeAnimatorDelete::createClone(ISceneNode* node, ISceneManager* newManager) +{ + CSceneNodeAnimatorDelete * newAnimator = + new CSceneNodeAnimatorDelete(SceneManager, FinishTime); + + return newAnimator; +} + + +} // end namespace scene +} // end namespace irr + -- cgit v1.1