bool FeatureAttack::Attack(sh_p<Enti> target) { if( target.get() == enti ) { // Log ( do not attak yourself ) :-) return false; } // Try move and set OnComplete for this if( !enti->Do<FeatureMove>()->Move(target->coord, this) ) return false; this->target = target; return true; }
void MapArea::AddObjectWithPainter(sh_p<QPixmap> &pixmap, const QRect &rc, sh_p<ObjectInfo> &obj, const sh_p<ObjectInfo> &newObj) { obj = newObj; { QPainter painter(pixmap.get()); painter.setCompositionMode(QPainter::CompositionMode_Source); if(obj) painter.drawPixmap(rc, obj->image); else painter.fillRect(rc, QColor(0,0,0,0)); } this->update(rc); mainForm->MapChanged(); // !!! }