diff options
author | Ben Boeckel <MathStuf@gmail.com> | 2009-03-05 19:10:27 -0500 |
---|---|---|
committer | Ben Boeckel <MathStuf@gmail.com> | 2009-03-05 19:13:12 -0500 |
commit | 8afa47974c619c72282753349cc602d6700db1bd (patch) | |
tree | 3876b780379b196538bca74577fcfa4782c437f1 /sigencore | |
parent | cd57f0ed31eafb184589ce62b5f855994002d650 (diff) | |
download | sigen-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.txt | 1 | ||||
-rw-r--r-- | sigencore/plugins/arenas/atb/ATBTimer.cpp | 33 | ||||
-rw-r--r-- | sigencore/plugins/arenas/atb/ATBTimer.h | 25 |
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 |