BWAPI
|
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 }