summaryrefslogtreecommitdiffstats
path: root/sigencore
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-03-05 19:10:27 -0500
committerBen Boeckel <MathStuf@gmail.com>2009-03-05 19:13:12 -0500
commit8afa47974c619c72282753349cc602d6700db1bd (patch)
tree3876b780379b196538bca74577fcfa4782c437f1 /sigencore
parentcd57f0ed31eafb184589ce62b5f855994002d650 (diff)
downloadsigen-8afa47974c619c72282753349cc602d6700db1bd.tar.gz
sigen-8afa47974c619c72282753349cc602d6700db1bd.tar.xz
sigen-8afa47974c619c72282753349cc602d6700db1bd.zip
Initial cleanup of ATBTimer
Diffstat (limited to 'sigencore')
-rw-r--r--sigencore/plugins/arenas/CMakeLists.txt1
-rw-r--r--sigencore/plugins/arenas/atb/ATBTimer.cpp33
-rw-r--r--sigencore/plugins/arenas/atb/ATBTimer.h25
3 files changed, 27 insertions, 32 deletions
diff --git a/sigencore/plugins/arenas/CMakeLists.txt b/sigencore/plugins/arenas/CMakeLists.txt
index cdb3048e..f7fc655c 100644
--- a/sigencore/plugins/arenas/CMakeLists.txt
+++ b/sigencore/plugins/arenas/CMakeLists.txt
@@ -3,6 +3,7 @@ project(sigenarenas)
set(sigenarenas_SRCS
SigenArenas.cpp
atb/ActionQueue.cpp
+ atb/ATBTimer.cpp
standard/TurnArena.cpp
)
diff --git a/sigencore/plugins/arenas/atb/ATBTimer.cpp b/sigencore/plugins/arenas/atb/ATBTimer.cpp
index 06abc827..d43b1dd5 100644
--- a/sigencore/plugins/arenas/atb/ATBTimer.cpp
+++ b/sigencore/plugins/arenas/atb/ATBTimer.cpp
@@ -18,12 +18,13 @@
// Header include
#include "ATBTimer.h"
-// Sigbattle includes
+// ATB includes
+#include "ActionQueue.h"
#include "ATBArena.h"
// Sigscript includes
-#include "../sigscript/RulesWrapper.h"
-#include "../sigscript/SigmodWrapper.h"
+#include <sigscript/GameWrapper.h>
+#include <sigscript/RulesWrapper.h>
// Qt includes
#include <QtCore/QtAlgorithms>
@@ -33,48 +34,46 @@
#include <QtCore/QMultiMap>
#include <QtCore/QTimerEvent>
-bool Sigbattle::compareTimers(TeamMember* const & member1, TeamMember* const & member2)
-{
- return member1->timer() < member2->timer();
-}
+using namespace Sigencore;
-void Sigbattle::increaseMeter(TeamMember* teamMember)
+void increaseMeter(TeamMember* teamMember)
{
// TODO: Tweak this?
- teamMember->advanceTimer(teamMember->statValue(Sigmod::ST_Speed) / 10);
+// teamMember->advanceTimer(teamMember->statValue(Sigmod::ST_Speed) / 10);
}
-bool Sigbattle::isOverflowed(const TeamMember* teamMember)
+bool isOverflowed(const TeamMember* teamMember)
{
// TODO: Tweak threshold?
- return 1000. < teamMember->timer();
+// return 1000. < teamMember->timer();
}
-Sigbattle::ATBTimer::ATBTimer(ATBArena* arena, ActionQueue& actions) :
+ATBTimer::ATBTimer(ATBArena* arena, ActionQueue& actions) :
QThread(arena),
m_arena(arena),
m_actions(actions)
{
}
-Sigbattle::ATBTimer::~ATBTimer()
+ATBTimer::~ATBTimer()
{
}
-void Sigbattle::ATBTimer::run()
+void ATBTimer::run()
{
startTimer(50);
exec();
}
-void Sigbattle::ATBTimer::timerEvent(QTimerEvent* event)
+void ATBTimer::timerEvent(QTimerEvent* event)
{
+ // TODO: Rewrite this
Q_UNUSED(event)
- const QList<TeamMember*> active = m_arena->active();
+ const QList<TeamMember*> active = m_arena->active(Arena::Fighters);
QList<TeamMember::RequestedAction> actions;
QtConcurrent::blockingMap(active, increaseMeter);
QList<TeamMember*> overflow = QtConcurrent::blockingFiltered(active, isOverflowed);
- qSort(overflow.begin(), overflow.end(), compareTimers);
+// qSort(overflow.begin(), overflow.end(), compareTimers);
foreach (TeamMember* teamMember, overflow)
{
TeamMember::RequestedAction action = requestDecision(teamMember);
diff --git a/sigencore/plugins/arenas/atb/ATBTimer.h b/sigencore/plugins/arenas/atb/ATBTimer.h
index 5053741e..974688bb 100644
--- a/sigencore/plugins/arenas/atb/ATBTimer.h
+++ b/sigencore/plugins/arenas/atb/ATBTimer.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2008 Ben Boeckel <MathStuf@gmail.com>
+ * Copyright 2008-2009 Ben Boeckel <MathStuf@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -15,23 +15,21 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef SIGBATTLE_ATBTIMER
-#define SIGBATTLE_ATBTIMER
-
-// Sigbattle includes
-#include "Global.h"
+#ifndef SIGENARENAS_ATBTIMER
+#define SIGENARENAS_ATBTIMER
// Qt includes
#include <QtCore/QThread>
-namespace Sigbattle
+namespace Sigencore
{
-class ActionQueue;
-class ATBArena;
class Player;
class TeamMember;
+}
+class ActionQueue;
+class ATBArena;
-class SIGBATTLE_EXPORT ATBTimer : public QThread
+class ATBTimer : public QThread
{
Q_OBJECT
@@ -47,10 +45,7 @@ class SIGBATTLE_EXPORT ATBTimer : public QThread
ActionQueue& m_actions;
};
-SIGBATTLE_EXPORT bool compareTimers(TeamMember* const & member1, TeamMember* const & member2);
-SIGBATTLE_EXPORT void increaseMeter(TeamMember* teamMember);
-SIGBATTLE_EXPORT bool isOverflowed(const TeamMember* teamMember);
-
-}
+void increaseMeter(Sigencore::TeamMember* teamMember);
+bool isOverflowed(const Sigencore::TeamMember* teamMember);
#endif