summaryrefslogtreecommitdiffstats
path: root/pokebattle/ATBTimer.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-09-05 20:41:05 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-09-05 20:41:05 +0000
commitb81f5bffa2772eb9bd3c67fb35485ab1ee2d96e7 (patch)
tree6609f31b1635d948cf7a216c7fea72cfb3c905a0 /pokebattle/ATBTimer.cpp
parentb99ffef4aa68dd5f0af64de9aec0f610e267d8cc (diff)
[FIX] Moving stuff for the move to the new name, Sigma Game Engine (sigen for short)
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@249 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokebattle/ATBTimer.cpp')
-rw-r--r--pokebattle/ATBTimer.cpp72
1 files changed, 0 insertions, 72 deletions
diff --git a/pokebattle/ATBTimer.cpp b/pokebattle/ATBTimer.cpp
deleted file mode 100644
index d2f42ce2..00000000
--- a/pokebattle/ATBTimer.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright 2008 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// Header include
-#include "ATBTimer.h"
-
-// Pokebattle includes
-#include "ATBArena.h"
-
-// Qt includes
-#include <QtCore/QtConcurrentFilter>
-#include <QtCore/QtConcurrentMap>
-#include <QtCore/QFuture>
-#include <QtCore/QMultiMap>
-#include <QtCore/QTimer>
-
-// STL includes
-#include <functional>
-
-Pokebattle::ATBTimer::ATBTimer(ATBArena* arena, ActionQueue& actions) :
- QThread(arena),
- m_arena(arena),
- m_actions(actions),
- m_timer(new QTimer(this))
-{
- connect(m_timer, SIGNAL(timeout()), this, SLOT(update()));
-}
-
-void Pokebattle::ATBTimer::update()
-{
- const QList<TeamMember*> active = m_timeStates.keys();
- QtConcurrent::blockingMap(active, std::bind1st(std::mem_fun(&Pokebattle::ATBTimer::increaseMeter), this));
- // TODO: adjust max time if needed
- QList<TeamMember*> overflow = QtConcurrent::blockingFiltered(active, std::bind1st(std::mem_fun(&Pokebattle::ATBTimer::isOverflowed), this));
- QMultiMap<double, TeamMember*> sorter;
- foreach (TeamMember* teamMember, overflow)
- sorter.insert(m_timeStates[teamMember], teamMember);
- overflow = sorter.values();
- foreach(TeamMember* teamMember, overflow)
- m_actions.enqueue(requestDecision(teamMember));
-}
-
-void Pokebattle::ATBTimer::run()
-{
- m_timer->start(50);
- exec();
-}
-
-void Pokebattle::ATBTimer::increaseMeter(const TeamMember* teamMember)
-{
- // TODO: tweak this(?)
- m_timeStates[const_cast<TeamMember*>(teamMember)] += teamMember->statValue(Pokemod::ST_Speed) / 10;
-}
-
-bool Pokebattle::ATBTimer::isOverflowed(const TeamMember* teamMember) const
-{
- return m_threshold < m_timeStates[const_cast<TeamMember*>(teamMember)];
-}