Skip to content

Commit f5bc435

Browse files
authored
Merge pull request #23 from lr8soft/dev-y
v0.30p3
2 parents aa8c5a2 + 1025a1d commit f5bc435

67 files changed

Lines changed: 799 additions & 224 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: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Python2D/LaunchHelper.cpp

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#include "LaunchHelper.h"
2+
#include "XCInterpreter/XCInterpreter.h"
3+
#include "XCCore/Menu/GameMenu.h"
4+
#include "XCCore/Task/TaskManager.h"
5+
#include "XCCore/UserInterface/GameInfoInterface.h"
6+
#include "XCCore/XCRender/RenderManager.h"
7+
#include "XCFrame.h"
8+
void LaunchHelper::StartGame()
9+
{
10+
11+
/*task manager init*/
12+
XCInterpreter interperter;
13+
interperter.getInitInfo();
14+
interperter.loadTaskManagerInfo();
15+
16+
auto group = Player::getPlayerGroup();
17+
if (!group->empty()) {
18+
RenderManager::getInstance()->setPlayer(group->begin()->second);
19+
}
20+
21+
/*render manager init*/
22+
auto infoInterface = GameInfoInterface::getInstance();
23+
RenderManager::getInstance()->AddUserInterface("gameInfo", infoInterface);
24+
25+
}
26+
27+
void LaunchHelper::StartConfigHelper()
28+
{
29+
}
30+
31+
void LaunchHelper::LoadGameMenu()
32+
{
33+
TaskManager::getInstance()->CleanAllStage();
34+
RenderManager::getInstance()->CleanAllRenderObject();
35+
RenderManager::getInstance()->CleanUserInterface("gameInfo");
36+
if (RenderManager::getInstance()->getPlayer()!=nullptr) {
37+
RenderManager::getInstance()->getPlayer()->PlayerRelease();
38+
RenderManager::getInstance()->setPlayer(nullptr);
39+
}
40+
41+
auto menu = new GameMenu;
42+
RenderManager::getInstance()->AddRenderObject(MenuUniformUUID, menu, true);
43+
}
44+
45+
46+
void LaunchHelper::ExitGame()
47+
{
48+
glfwSetWindowShouldClose(XCFrame::getInstance()->getScreen(), true);
49+
}

Python2D/LaunchHelper.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#pragma once
2+
#ifndef _LAUNCH_HELPER_H_
3+
#define _LAUNCH_HELPER_H_
4+
class LaunchHelper {
5+
public:
6+
static void StartGame();
7+
static void StartConfigHelper();
8+
static void LoadGameMenu();
9+
static void ExitGame();
10+
};
11+
#endif

