File tree Expand file tree Collapse file tree 3 files changed +29
-0
lines changed Expand file tree Collapse file tree 3 files changed +29
-0
lines changed Original file line number Diff line number Diff line change @@ -74,6 +74,7 @@ class Game: public State {
74
74
std::vector<Node*> get_static_collisions (Node* a);
75
75
std::vector<const Node*> vnodes () { return m_VisibleNodes; }
76
76
std::vector<std::shared_ptr<Player>>& players () { return m_Players; }
77
+ Qor* qor () { return m_pQor; }
77
78
void checkpoint (Node* chk);
78
79
79
80
// Callbacks
Original file line number Diff line number Diff line change 2
2
#include " Qor/Sound.h"
3
3
#include " Game.h"
4
4
#include " Monster.h"
5
+ #include " Qor/Qor.h"
5
6
6
7
using namespace std ;
7
8
using namespace glm ;
@@ -130,6 +131,12 @@ void Player :: logic_self(Freq::Time t) {
130
131
if (m_pController->button (" God" ).pressed_now ())
131
132
m_GodMode = !m_GodMode;
132
133
134
+ if (m_pController->button (" NextLevel" ).pressed_now ())
135
+ next_level ();
136
+
137
+ if (m_pController->button (" PreviousLevel" ).pressed_now ())
138
+ previous_level ();
139
+
133
140
// aim+shoot logic
134
141
float xpres = m_pController->button (" aimright" ).pressure () -
135
142
m_pController->button (" aimleft" ).pressure ();
@@ -622,3 +629,19 @@ void Player::gib() {
622
629
gibptr->detach ();
623
630
});
624
631
}
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
+ }
Original file line number Diff line number Diff line change @@ -58,6 +58,11 @@ class Player: public Node {
58
58
bool hurt (int damage);
59
59
void heal (int health);
60
60
void gib ();
61
+
62
+ // debug
63
+ void next_level ();
64
+ void previous_level ();
65
+
61
66
// Callbacks
62
67
static void cb_to_bullet (Node* player_node, Node* bullet);
63
68
You can’t perform that action at this time.
0 commit comments