Skip to content

Commit 143df10

Browse files
authored
Merge pull request #32 from lr8soft/dev-y
v0.34release
2 parents ec17c60 + 6298f6d commit 143df10

42 files changed

Lines changed: 583 additions & 151 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.idea/workspace.xml

Lines changed: 7 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

PythonSTG/PythonSTG.vcxproj

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,8 @@
156156
<ClCompile Include="XCCore\Bullet\OvalTypeBullet.cpp" />
157157
<ClCompile Include="XCCore\Bullet\RectangleTypeBullet.cpp" />
158158
<ClCompile Include="XCCore\Enemy\EnemyObject.cpp" />
159+
<ClCompile Include="XCCore\Item\Item.cpp" />
160+
<ClCompile Include="XCCore\Item\ItemHelper.cpp" />
159161
<ClCompile Include="XCCore\Menu\GameMenu.cpp" />
160162
<ClCompile Include="XCCore\Menu\PauseMenu.cpp" />
161163
<ClCompile Include="XCCore\Task\Task.cpp" />
@@ -169,12 +171,12 @@
169171
<ClCompile Include="XCCore\XCAudio\AudioHelper.cpp" />
170172
<ClCompile Include="XCCore\XCCollide\CollideHelper.cpp" />
171173
<ClCompile Include="XCCore\XCCollide\CollideInfo.cpp" />
174+
<ClCompile Include="XCCore\XCRender\AbsorbParticleHelper.cpp" />
172175
<ClCompile Include="XCCore\XCRender\RenderManager.cpp" />
173176
<ClCompile Include="XCCore\XCRender\ParticleHelper.cpp" />
174177
<ClCompile Include="XCCore\XCRender\SpecialEffect\XCParticle.cpp" />
175178
<ClCompile Include="XCCore\XCRender\XCFont.cpp" />
176-
<ClCompile Include="XCCore\Item\Item.cpp" />
177-
<ClCompile Include="XCCore\Item\Player.cpp" />
179+
<ClCompile Include="XCCore\Player\Player.cpp" />
178180
<ClCompile Include="XCCore\XCRender\SpecialEffect\DecisionPointSE.cpp" />
179181
<ClCompile Include="XCCore\XCRender\IRenderHelper.cpp" />
180182
<ClCompile Include="XCCore\Task\TaskManager.cpp" />
@@ -198,6 +200,8 @@
198200
<ClInclude Include="XCCore\Boss\BossObject.h" />
199201
<ClInclude Include="XCCore\Boss\SpellCard.h" />
200202
<ClInclude Include="XCCore\Bullet\OvalTypeBullet.h" />
203+
<ClInclude Include="XCCore\Item\Item.h" />
204+
<ClInclude Include="XCCore\Item\ItemHelper.h" />
201205
<ClInclude Include="XCCore\Menu\PauseMenu.h" />
202206
<ClInclude Include="util\ConfigManager.h" />
203207
<ClInclude Include="util\GameTimer.h" />
@@ -233,10 +237,10 @@
233237
<ClInclude Include="XCCore\XCRender\RenderManager.h" />
234238
<ClInclude Include="XCCore\XCRender\RenderObject.h" />
235239
<ClInclude Include="XCCore\XCRender\ParticleHelper.h" />
240+
<ClInclude Include="XCCore\XCRender\AbsorbParticleHelper.h" />
236241
<ClInclude Include="XCCore\XCRender\SpecialEffect\XCParticle.h" />
237242
<ClInclude Include="XCCore\XCRender\XCFont.h" />
238-
<ClInclude Include="XCCore\Item\Item.h" />
239-
<ClInclude Include="XCCore\Item\Player.h" />
243+
<ClInclude Include="XCCore\Player\Player.h" />
240244
<ClInclude Include="XCCore\XCRender\BlendHelper.h" />
241245
<ClInclude Include="XCCore\XCRender\SpecialEffect\DecisionPointSE.h" />
242246
<ClInclude Include="XCCore\XCRender\IRenderHelper.h" />

