• R/O
  • SSH

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revisão91ae155d5b47b8a82b0e4bfe1b288689944079b5 (tree)
Hora2016-09-17 05:42:55
Autorsebastian_ <bugiu@head...>
Commitersebastian_

Mensagem de Log

Loading level.

Mudança Sumário

Diff

diff -r 77ad7fc84c32 -r 91ae155d5b47 Classes/BoilerExplosion.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Classes/BoilerExplosion.cpp Fri Sep 16 23:42:55 2016 +0300
@@ -0,0 +1,5 @@
1+#include "BoilerExplosion.h"
2+
3+void BoilerExplosionEvent::operator()()
4+{
5+}
diff -r 77ad7fc84c32 -r 91ae155d5b47 Classes/BoilerExplosion.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Classes/BoilerExplosion.h Fri Sep 16 23:42:55 2016 +0300
@@ -0,0 +1,13 @@
1+#ifndef _BOILER_EXPLOSION_H_
2+#define _BOILER_EXPLOSION_H_
3+
4+#include "Event.h"
5+
6+class BoilerExplosionEvent : public GameEvent::Event
7+{
8+public:
9+ void operator()() override;
10+};
11+
12+#endif
13+
diff -r 77ad7fc84c32 -r 91ae155d5b47 Classes/EventProperties.h
--- a/Classes/EventProperties.h Fri Sep 16 20:08:09 2016 +0300
+++ b/Classes/EventProperties.h Fri Sep 16 23:42:55 2016 +0300
@@ -7,17 +7,22 @@
77 class EventProperties : public artemis::Component
88 {
99 private:
10- std::unique_ptr<GameEvent::Event> event;
10+ std::shared_ptr<GameEvent::Event> event;
1111 int scoreIncrease;
1212 bool eventDone;
1313
1414 public:
15- EventProperties()
15+ EventProperties(std::unique_ptr<GameEvent::Event> event_) : event(std::move(event_))
1616 {
1717
1818 }
1919
2020
21+ std::shared_ptr<GameEvent::Event> getEvent() const
22+ {
23+ return event;
24+ }
25+
2126 int getScoreIncrease() const
2227 {
2328 return scoreIncrease;
diff -r 77ad7fc84c32 -r 91ae155d5b47 Classes/EventRelation.cpp
--- a/Classes/EventRelation.cpp Fri Sep 16 20:08:09 2016 +0300
+++ b/Classes/EventRelation.cpp Fri Sep 16 23:42:55 2016 +0300
@@ -1,1 +1,20 @@
1-#include "EventRelation.h"
\ No newline at end of file
1+#include "EventRelation.h"
2+
3+EventRelation::EventRelation(artemis::Entity& controller_, artemis::World& world) : controller(controller_)
4+{
5+ eventPropertiesMapper.init(world);
6+}
7+
8+void EventRelation::addAffectedEntity(artemis::Entity& entity)
9+{
10+ affectedEntities.push_back(entity);
11+}
12+
13+void EventRelation::affectEntities()
14+{
15+ for (auto& entity : affectedEntities)
16+ {
17+ auto eventProperties = eventPropertiesMapper.get(entity);
18+ (*eventProperties->getEvent())();
19+ }
20+}
diff -r 77ad7fc84c32 -r 91ae155d5b47 Classes/EventRelation.h
--- a/Classes/EventRelation.h Fri Sep 16 20:08:09 2016 +0300
+++ b/Classes/EventRelation.h Fri Sep 16 23:42:55 2016 +0300
@@ -1,9 +1,26 @@
11 #ifndef _EVENT_RELATION_H_
22 #define _EVENT_RELATION_H_
3+#include <vector>
4+#include "EventProperties.h"
5+#include "artemis/src/Artemis/ComponentMapper.h"
6+
7+namespace artemis{
8+ class Entity;
9+}
310
411 class EventRelation
512 {
6-
13+private:
14+ artemis::Entity& controller;
15+ std::vector<std::reference_wrapper<artemis::Entity>> affectedEntities;
16+ artemis::ComponentMapper<EventProperties> eventPropertiesMapper;
17+
18+public:
19+ EventRelation(artemis::Entity& controller_, artemis::World& world);
20+
21+ void addAffectedEntity(artemis::Entity& entity);
22+
23+ void affectEntities();
724 };
825
926 #endif
diff -r 77ad7fc84c32 -r 91ae155d5b47 Classes/GateChange.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Classes/GateChange.cpp Fri Sep 16 23:42:55 2016 +0300
@@ -0,0 +1,5 @@
1+#include "GateChange.h"
2+
3+void GateChangeEvent::operator()()
4+{
5+}
diff -r 77ad7fc84c32 -r 91ae155d5b47 Classes/GateChange.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Classes/GateChange.h Fri Sep 16 23:42:55 2016 +0300
@@ -0,0 +1,12 @@
1+#ifndef _GATE_CHANGE_H_
2+#define _GATE_CHANGE_H_
3+#include "Event.h"
4+
5+class GateChangeEvent : public GameEvent::Event
6+{
7+public:
8+ void operator()() override;
9+};
10+
11+#endif
12+
diff -r 77ad7fc84c32 -r 91ae155d5b47 Classes/GateControl.cpp
--- a/Classes/GateControl.cpp Fri Sep 16 20:08:09 2016 +0300
+++ b/Classes/GateControl.cpp Fri Sep 16 23:42:55 2016 +0300
@@ -1,5 +1,10 @@
11 #include "GateControl.h"
22
3+GateControlEvent::GateControlEvent(std::unique_ptr<EventRelation> eventRelation_) : eventRelation(std::move(eventRelation_))
4+{
5+}
6+
37 void GateControlEvent::operator()()
48 {
9+ eventRelation->affectEntities();
510 }
diff -r 77ad7fc84c32 -r 91ae155d5b47 Classes/GateControl.h
--- a/Classes/GateControl.h Fri Sep 16 20:08:09 2016 +0300
+++ b/Classes/GateControl.h Fri Sep 16 23:42:55 2016 +0300
@@ -1,11 +1,18 @@
11 #ifndef _GATE_CONTROL_H_
22 #define _GATE_CONTROL_H_
33 #include "Event.h"
4+#include "EventRelation.h"
5+#include <memory>
46
57 class GateControlEvent : public GameEvent::Event
68 {
9+private:
10+ std::unique_ptr<EventRelation> eventRelation;
711 public:
12+ explicit GateControlEvent(std::unique_ptr<EventRelation> eventRelation);
13+
814 void operator()() override;
15+
916 };
1017
1118 #endif
diff -r 77ad7fc84c32 -r 91ae155d5b47 Classes/KillBoss.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Classes/KillBoss.cpp Fri Sep 16 23:42:55 2016 +0300
@@ -0,0 +1,5 @@
1+#include "KillBoss.h"
2+
3+void KillBossEvent::operator()()
4+{
5+}
diff -r 77ad7fc84c32 -r 91ae155d5b47 Classes/KillBoss.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Classes/KillBoss.h Fri Sep 16 23:42:55 2016 +0300
@@ -0,0 +1,13 @@
1+#ifndef _KILL_BOSS_H_
2+#define _KILL_BOSS_H_
3+
4+#include "Event.h"
5+
6+class KillBossEvent : public GameEvent::Event
7+{
8+public:
9+ void operator()() override;
10+};
11+
12+#endif
13+
diff -r 77ad7fc84c32 -r 91ae155d5b47 proj.win32/OfficeWork.vcxproj
--- a/proj.win32/OfficeWork.vcxproj Fri Sep 16 20:08:09 2016 +0300
+++ b/proj.win32/OfficeWork.vcxproj Fri Sep 16 23:42:55 2016 +0300
@@ -160,14 +160,17 @@
160160 <ClCompile Include="..\Classes\artemis\src\TagManager.cpp" />
161161 <ClCompile Include="..\Classes\artemis\src\VoidEntitySystem.cpp" />
162162 <ClCompile Include="..\Classes\artemis\src\World.cpp" />
163+ <ClCompile Include="..\Classes\BoilerExplosion.cpp" />
163164 <ClCompile Include="..\Classes\CollisionDetectionSystem.cpp" />
164165 <ClCompile Include="..\Classes\ControlPanel.cpp" />
165166 <ClCompile Include="..\Classes\CreditsMenuScene.cpp" />
166167 <ClCompile Include="..\Classes\EventRelation.cpp" />
168+ <ClCompile Include="..\Classes\GateChange.cpp" />
167169 <ClCompile Include="..\Classes\GateControl.cpp" />
168170 <ClCompile Include="..\Classes\HighScoreScene.cpp" />
169171 <ClCompile Include="..\Classes\GameScene.cpp" />
170172 <ClCompile Include="..\Classes\InGameMenuScene.cpp" />
173+ <ClCompile Include="..\Classes\KillBoss.cpp" />
171174 <ClCompile Include="..\Classes\Level.cpp" />
172175 <ClCompile Include="..\Classes\LevelUpdateSystem.cpp" />
173176 <ClCompile Include="..\Classes\MainMenuScene.cpp" />
@@ -210,6 +213,7 @@
210213 <ClInclude Include="..\Classes\artemis\src\Artemis\TypeInfoComparator.h" />
211214 <ClInclude Include="..\Classes\artemis\src\Artemis\VoidEntitySystem.h" />
212215 <ClInclude Include="..\Classes\artemis\src\Artemis\World.h" />
216+ <ClInclude Include="..\Classes\BoilerExplosion.h" />
213217 <ClInclude Include="..\Classes\CollisionDetectionSystem.h" />
214218 <ClInclude Include="..\Classes\ControlPanel.h" />
215219 <ClInclude Include="..\Classes\CreditsMenuScene.h" />
@@ -219,9 +223,11 @@
219223 <ClInclude Include="..\Classes\EventRelation.h" />
220224 <ClInclude Include="..\Classes\GameResources.h" />
221225 <ClInclude Include="..\Classes\GameScene.h" />
226+ <ClInclude Include="..\Classes\GateChange.h" />
222227 <ClInclude Include="..\Classes\GateControl.h" />
223228 <ClInclude Include="..\Classes\HighScoreScene.h" />
224229 <ClInclude Include="..\Classes\InGameMenuScene.h" />
230+ <ClInclude Include="..\Classes\KillBoss.h" />
225231 <ClInclude Include="..\Classes\Level.h" />
226232 <ClInclude Include="..\Classes\LevelProperties.h" />
227233 <ClInclude Include="..\Classes\LevelUpdateSystem.h" />
diff -r 77ad7fc84c32 -r 91ae155d5b47 proj.win32/OfficeWork.vcxproj.filters
--- a/proj.win32/OfficeWork.vcxproj.filters Fri Sep 16 20:08:09 2016 +0300
+++ b/proj.win32/OfficeWork.vcxproj.filters Fri Sep 16 23:42:55 2016 +0300
@@ -159,6 +159,15 @@
159159 <ClCompile Include="..\Classes\EventRelation.cpp">
160160 <Filter>src</Filter>
161161 </ClCompile>
162+ <ClCompile Include="..\Classes\GateChange.cpp">
163+ <Filter>src\events</Filter>
164+ </ClCompile>
165+ <ClCompile Include="..\Classes\BoilerExplosion.cpp">
166+ <Filter>src\events</Filter>
167+ </ClCompile>
168+ <ClCompile Include="..\Classes\KillBoss.cpp">
169+ <Filter>src\events</Filter>
170+ </ClCompile>
162171 </ItemGroup>
163172 <ItemGroup>
164173 <ClInclude Include="main.h">
@@ -335,6 +344,15 @@
335344 <ClInclude Include="..\Classes\EventRelation.h">
336345 <Filter>src</Filter>
337346 </ClInclude>
347+ <ClInclude Include="..\Classes\GateChange.h">
348+ <Filter>src\events</Filter>
349+ </ClInclude>
350+ <ClInclude Include="..\Classes\BoilerExplosion.h">
351+ <Filter>src\events</Filter>
352+ </ClInclude>
353+ <ClInclude Include="..\Classes\KillBoss.h">
354+ <Filter>src\events</Filter>
355+ </ClInclude>
338356 </ItemGroup>
339357 <ItemGroup>
340358 <ResourceCompile Include="game.rc">