Python2D/Python2D.vcxproj

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@
7878
<SDLCheck>true</SDLCheck>
7979
<ConformanceMode>true</ConformanceMode>
8080
<AdditionalIncludeDirectories>C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
81+
<UseUnicodeForAssemblerListing>
82+
</UseUnicodeForAssemblerListing>
8183
</ClCompile>
8284
<Link>
8385
<AdditionalDependencies>glfw3.lib;freetype.lib;..\libs\x86\OpenAL32.lib;..\libs\x86\python36.lib;..\libs\x86\python36_d.lib;..\libs\x86\python3.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -129,6 +131,7 @@
129131
</Link>
130132
</ItemDefinitionGroup>
131133
<ItemGroup>
134+
<ClCompile Include="LaunchHelper.cpp" />
132135
<ClCompile Include="util\ConfigManager.cpp" />
133136
<ClCompile Include="util\GameTimer.cpp" />
134137
<ClCompile Include="util\gl3w.c" />
@@ -143,7 +146,9 @@
143146
<ClCompile Include="XCCore\Bullet\CircleTypeBullet.cpp" />
144147
<ClCompile Include="XCCore\Bullet\RectangleTypeBullet.cpp" />
145148
<ClCompile Include="XCCore\Enemy\EnemyObject.cpp" />
149+
<ClCompile Include="XCCore\Menu\GameMenu.cpp" />
146150
<ClCompile Include="XCCore\Task\Task.cpp" />
151+
<ClCompile Include="XCCore\Task\TaskBoss.cpp" />
147152
<ClCompile Include="XCCore\Task\TaskDispatcher.cpp" />
148153
<ClCompile Include="XCCore\Task\TaskHelper.cpp" />
149154
<ClCompile Include="XCCore\Task\TaskEnemy.cpp" />
@@ -173,6 +178,7 @@
173178
<ClCompile Include="python2d.cpp" />
174179
</ItemGroup>
175180
<ItemGroup>
181+
<ClInclude Include="LaunchHelper.h" />
176182
<ClInclude Include="util\ConfigManager.h" />
177183
<ClInclude Include="util\GameTimer.h" />
178184
<ClInclude Include="util\ImageLoader.h" />
@@ -190,7 +196,10 @@
190196
<ClInclude Include="XCCore\Bullet\CircleTypeBullet.h" />
191197
<ClInclude Include="XCCore\Bullet\RectangleTypeBullet.h" />
192198
<ClInclude Include="XCCore\Enemy\EnemyObject.h" />
199+
<ClInclude Include="XCCore\Menu\GameMenu.h" />
200+
<ClInclude Include="XCCore\Menu\IMenu.h" />
193201
<ClInclude Include="XCCore\Task\Task.h" />
202+
<ClInclude Include="XCCore\Task\TaskBoss.h" />
194203
<ClInclude Include="XCCore\Task\TaskDispatcher.h" />
195204
<ClInclude Include="XCCore\Task\TaskHelper.h" />
196205
<ClInclude Include="XCCore\Task\TaskEnemy.h" />

Python2D/Python2D.vcxproj.filters

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@
4646
<Filter Include="XCCore\Enemy">
4747
<UniqueIdentifier>{2e419218-6347-4310-bc9f-14bf80549af2}</UniqueIdentifier>
4848
</Filter>
49+
<Filter Include="XCCore\Menu">
50+
<UniqueIdentifier>{0b1f0165-e716-497e-a0ae-d9e4b7595711}</UniqueIdentifier>
51+
</Filter>
4952
</ItemGroup>
5053
<ItemGroup>
5154
<ClCompile Include="util\ConfigManager.cpp">
@@ -168,6 +171,13 @@
168171
<ClCompile Include="XCCore\XCRender\ParticleHelper.cpp">
169172
<Filter>XCCore\XCRender</Filter>
170173
</ClCompile>
174+
<ClCompile Include="XCCore\Task\TaskBoss.cpp">
175+
<Filter>XCCore\Task</Filter>
176+
</ClCompile>
177+
<ClCompile Include="XCCore\Menu\GameMenu.cpp">
178+
<Filter>XCCore\Menu</Filter>
179+
</ClCompile>
180+
<ClCompile Include="LaunchHelper.cpp" />
171181
</ItemGroup>
172182
<ItemGroup>
173183
<ClInclude Include="util\ConfigManager.h">
@@ -310,5 +320,15 @@
310320
<ClInclude Include="XCCore\XCRender\ParticleHelper.h">
311321
<Filter>XCCore\XCRender</Filter>
312322
</ClInclude>
323+
<ClInclude Include="XCCore\Task\TaskBoss.h">
324+
<Filter>XCCore\Task</Filter>
325+
</ClInclude>
326+
<ClInclude Include="XCCore\Menu\IMenu.h">
327+
<Filter>XCCore\Menu</Filter>
328+
</ClInclude>
329+
<ClInclude Include="XCCore\Menu\GameMenu.h">
330+
<Filter>XCCore\Menu</Filter>
331+
</ClInclude>
332+
<ClInclude Include="LaunchHelper.h" />
313333
</ItemGroup>
314334
</Project>

Python2D/XCCore/Attack/NormalStrike.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ void NormalStrike::Init()
2323
isResInit = true;
2424
}
2525

26-
std::thread effectThread(&NormalStrike::threadStrikeHitWork, this);
27-
effectThread.detach();
26+
AudioHelper::playFromBuffer(strikeEffect.wavBuffer);
2827

