void AIStatus::IMDraw() { if(this->enabled == true) { GameScene* sc = (GameScene*) this->_pGs; //im cost numbers for(std::map<int, InfluenceMapNode>::iterator node = sc->getInfluenceMap()->getMap()->begin(); node != sc->getInfluenceMap()->getMap()->end(); ++node) { if(((InfluenceMapNode)node->second).cost > -1) { std::stringstream ss1; ss1 << ((InfluenceMapNode)node->second).cost; //+ ((InfluenceMapNode)node->second).pTower->GetStrength() ; Label * lbl = Label::create(ss1.str(), "Arial", 12, CCSizeMake(sc->getTiledMap()->getTileSize().width, sc->getTiledMap()->getTileSize().height), kCCTextAlignmentCenter); lbl->setPosition(sc->getMapInfo()->ConvertIdToPoint(node->first)); Rect r = lbl->getBoundingBox(); Sprite * spr = Sprite::create("sprite_Blue_10x10.png", r); spr->setPosition(sc->getMapInfo()->ConvertIdToPoint(node->first)); spr->setOpacityModifyRGB(true); spr->setOpacity( 80 + (((InfluenceMapNode)node->second).cost / 10) ); sc->getMapLayer()->addChild(spr); sc->getMapLayer()->addChild(lbl); //add it to the local pointers holder std::pair< Label*, Sprite* > p; p.first = lbl; p.second = spr; this->imNodes.insert(p); } } } }
void AIStatus::DrawRoads() { GameScene* sc = (GameScene*) this->_pGs; if(this->enabled == true) { //draw all roads ValueVector idd = sc->getMapInfo()->GetMapInfoTypeVec(MapInfoType::Road); for (auto& index: idd) { Label * lbl = Label::create("R", "Arial", 12, CCSizeMake(sc->getTiledMap()->getTileSize().width, sc->getTiledMap()->getTileSize().height), kCCTextAlignmentCenter); lbl->setPosition(sc->getMapInfo()->ConvertIdToPoint(index.asInt())); sc->getMapLayer()->addChild(lbl); std::pair < Label*, Sprite* > p; p.first = lbl; this->envNodes.insert(p); } } }