Пример #1
0
bool GLObject::collision(GLObject & obj){
    float vx = obj.x()-x();
    float vy = obj.y()-y();
    if( object.model() ){
      //object.model()->cullInfo().radius();
      return ( vx*vx + vy*vy ) < viewSize()*obj.viewSize();
      } else
      return 0;
    }
Пример #2
0
void GLObject::setMoveDisplace( GLObject & obj ){
    float vx = x()-obj.x(),
          vy = y()-obj.y();

//    bool nMove = 1;
//    UnitBehavior* u    = ((UnitBehavior*)getBehavior("unit")),
//                * uObj = ((UnitBehavior*)obj.getBehavior("unit"));
//    if( u && u->isMove() )
//      nMove = 0;

//    bool hashCmp = obj.getHashCode() > this->getHashCode();
//    if( u && uObj &&
//        u->sqrDistanceToTaget() < uObj->sqrDistanceToTaget() )
//      hashCmp = 0;

//    if( obj.getClass()->speed > 0 &&
//        ( hashCmp || nMove || u->getWarrior()->isAtack() ) )
//      setMoveDisplace(vx, vy);
    setMoveDisplace(vx, vy);
    }