2 #include "configure.hpp"
3 #include "mof/Interpreter.hpp"
4 #include "mof/EventScheduler.hpp"
5 #include "mof/mofInput.hpp"
6 #include "mof/mofGraphics.hpp"
7 #include "mof/Application.hpp"
8 #include "mof/utilities.hpp"
9 #include "mof/widgets.hpp"
10 #include <mof/Texture.hpp>
11 #include "mof/Font.hpp"
12 #include "mof/Sprite.hpp"
13 #include "resource.hpp"
14 #include <mof/streams.hpp>
15 #include <mof/FactoryMethod.hpp>
16 #include <boost/bind.hpp>
18 #include <mof/streams.hpp>
19 #include "widget/createMenuView.hpp"
20 #include "widget/createFrame.hpp"
21 #include <mof/ConsoleIO.hpp>
22 #include <mof/FactoryMethod.hpp>
23 #include <mof/script/LuaInterpreter.hpp>
24 #include "script/MyEnvironment.hpp"
26 using namespace mof::widget;
27 using namespace boost;
32 std::shared_ptr<mof::script::LuaInterpreter> interpreter_;
33 std::shared_ptr<mof::script::Environment> environment_;
34 std::shared_ptr<mof::InputReceiver> m_pInputReceiver;
35 mof::EventScheduler m_scheduler;
36 std::shared_ptr<mof::Sprite> m_pYukkuri;
45 mof::Application::InputMode mode = mof::Application::input_mode();
46 if (mode == mof::Application::INPUT_MODE_DEVICE) {
47 m_pInputReceiver = std::shared_ptr<mof::InputReceiver>(mof::InputDevice::getInputReceiver());
49 else if (mode == mof::Application::INPUT_MODE_LOGGING) {
50 m_pInputReceiver = std::make_shared<mof::LoggingInputReceiver>((TCHAR*)_T("inputLog.txt"));
52 else if (mode == mof::Application::INPUT_MODE_LOGGED) {
53 m_pInputReceiver = std::make_shared<mof::LoggedInputReceiver>((TCHAR*)_T("inputLog.txt"));
56 environment_ = std::make_shared<script::MyEnvironment>(m_pInputReceiver);
57 interpreter_ = std::make_shared<mof::script::LuaInterpreter>(_T("script/douga.lua"));
58 interpreter_->bind(environment_);
59 interpreter_->start("main");
60 mof::GraphicsDevice::lightEnable(false);
61 mof::GraphicsDevice::setAlphaBlendingMode(mof::GraphicsDevice::BLENDING_MODE_ALPHA);
64 std::make_shared<mof::Sprite>
66 std::make_shared<mof::Texture>(_T("image/yukkuri.png")), mof::Rectangle<mof::real>(0, 0, 1, 1)
69 mof::Vector2DStream stream;
70 stream << mof::Vector2D(420, 120);
71 m_pYukkuri->setPositionStream(stream);
77 mof::Vector2D size = m_pYukkuri->getPreferredSize();
78 KeyFrameAnimation<Vector2D>::KeyFrame keyframes1[] = {
79 makeKeyFrame(0, mof::Vector2D(420, 120)),
80 makeKeyFrame(10, mof::Vector2D(420, 100)),
81 makeKeyFrame(20, mof::Vector2D(420, 70)),
82 makeKeyFrame(30, mof::Vector2D(420, 60)),
83 makeKeyFrame(40, mof::Vector2D(420, 70)),
84 makeKeyFrame(50, mof::Vector2D(420, 120)),
85 makeKeyFrame(60, mof::Vector2D(420, 130)),
86 makeKeyFrame(90, mof::Vector2D(420, 130)),
87 makeKeyFrame(100, mof::Vector2D(420, 120)),
88 makeKeyFrame(110, mof::Vector2D(420, 70)),
89 makeKeyFrame(120, mof::Vector2D(420, 60)),
90 makeKeyFrame(130, mof::Vector2D(420, 70)),
91 makeKeyFrame(140, mof::Vector2D(420, 100)),
92 makeKeyFrame(150, mof::Vector2D(420, 120)),
94 KeyFrameAnimation<Vector2D>::KeyFrame keyframes2[] = {
95 makeKeyFrame(0, mof::Vector2D(200, 0)),
96 makeKeyFrame(60, mof::Vector2D(100, 0)),
97 makeKeyFrame(90, mof::Vector2D(100, 0)),
98 makeKeyFrame(150, mof::Vector2D(0, 0)),
100 KeyFrameAnimation<Vector2D>::KeyFrame keyframes3[] = {
101 makeKeyFrame(50, mof::Vector2D(0, 0)),
102 makeKeyFrame(75, mof::Vector2D(0, -60)),
103 makeKeyFrame(100, mof::Vector2D(0, 0)),
104 makeKeyFrame(150, mof::Vector2D(0, 0)),
105 makeKeyFrame(165, mof::Vector2D(0, -60)),
106 makeKeyFrame(180, mof::Vector2D(0, 0)),
108 KeyFrameAnimation<Vector2D>::KeyFrame keyframes4[] = {
109 makeKeyFrame(50, mof::Vector2D(0, 0)),
110 makeKeyFrame(75, mof::Vector2D(0, 60)),
111 makeKeyFrame(100, mof::Vector2D(0, 0)),
112 makeKeyFrame(150, mof::Vector2D(0, 0)),
113 makeKeyFrame(165, mof::Vector2D(0, 60)),
114 makeKeyFrame(180, mof::Vector2D(0, 0)),
117 Vector2DStream stream;
118 stream << makeKeyFrameAnimationHandler<Vector2D>(keyframes1[0], lastOf(keyframes1));
119 stream << makeKeyFrameAnimationHandler<Vector2D>(keyframes2[0], lastOf(keyframes2));
120 stream << makeKeyFrameAnimationHandler<Vector2D>(keyframes4[0], lastOf(keyframes4));
121 m_pYukkuri->setPositionStream(stream);
123 Vector2DStream stream2;
124 stream2 << makeConstantHandler(size);
125 stream2 << makeKeyFrameAnimationHandler<Vector2D>(keyframes3[0], lastOf(keyframes3));
126 m_pYukkuri->setSizeStream(stream2);
136 mof::safe_delete( m_pView );
143 m_scheduler.update();
144 m_pInputReceiver->update();
145 m_pYukkuri->update();
146 //m_pView->update( );
147 environment_->update();
148 if(!environment_->isWaiting())interpreter_->update();
154 mof::Rectangle<int> cr = mof::GraphicsDevice::getClientRegion();
155 mof::VertexXYZRHWC vertices[] =
157 mof::VertexXYZRHWC(mof::Vector2D(0 , 0) , mof::createColor(0 , 0 , 0)) ,
158 mof::VertexXYZRHWC(mof::Vector2D(cr.getWidth() , 0) , mof::createColor(0 , 0 , 0)) ,
159 mof::VertexXYZRHWC(mof::Vector2D(0 , cr.getHeight()) , mof::createColor(127 , 127 , 127)) ,
160 mof::VertexXYZRHWC(mof::Vector2D(cr.getWidth() , cr.getHeight()) , mof::createColor(127 , 127 , 127))
163 mof::GraphicsDevice::setTexture(NULL);
164 mof::GraphicsDevice::drawVertexArray(vertices[0] , vertices[3] , mof::PRIMITIVE_TYPE_TRIANGLESTRIP );
166 environment_->draw();