PythonSTG/PythonSTG.vcxproj.filters

Lines changed: 45 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@
1616
<Filter Include="XCCore\Bullet">
1717
<UniqueIdentifier>{6cd208d4-5bef-491f-8964-9c237709af33}</UniqueIdentifier>
1818
</Filter>
19-
<Filter Include="XCCore\Item">
20-
<UniqueIdentifier>{43fd9bff-7c18-403e-a0c5-5ca4cf4aaad0}</UniqueIdentifier>
21-
</Filter>
2219
<Filter Include="XCCore\Stage">
2320
<UniqueIdentifier>{ac940bd2-e2a1-4200-bd83-f5234c0035c6}</UniqueIdentifier>
2421
</Filter>
@@ -55,6 +52,15 @@
5552
<Filter Include="Resouce">
5653
<UniqueIdentifier>{37898c7c-a6c7-4c12-a0a6-82cefb500e41}</UniqueIdentifier>
5754
</Filter>
55+
<Filter Include="XCCore\XCRender\ParticleEffect">
56+
<UniqueIdentifier>{dd765bb2-a0bc-4f31-82c7-23a63826b703}</UniqueIdentifier>
57+
</Filter>
58+
<Filter Include="XCCore\Player">
59+
<UniqueIdentifier>{43fd9bff-7c18-403e-a0c5-5ca4cf4aaad0}</UniqueIdentifier>
60+
</Filter>
61+
<Filter Include="XCCore\Item">
62+
<UniqueIdentifier>{9ced1f15-8bde-4e47-8beb-93d3a600c8b6}</UniqueIdentifier>
63+
</Filter>
5864
</ItemGroup>
5965
<ItemGroup>
6066
<ClCompile Include="util\ConfigManager.cpp">
@@ -86,12 +92,6 @@
8692
<Filter>XCCore\XCRender</Filter>
8793
</ClCompile>
8894
<ClCompile Include="XCFrameInfo.cpp" />
89-
<ClCompile Include="XCCore\Item\Item.cpp">
90-
<Filter>XCCore\Item</Filter>
91-
</ClCompile>
92-
<ClCompile Include="XCCore\Item\Player.cpp">
93-
<Filter>XCCore\Item</Filter>
94-
</ClCompile>
9595
<ClCompile Include="XCCore\Stage\Stage.cpp">
9696
<Filter>XCCore\Stage</Filter>
9797
</ClCompile>
@@ -143,9 +143,6 @@
143143
<ClCompile Include="XCCore\XCRender\SpecialEffect\DecisionPointSE.cpp">
144144
<Filter>XCCore\XCRender\SpecialEffect</Filter>
145145
</ClCompile>
146-
<ClCompile Include="XCCore\XCRender\SpecialEffect\XCParticle.cpp">
147-
<Filter>XCCore\XCRender\SpecialEffect</Filter>
148-
</ClCompile>
149146
<ClCompile Include="XCCore\UserInterface\CoverInterface.cpp">
150147
<Filter>XCCore\UserInterface</Filter>
151148
</ClCompile>
@@ -173,9 +170,6 @@
173170
<ClCompile Include="XCCore\Attack\NormalStrike.cpp">
174171
<Filter>XCCore\Attack</Filter>
175172
</ClCompile>
176-
<ClCompile Include="XCCore\XCRender\ParticleHelper.cpp">
177-
<Filter>XCCore\XCRender</Filter>
178-
</ClCompile>
179173
<ClCompile Include="XCCore\Menu\GameMenu.cpp">
180174
<Filter>XCCore\Menu</Filter>
181175
</ClCompile>
@@ -205,6 +199,24 @@
205199
<ClCompile Include="XCCore\Background\River.cpp">
206200
<Filter>XCCore\Background</Filter>
207201
</ClCompile>
202+
<ClCompile Include="XCCore\XCRender\SpecialEffect\XCParticle.cpp">
203+
<Filter>XCCore\XCRender\ParticleEffect</Filter>
204+
</ClCompile>
205+
<ClCompile Include="XCCore\XCRender\ParticleHelper.cpp">
206+
<Filter>XCCore\XCRender\ParticleEffect</Filter>
207+
</ClCompile>
208+
<ClCompile Include="XCCore\Player\Player.cpp">
209+
<Filter>XCCore\Player</Filter>
210+
</ClCompile>
211+
<ClCompile Include="XCCore\Item\Item.cpp">
212+
<Filter>XCCore\Item</Filter>
213+
</ClCompile>
214+
<ClCompile Include="XCCore\Item\ItemHelper.cpp">
215+
<Filter>XCCore\Item</Filter>
216+
</ClCompile>
217+
<ClCompile Include="XCCore\XCRender\AbsorbParticleHelper.cpp">
218+
<Filter>XCCore\XCRender\ParticleEffect</Filter>
219+
</ClCompile>
208220
</ItemGroup>
209221
<ItemGroup>
210222
<ClInclude Include="util\ConfigManager.h">
@@ -242,12 +254,6 @@
242254
<ClInclude Include="XCCore\Bullet\Bullet.h">
243255
<Filter>XCCore\Bullet</Filter>
244256
</ClInclude>
245-
<ClInclude Include="XCCore\Item\Item.h">
246-
<Filter>XCCore\Item</Filter>
247-
</ClInclude>
248-
<ClInclude Include="XCCore\Item\Player.h">
249-
<Filter>XCCore\Item</Filter>
250-
</ClInclude>
251257
<ClInclude Include="XCCore\Stage\Stage.h">
252258
<Filter>XCCore\Stage</Filter>
253259
</ClInclude>
@@ -308,9 +314,6 @@
308314
<ClInclude Include="XCCore\XCRender\SpecialEffect\ISpecialEffect.h">
309315
<Filter>XCCore\XCRender\SpecialEffect</Filter>
310316
</ClInclude>
311-
<ClInclude Include="XCCore\XCRender\SpecialEffect\XCParticle.h">
312-
<Filter>XCCore\XCRender\SpecialEffect</Filter>
313-
</ClInclude>
314317
<ClInclude Include="XCCore\UserInterface\CoverInterface.h">
315318
<Filter>XCCore\UserInterface</Filter>
316319
</ClInclude>
@@ -344,9 +347,6 @@
344347
<ClInclude Include="XCCore\Attack\NormalStrike.h">
345348
<Filter>XCCore\Attack</Filter>
346349
</ClInclude>
347-
<ClInclude Include="XCCore\XCRender\ParticleHelper.h">
348-
<Filter>XCCore\XCRender</Filter>
349-
</ClInclude>
350350
<ClInclude Include="XCCore\Menu\IMenu.h">
351351
<Filter>XCCore\Menu</Filter>
352352
</ClInclude>
@@ -384,6 +384,24 @@
384384
<ClInclude Include="XCCore\Background\River.h">
385385
<Filter>XCCore\Background</Filter>
386386
</ClInclude>
387+
<ClInclude Include="XCCore\XCRender\SpecialEffect\XCParticle.h">
388+
<Filter>XCCore\XCRender\ParticleEffect</Filter>
389+
</ClInclude>
390+
<ClInclude Include="XCCore\XCRender\ParticleHelper.h">
391+
<Filter>XCCore\XCRender\ParticleEffect</Filter>
392+
</ClInclude>
393+
<ClInclude Include="XCCore\Player\Player.h">
394+
<Filter>XCCore\Player</Filter>
395+
</ClInclude>
396+
<ClInclude Include="XCCore\Item\Item.h">
397+
<Filter>XCCore\Item</Filter>
398+
</ClInclude>
399+
<ClInclude Include="XCCore\Item\ItemHelper.h">
400+
<Filter>XCCore\Item</Filter>
401+
</ClInclude>
402+
<ClInclude Include="XCCore\XCRender\AbsorbParticleHelper.h">
403+
<Filter>XCCore\XCRender\ParticleEffect</Filter>
404+
</ClInclude>
387405
</ItemGroup>
388406
<ItemGroup>
389407
<Image Include="..\pystg.ico">

