~efargaspro/+junk/codeblocks-16.01-release

« back to all changes in this revision

Viewing changes to src/plugins/scriptedwizard/resources/lf/files/structured/CMain.cpp

  • Committer: damienlmoore at gmail
  • Date: 2016-02-02 02:43:22 UTC
  • Revision ID: damienlmoore@gmail.com-20160202024322-yql5qmtbwdyamdwd
Code::BlocksĀ 16.01

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "CMain.h"
 
2
 
 
3
using namespace lf;
 
4
 
 
5
CMain::CMain(render::IRenderWindow* win)
 
6
    : rwin(win),
 
7
    rl3d(win->getRenderLayer3D()),
 
8
    smgr(rl3d->getSceneManager()),
 
9
    cam(0),
 
10
    camController(0),
 
11
    quitNow(false)
 
12
{
 
13
    rwin->addKeyListener(this);
 
14
    setupScene();
 
15
}
 
16
 
 
17
CMain::~CMain()
 
18
{
 
19
    rl3d->remove(cam);
 
20
    smgr->remove(camController);
 
21
    cam->drop();
 
22
    camController->drop();
 
23
 
 
24
    smgr->getRootSceneNode()->removeAllChildren(true);
 
25
 
 
26
    rwin->removeKeyListener(this);
 
27
}
 
28
 
 
29
void CMain::run()
 
30
{
 
31
    quitNow = false;
 
32
 
 
33
    while (!quitNow && CLFRender::getInstance().update())
 
34
        {
 
35
                // main loop
 
36
    }
 
37
}
 
38
 
 
39
void CMain::setupScene()
 
40
{
 
41
    cam = new scene::C3DCamera(rwin,
 
42
                               core::PI / 3.0f,
 
43
                               1.0f,
 
44
                               1000.0f,
 
45
                               true);
 
46
    cam->setBackgroundColor(core::CColorI(255, 255, 240, 0));
 
47
    cam->replace(new render::CRenderStateLighting(false));
 
48
    cam->setPosition(core::vector3df(0.0f, 0.0f, -30.0f));
 
49
    cam->setTarget(core::vector3df(0.0f, 0.0f, 0.0f));
 
50
 
 
51
    rl3d->add(cam);
 
52
    smgr->addSceneNode(cam);
 
53
 
 
54
    // handle camera control
 
55
    camController = new scene::CFPSController(rwin, cam);
 
56
    smgr->add( camController );
 
57
}
 
58
 
 
59
void CMain::keyPressed(input::CKeyEvent& event)
 
60
{
 
61
    switch (event.getKey())
 
62
    {
 
63
        case input::KEY_ESCAPE:
 
64
            quitNow = true;
 
65
            break;
 
66
    }
 
67
}