@@ -71,6 +71,34 @@ bool OverlayLayer::init() {
7171 label->setPosition ({win_size.width - 55 , win_size.height - 85 });
7272 addChild (label);
7373
74+ auto check_off_sprite = CCSprite::createWithSpriteFrameName (" GJ_checkOff_001.png" );
75+ auto check_on_sprite = CCSprite::createWithSpriteFrameName (" GJ_checkOn_001.png" );
76+
77+ m_x_pos_toggle = gd::CCMenuItemToggler::create (check_off_sprite, check_on_sprite, this , menu_selector (OverlayLayer::on_x_pos));
78+ m_x_pos_toggle->setPosition ({win_size.width - 35 , -120 });
79+ menu->addChild (m_x_pos_toggle);
80+
81+ m_frame_toggle = gd::CCMenuItemToggler::create (check_off_sprite, check_on_sprite, this , menu_selector (OverlayLayer::on_frame));
82+ m_frame_toggle->setPosition ({win_size.width - 35 , -155 });
83+ menu->addChild (m_frame_toggle);
84+
85+ if (rs.get_default_type () == ReplayType::XPOS)
86+ m_x_pos_toggle->toggle (true );
87+ else
88+ m_frame_toggle->toggle (true );
89+
90+ label = CCLabelBMFont::create (" X Pos" , " bigFont.fnt" );
91+ label->setAnchorPoint ({1 , 0.5 });
92+ label->setScale (0 .8f );
93+ label->setPosition ({win_size.width - 55 , win_size.height - 120 });
94+ addChild (label);
95+
96+ label = CCLabelBMFont::create (" Frame" , " bigFont.fnt" );
97+ label->setAnchorPoint ({1 , 0.5 });
98+ label->setScale (0 .8f );
99+ label->setPosition ({win_size.width - 55 , win_size.height - 155 });
100+ addChild (label);
101+
74102 sprite = CCSprite::create (" square02b_001.png" );
75103 sprite->setColor ({0 , 0 , 0 });
76104 sprite->setOpacity (69 );
@@ -113,7 +141,9 @@ void OverlayLayer::update_info_text() {
113141 auto & rs = ReplaySystem::get_instance ();
114142 auto & replay = rs.get_replay ();
115143 std::stringstream stream;
116- stream << " Current Replay:\n FPS: " << replay.get_fps () << " \n Actions: " << replay.get_actions ().size ();
144+ stream << " Current Replay:\n FPS: " << replay.get_fps ();
145+ stream << " \n Actions: " << replay.get_actions ().size ();
146+ stream << " \n Mode: " << (replay.get_type () == ReplayType::XPOS ? " X Pos" : " Frame" );
117147 m_replay_info->setString (stream.str ().c_str ());
118148}
119149
@@ -203,4 +233,16 @@ void OverlayLayer::on_load(CCObject*) {
203233void OverlayLayer::keyBackClicked () {
204234 _update_default_fps ();
205235 gd::FLAlertLayer::keyBackClicked ();
236+ }
237+
238+ void OverlayLayer::on_x_pos (CCObject*) {
239+ m_x_pos_toggle->toggle (false );
240+ m_frame_toggle->toggle (false );
241+ ReplaySystem::get_instance ().set_default_type (ReplayType::XPOS);
242+ }
243+
244+ void OverlayLayer::on_frame (CCObject*) {
245+ m_x_pos_toggle->toggle (false );
246+ m_frame_toggle->toggle (false );
247+ ReplaySystem::get_instance ().set_default_type (ReplayType::FRAME);
206248}
0 commit comments