PythonSTG/XCCore/Boss/Boss.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include "../Task/TaskDispatcher.h"
55
#include "../XCRender/RenderManager.h"
66
#include "../UserInterface/BossInfoInterface.h"
7+
#include "../Item/ItemHelper.h"
78
Boss::Boss(std::string uid, std::vector<std::string>& targetUUID,std::string bName, std::string musicPath,int wFrame,
89
std::string imgPath, glm::vec2 dInfo, glm::vec2 sInfo, int sbRow, int wRow, int aRow):Task(uid,targetUUID, 1, 0, wFrame)
910
{
@@ -117,6 +118,13 @@ void Boss::taskSubWork()
117118
}
118119
}
119120
if ((*spellCardBegin)->getIsFinish() || bossRenderObject->getSpellCardHitPointClear()) {
121+
auto item = (*spellCardBegin)->getDropItem();
122+
if (item != nullptr) {
123+
for (auto item : *item) {
124+
ItemHelper::GenerateItemGroup(bossRenderObject->getPosition(), item.count, (Item::ItemType)item.type, true);
125+
}
126+
}
127+
120128
(*spellCardBegin)->SpellCardRelease();
121129
delete *spellCardBegin;
122130
RenderManager::getInstance()->TerminateAllBullet();

PythonSTG/XCCore/Boss/BossHelper.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#include "BossHelper.h"
22
#include <vector>
33
#include "../Task/TaskHelper.h"
4+
#include "../Item/ItemHelper.h"
45
Boss * BossHelper::parseBossFromObject(PyObject * pBossPyObject)
56
{
67
Boss* pBoss = nullptr;
@@ -74,6 +75,11 @@ SpellCard * BossHelper::parseSpellCardFromObject(std::string parentUuid, PyObjec
7475
}
7576
}
7677

78+
std::vector<DropItem>* itemVector = ItemHelper::getItemDropFromObject(spellCardPyObject);
79+
if (itemVector != nullptr) {
80+
spellCard->setDropItem(itemVector);
81+
}
82+
7783
}
7884
return spellCard;
7985
}

