BWAPI
Skynet/Skynet/DrawBuffer.cpp
Go to the documentation of this file.
00001 #include "DrawBuffer.h"
00002 
00003 #include "BufferedText.h"
00004 #include "BufferedBox.h"
00005 #include "BufferedCircle.h"
00006 #include "BufferedEllipse.h"
00007 #include "BufferedDot.h"
00008 #include "BufferedLine.h"
00009 #include "BufferedTriangle.h"
00010 
00011 DrawBufferClass::DrawBufferClass()
00012 {
00013 }
00014 
00015 void DrawBufferClass::update()
00016 {
00017         for(boost::ptr_multimap<BufferedCategory, BufferedItem>::iterator it = m_BufferedItems.begin(); it != m_BufferedItems.end();)
00018         {
00019                 if((*it).second->isTimeUp())
00020                 {
00021                         m_BufferedItems.erase(it++);
00022                 }
00023                 else
00024                 {
00025                         (*it).second->draw();
00026                         ++it;
00027                 }
00028         }
00029 }
00030 
00031 
00032 void DrawBufferClass::drawBufferedText(BWAPI::CoordinateType::Enum ctype, int x, int y, std::string text, int frameTime, BufferedCategory ID)
00033 {
00034         m_BufferedItems.insert(ID, new BufferedText(ctype, ID, frameTime + BWAPI::Broodwar->getFrameCount(), x, y, text));
00035 }
00036 
00037 void DrawBufferClass::drawBufferedBox(BWAPI::CoordinateType::Enum ctype, int left, int top, int right, int bottom, int frameTime, BWAPI::Color color, bool isSolid, BufferedCategory ID)
00038 {
00039         m_BufferedItems.insert(ID, new BufferedBox(ctype, ID, frameTime + BWAPI::Broodwar->getFrameCount(), left, top, right, bottom, color, isSolid));
00040 }
00041 
00042 void DrawBufferClass::drawBufferedCircle(BWAPI::CoordinateType::Enum ctype, int x, int y, int radius, int frameTime, BWAPI::Color color, bool isSolid, BufferedCategory ID)
00043 {
00044         m_BufferedItems.insert(ID, new BufferedCircle(ctype, ID, frameTime + BWAPI::Broodwar->getFrameCount(), x, y, radius, color, isSolid));
00045 }
00046 
00047 void DrawBufferClass::drawBufferedEllipse(BWAPI::CoordinateType::Enum ctype, int x, int y, int radiusX, int radiusY, int frameTime, BWAPI::Color color, bool isSolid, BufferedCategory ID)
00048 {
00049         m_BufferedItems.insert(ID, new BufferedEllipse(ctype, ID, frameTime + BWAPI::Broodwar->getFrameCount(), x, y, radiusX, radiusY, color, isSolid));
00050 }
00051 
00052 void DrawBufferClass::drawBufferedDot(BWAPI::CoordinateType::Enum ctype, int x, int y, int frameTime, BWAPI::Color color, BufferedCategory ID)
00053 {
00054         m_BufferedItems.insert(ID, new BufferedDot(ctype, ID, frameTime + BWAPI::Broodwar->getFrameCount(), x, y, color));
00055 }
00056 
00057 void DrawBufferClass::drawBufferedLine(BWAPI::CoordinateType::Enum ctype, int x1, int y1, int x2, int y2, int frameTime, BWAPI::Color color, BufferedCategory ID)
00058 {
00059         m_BufferedItems.insert(ID, new BufferedLine(ctype, ID, frameTime + BWAPI::Broodwar->getFrameCount(), x1, y1, x2, y2, color));
00060 }
00061 
00062 void DrawBufferClass::drawBufferedTriangle(BWAPI::CoordinateType::Enum ctype, int x1, int y1, int x2, int y2, int x3, int y3, int frameTime, BWAPI::Color color, bool isSolid, BufferedCategory ID)
00063 {
00064         m_BufferedItems.insert(ID, new BufferedTriangle(ctype, ID, frameTime + BWAPI::Broodwar->getFrameCount(), x1, y1, x2, y2, x3, y3, color, isSolid));
00065 }
00066 
00067 void DrawBufferClass::clearBuffer(BufferedCategory ID)
00068 {
00069         m_BufferedItems.erase(ID);
00070 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines