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; }
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); }