示例#1
0
文件: AIStatus.cpp 项目: geofl/tdai
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);
            }
        }
    }
}
示例#2
0
文件: AIStatus.cpp 项目: geofl/tdai
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);
        }
    }
}