33 #ifndef S3DGAMEENGINE_H
34 #define S3DGAMEENGINE_H
44 namespace S3DGameNode {
45 using namespace Frapper;
59 : mSceneNode(eventSceneNode),
69 mSceneNode->_updateBounds();
79 void Platform( QString val) { mPlatform = val; }
85 bool isActive(
Vec3 position )
87 return ( mSceneNode && mSceneNode->_getWorldAABB().contains(position) );
103 : mMarkerGeometry(markerGeometry),
104 mObjectGeometry(NULL),
106 mMarkerName(markerName) {}
136 : mGeometry(sceneNode), mContainer(NULL)
144 virtual void Animate()
152 mContainer->updateCopies();
175 this->mGeometry->yaw( Ogre::Radian( Ogre::Degree( 5 )), Ogre::Node::TS_LOCAL );
190 mScale = geometry->getScale().x;
191 mSpeed = Ogre::Math::RangeRandom(5.0f, 20.0f);
203 mGeometry->yaw( Ogre::Radian( Ogre::Degree(mSpeed)), Ogre::Node::TS_LOCAL);
206 float scale = mGeometry->getScale().x;
211 mGeometry->setScale(
Vec3(scale));
220 mGeometry->setScale(
Vec3(mScale));
249 if( mOpen && mOpenState < 1.0f )
251 else if (!mOpen && mOpenState > 0.0f )
255 bool Open()
const {
return mOpen; }
256 void Open(
bool val) { mOpen = val; }
274 : mParam(param), mOpen(false), mOpenState(0.0f), mStepSize( stepSize )
279 void Animate(
float animScale = 100.0f )
282 if( mOpen && mOpenState < 1.0f )
283 mOpenState += mStepSize;
284 else if (!mOpen && mOpenState > 0.0f )
285 mOpenState -= mStepSize;
287 CLAMP( mOpenState, 0.0f, 1.0f);
288 if( mParam ) mParam->setValue( QVariant( mOpenState * animScale ),
true );
364 void ParseLogicSceneNode(
SceneNode * inputLogic );
365 void ParseEnemies(
SceneNode* sceneNode );
367 void parseObjectMarker(
Ogre::SceneNode * inputObjectMarker, QList<QString>& objectNames );
377 Path* GetPathByName(
const QString &action );
385 Path* CreatePath( QString startMarkerName, QString endMarkerName, QString type );