53 lines
1.0 KiB
C++
53 lines
1.0 KiB
C++
// Copyright (C) 2007 Id Software, Inc.
|
|
//
|
|
|
|
#include "../precompiled.h"
|
|
#pragma hdrstop
|
|
|
|
#include "../Game_local.h"
|
|
#include "../ContentMask.h"
|
|
#include "BotThreadData.h"
|
|
#include "BotAI_Main.h"
|
|
|
|
/*
|
|
================
|
|
idBotNode::idBotNode
|
|
================
|
|
*/
|
|
idBotNode::idBotNode() {
|
|
active = true;
|
|
flags = NODE_GROUND;
|
|
radius = 256.0f;
|
|
team = NOTEAM;
|
|
origin.Zero();
|
|
name = "";
|
|
links.Clear();
|
|
}
|
|
|
|
/*
|
|
===================
|
|
idBotNode::RemoveLink
|
|
===================
|
|
*/
|
|
void idBotNode::RemoveLink( const idBotNode * node ) {
|
|
for ( int i = 0; i < links.Num(); i++ ) {
|
|
if ( links[i].node == node ) {
|
|
links.RemoveIndexFast( i );
|
|
}
|
|
}
|
|
//assert( !"Could not find link" );
|
|
}
|
|
|
|
/*
|
|
===================
|
|
idBotNode::AddLink
|
|
===================
|
|
*/
|
|
void idBotNode::AddLink( const idBotNode * node ) {
|
|
RemoveLink( node ); // cause I'm paranoid
|
|
botLink_t & link = links.Alloc();
|
|
link.node = node;
|
|
link.cost = ( node->origin - origin ).Length();
|
|
link.cost += idMath::Fabs( node->origin.z - origin.z );
|
|
}
|