PythonSTG/XCCore/Boss/BossObject.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ void BossObject::hurtBossObject(float damage)
148148
AudioHelper::playFromBuffer(bossExplode.wavBuffer);
149149

150150
ParticleHelper* particleGroup = new ParticleHelper;
151-
particleGroup->addNewParticle(60, 15.0f, 1.2f, 1.0f, glm::vec4(1.0f), glm::vec3(NowPosition, 0.0f));
151+
particleGroup->addNewParticle(120, 12.0f, 1.2f, 1.0f, glm::vec4(1.0f), glm::vec3(NowPosition, 0.0f));
152152
RenderManager::getInstance()->AddRenderObject(ParticleGroupUuid, particleGroup);
153153
}
154154
}

PythonSTG/XCCore/Boss/SpellCard.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ void SpellCard::SpellCardRelease()
7575
for (auto uuid : taskUUIDGroup) {
7676
TaskManager::getInstance()->CleanTaskAsync(uuid);
7777
}
78+
if (dropItemList != nullptr) {
79+
delete dropItemList;
80+
}
7881
taskUUIDGroup.clear();
7982
isInit = false;
8083
}
@@ -91,6 +94,16 @@ void SpellCard::setBossObject(BossObject * pObject)
9194
pBossObject = pObject;
9295
}
9396

