- #include "ApplicationManager.h"
- #include "IrrlichtEngineManager.h"
-
- ApplicationManager::ApplicationManager()
- {
- InitialiseVariables();
- }
-
- ApplicationManager::~ApplicationManager()
- {
-
- }
-
- void ApplicationManager::InitialiseVariables()
- {
- model = NULL;
- light1 = NULL;
- billboard = NULL;
- }
-
- void ApplicationManager::Startup()
- {
- ENGINEMANAGER.GetSceneManager()->addCameraSceneNodeFPS(
- NULL,
- 50.0f,
- 0.05f);
-
- ENGINEMANAGER.GetIrrlichtDevice()->getCursorControl()->setVisible(false);
-
- IAnimatedMesh* mesh = ENGINEMANAGER.GetSceneManager()->
- getMesh("../../media/ninja.b3d");
-
- if (mesh == NULL)
- {
- ENGINEMANAGER.EndRenderLoop();
- return;
- }
-
- model = ENGINEMANAGER.GetSceneManager()->addAnimatedMeshSceneNode(mesh);
- model->setPosition(vector3df(0, 0, 30));
-
- billboard = ENGINEMANAGER.GetSceneManager()->addBillboardSceneNode(
- NULL,
- dimension2d<f32>(3, 3));
- billboard->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR );
- billboard->setMaterialTexture(0, ENGINEMANAGER.GetVideoDriver()->getTexture("../../media/particle.bmp"));
- billboard->setMaterialFlag(video::EMF_LIGHTING, false);
-
- light1 = ENGINEMANAGER.GetSceneManager()->addLightSceneNode(
- billboard,
- core::vector3df(0,0,0),
- video::SColorf(1.0f, 0.5f, 1.0f),
- 800.0f);
-
- ISceneNodeAnimator* anim = ENGINEMANAGER.GetSceneManager()->createFlyCircleAnimator(
- core::vector3df(0,5,30),
- 10.0f);
-
- billboard->addAnimator(anim);
- anim->drop();
- }
-
- void ApplicationManager::Shutdown()
- {
- if (model != NULL) model->remove();
- if (light1 != NULL) light1->remove();
- if (billboard != NULL) billboard->remove();
-
- InitialiseVariables();
- }