Skip to content

Commit 27172e1

Browse files
author
Kyle
committed
Added Keys to switch level. "Page Up" now loads next level, and "Page Down" now loads previous level.
1 parent 1e21e43 commit 27172e1

File tree

3 files changed

+29
-0
lines changed

3 files changed

+29
-0
lines changed

src/Game.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ class Game: public State {
7474
std::vector<Node*> get_static_collisions(Node* a);
7575
std::vector<const Node*> vnodes() { return m_VisibleNodes; }
7676
std::vector<std::shared_ptr<Player>>& players() { return m_Players; }
77+
Qor* qor() { return m_pQor; }
7778
void checkpoint(Node* chk);
7879

7980
// Callbacks

src/Player.cpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include "Qor/Sound.h"
33
#include "Game.h"
44
#include "Monster.h"
5+
#include "Qor/Qor.h"
56

67
using namespace std;
78
using namespace glm;
@@ -130,6 +131,12 @@ void Player :: logic_self(Freq::Time t) {
130131
if (m_pController->button("God").pressed_now())
131132
m_GodMode = !m_GodMode;
132133

134+
if (m_pController->button("NextLevel").pressed_now())
135+
next_level();
136+
137+
if (m_pController->button("PreviousLevel").pressed_now())
138+
previous_level();
139+
133140
// aim+shoot logic
134141
float xpres = m_pController->button("aimright").pressure() -
135142
m_pController->button("aimleft").pressure();
@@ -622,3 +629,19 @@ void Player::gib() {
622629
gibptr->detach();
623630
});
624631
}
632+
633+
void Player :: next_level() {
634+
auto mapname = m_pGame->qor()->args().value_or("map", "1");
635+
auto nextmap = to_string(boost::lexical_cast<int>(mapname) + 1);
636+
637+
m_pGame->qor()->args().set("map", nextmap);
638+
m_pGame->qor()->change_state("pregame");
639+
}
640+
641+
void Player :: previous_level() {
642+
auto mapname = m_pGame->qor()->args().value_or("map", "1");
643+
auto nextmap = to_string(boost::lexical_cast<int>(mapname) - 1);
644+
645+
m_pGame->qor()->args().set("map", nextmap);
646+
m_pGame->qor()->change_state("pregame");
647+
}

src/Player.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,11 @@ class Player: public Node {
5858
bool hurt(int damage);
5959
void heal(int health);
6060
void gib();
61+
62+
// debug
63+
void next_level();
64+
void previous_level();
65+
6166
// Callbacks
6267
static void cb_to_bullet(Node* player_node, Node* bullet);
6368

0 commit comments

Comments
 (0)