97+
void SpellCard::setDropItem(std::vector<DropItem>* pItem)
98+
{
99+
dropItemList = pItem;
100+
}
101+
102+
std::vector<DropItem>* SpellCard::getDropItem()
103+
{
104+
return dropItemList;
105+
}
106+
94107
float SpellCard::getSpellCardTime()
95108
{
96109
return spellCardTime;

PythonSTG/XCCore/Boss/SpellCard.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include <vector>
55
#include <string>
66
#include "../Task/Task.h"
7+
#include "../Item/ItemHelper.h"
78
#include "../../util/GameTimer.h"
89
#include "../Boss/BossObject.h"
910
#include <glm/glm.hpp>
@@ -22,6 +23,8 @@ class SpellCard {
2223
BossObject* pBossObject = nullptr;
2324

2425
glm::vec2 movementPosition = glm::vec2(-2.0f, -2.0f);
26+
27+
std::vector<DropItem>* dropItemList = nullptr;
2528
public:
2629
SpellCard(std::string parentUuid, std::string spellCardName, bool isSpellCard, float spellCardTime, float spellCardHitPoint);
2730
void AddSpellCardTask(Task *pTask);
@@ -33,6 +36,8 @@ class SpellCard {
3336
void setMovementPosition(float x, float y);
3437

3538
void setBossObject(BossObject* pObject);
39+
void setDropItem(std::vector<DropItem>* pItem);
40+
std::vector<DropItem>* getDropItem();
3641

3742
float getSpellCardTime();
3843
float getSpellCardHitPoint();

PythonSTG/XCCore/Enemy/EnemyObject.cpp

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#include "../XCRender/ParticleHelper.h"
44
#include <GL3/gl3w.h>
55
#include "../../XCFrameInfo.h"
6-
6+
#include "../Item/ItemHelper.h"
77
EnemyObject::EnemyObject(IRenderHelper *ptr, glm::vec2 dInfo, glm::vec3 sInfo, glm::vec2 sbInfo, glm::vec2 wInfo,
88
glm::vec3 iCoord, float v, float mTime,float a, float agle, float agleA, int type, float health)
99
{
@@ -121,8 +121,19 @@ void EnemyObject::hurtEnemy(float damage)
121121
ParticleHelper* particleGroup = new ParticleHelper;
122122
particleGroup->addNewParticle(20, 12.0f, 1.0f, 0.6f, glm::vec4(1.0f), NowPosition);
123123
RenderManager::getInstance()->AddRenderObject(ParticleGroupUuid, particleGroup);
124-
124+
125+
if (dropItemList != nullptr) {
126+
for (auto item : *dropItemList) {
127+
ItemHelper::GenerateItemGroup(NowPosition, item.count, (Item::ItemType)item.type, true);
128+
}
129+
}
130+
125131
currentHealth = 0;
126132
isWorkFinish = true;
127133
}
128134
}
135+
136+
void EnemyObject::setDropItem(std::vector<DropItem>* pItem)
137+
{
138+
dropItemList = pItem;
139+
}

PythonSTG/XCCore/Enemy/EnemyObject.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include "../XCRender/IRenderHelper.h"
66
#include "../XCAudio/AudioHelper.h"
77
#include "../../util/GameTimer.h"
8+
#include "../Item/ItemHelper.h"
89
#include <glm/glm.hpp>
910
class EnemyObject :public RenderObject {
1011
private:
@@ -19,6 +20,8 @@ class EnemyObject :public RenderObject {
1920
float velocity = 0.0f, acceleration = 0.0f, angle = 0.0f, angleAcceleration = 0.0f, movingTime = -1.0f;
2021
float currentHealth = 0.0f;
2122

23+
std::vector<DropItem>* dropItemList = nullptr;
24+
2225
XCWavFile deadEffect;
2326
public:
2427
EnemyObject(IRenderHelper*, glm::vec2 divideInfo, glm::vec3 scaleInfo, glm::vec2 standbyInfo, glm::vec2 walkInfo,
@@ -29,5 +32,6 @@ class EnemyObject :public RenderObject {
2932

3033
glm::vec3 getNowPosition();
3134
void hurtEnemy(float damage);
35+
void setDropItem(std::vector<DropItem>* pItem);
3236
};
3337
#endif

0 commit comments

Comments
 (0)