[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pingus-CVS] r4164 - branches/pingus-hanusz/src
From: |
grumbel |
Subject: |
[Pingus-CVS] r4164 - branches/pingus-hanusz/src |
Date: |
Wed, 25 May 2011 16:44:11 +0200 |
Author: grumbel
Date: 2011-05-25 16:44:10 +0200 (Wed, 25 May 2011)
New Revision: 4164
Modified:
branches/pingus-hanusz/src/level_menu.cpp
branches/pingus-hanusz/src/levelset.cpp
branches/pingus-hanusz/src/levelset.hpp
Log:
Print Game Completed when all levels are solved
Modified: branches/pingus-hanusz/src/level_menu.cpp
===================================================================
--- branches/pingus-hanusz/src/level_menu.cpp 2011-05-25 14:36:51 UTC (rev
4163)
+++ branches/pingus-hanusz/src/level_menu.cpp 2011-05-25 14:44:10 UTC (rev
4164)
@@ -231,6 +231,11 @@
levelset = levelset_;
}
+ Levelset* get_levelset() const
+ {
+ return levelset;
+ }
+
void on_pointer_move(int x, int y)
{
x -= rect.left;
@@ -295,10 +300,19 @@
if (m_mode == kLevelSelector)
{
- if (ScreenManager::instance()->time_limit_over())
+ if (level_selector->get_levelset() &&
level_selector->get_levelset()->is_finished())
{
// time limit reached
gc.print_center(Fonts::chalk_large, gc.get_width()/2, gc.get_height()/2
- 60,
+ "Game Completed");
+
+ m_abort_button->show();
+ level_selector->hide();
+ }
+ else if (ScreenManager::instance()->time_limit_over())
+ {
+ // time limit reached
+ gc.print_center(Fonts::chalk_large, gc.get_width()/2, gc.get_height()/2
- 60,
"Time Out");
m_abort_button->show();
Modified: branches/pingus-hanusz/src/levelset.cpp
===================================================================
--- branches/pingus-hanusz/src/levelset.cpp 2011-05-25 14:36:51 UTC (rev
4163)
+++ branches/pingus-hanusz/src/levelset.cpp 2011-05-25 14:44:10 UTC (rev
4164)
@@ -148,4 +148,17 @@
completion = Math::clamp(0, completion * 100 / int(levels.size()), 100);
}
+bool
+Levelset::is_finished() const
+{
+ for(std::vector<Level*>::const_iterator i = levels.begin(); i !=
levels.end(); ++i)
+ {
+ if (!(*i)->finished)
+ {
+ return false;
+ }
+ }
+ return true;
+}
+
/* EOF */
Modified: branches/pingus-hanusz/src/levelset.hpp
===================================================================
--- branches/pingus-hanusz/src/levelset.hpp 2011-05-25 14:36:51 UTC (rev
4163)
+++ branches/pingus-hanusz/src/levelset.hpp 2011-05-25 14:44:10 UTC (rev
4164)
@@ -63,6 +63,8 @@
/** Return the number of completed levels */
int get_completion() const;
+ bool is_finished() const;
+
void refresh();
private:
Levelset (const Levelset&);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pingus-CVS] r4164 - branches/pingus-hanusz/src,
grumbel <=