2928
renderHelper = new XCImageHelper("assets/Item/attack.png", true);
3029

@@ -86,7 +85,7 @@ void NormalStrike::checkCollisonWithEnemy(EnemyObject * pEnemy)
8685
if (enemyPosition[0] <= NowPosition[0] + halfWidth && enemyPosition[0] >= NowPosition[0] - halfWidth){
8786
if (enemyPosition[1] <= NowPosition[1] + halfHeight && enemyPosition[1] >= lastY - halfHeight) {
8887
ParticleHelper* particleGroup = new ParticleHelper;
89-
particleGroup->addNewParticle(6, 20.0f, 0.6f, 0.4f, glm::vec4(1.0f), enemyPosition);
88+
particleGroup->addNewParticle(6, 15.0f, 0.6f, 0.4f, glm::vec4(1.0f), enemyPosition);
9089
RenderManager::getInstance()->AddRenderObject(ParticleGroupUuid, particleGroup);
9190

9291
pEnemy->hurtEnemy(0.2f);

Python2D/XCCore/Attack/NormalStrike.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#pragma once
22
#ifndef _NORMAL_STRIKE_H_
33
#define _NORMAL_STRIKE_H_
4-
#include <thread>
54
#include "IAttack.h"
65
#include "../../util/GameTimer.h"
76
#include "../XCRender/XCImageHelper.h"

Python2D/XCCore/Background/Lake.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ void LakeBackground::BackgroundRender()
4545

4646
void LakeBackground::renderLakeImage()
4747
{
48-
glm::vec3 reshape = glm::vec3(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop,1.0f);
48+
static glm::vec3 reshape = glm::vec3(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop,1.0f);
4949
{
5050
glm::mat4 model;
5151
model = glm::translate(model, glm::vec3(0.5f, 0.5f, 0.0f)*reshape);
@@ -82,10 +82,8 @@ void LakeBackground::renderLakeImage()
8282

8383
void LakeBackground::renderWaterImage()
8484
{
85-
glm::vec3 reshape = glm::vec3(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop, 1.0f);
85+
static glm::vec3 reshape = glm::vec3(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop, 1.0f);
8686
BlendAlphaOneStart
87-
//GL_ONE_MINUS_SRC_ALPHA
88-
//glBlendFunc(GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR);
8987
{
9088
glm::mat4 model;
9189
model = glm::translate(model, glm::vec3(0.0f, 0.5f, 0.0f));
@@ -107,7 +105,7 @@ void LakeBackground::renderWaterImage()
107105

108106
void LakeBackground::renderLeafImage()
109107
{
110-
glm::vec3 reshape = glm::vec3(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop, 1.0f);
108+
static glm::vec3 reshape = glm::vec3(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop, 1.0f);
111109
BlendOneMinusAlphaColorStart
112110
{
113111
glm::mat4 model;

Python2D/XCCore/Bullet/Bullet.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ class Bullet:public RenderObject {
1010
float NowPosition[3] = { 0.0f, 0.0f, 0.0f };
1111
/*
1212
bool isWorkFinish = false
13+
std::atomic_bool isInit = false;
1314
*/
1415

1516
bool checkReboundOrOverflow(int *reBoundTimePointer, float *angle, float scaleX, float scaleY)

Python2D/XCCore/Bullet/CircleTypeBullet.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ void CircleTypeBullet::Render()
4949
{
5050
if (isInit) {
5151
timer.Tick();
52-
auto pPlayerHelper1 = CollideInfo::getCollideHelperP1();
52+
auto pPlayerHelper1 = CollideInfo::getCollideHelper();
5353
float* playerPos = (pPlayerHelper1 == nullptr ? nullptr : pPlayerHelper1->getPlayerPosition());
5454
Bullet::solveBulletMovement(aimToPlayer, playerPos, velocity, angle, acceleration, increaseAngle, timer.getDeltaFrame());
5555

0 commit comments

Comments
 (0)