Ejemplo n.º 1
0
//----------------------------------------------------------------//
MOAINodeMgr::~MOAINodeMgr () {

	MOAINode* cursor = this->mUpdateListHead;
	while ( cursor ) {
		MOAINode* node = cursor;
		cursor = cursor->mNext;
		
		node->mState = MOAINode::STATE_IDLE;
		node->Release ();
	}
}
Ejemplo n.º 2
0
//----------------------------------------------------------------//
void MOAINodeMgr::Remove ( MOAINode& node ) {

	if ( node.mNext ) {
		node.mNext->mPrev = node.mPrev;
	}
	else {
		this->mUpdateListTail = node.mPrev;
	}

	if ( node.mPrev ) {
		node.mPrev->mNext = node.mNext;
	}
	else {
		this->mUpdateListHead = node.mNext;
	}
	
	node.Release ();
}
Ejemplo n.º 3
0
//----------------------------------------------------------------//
void MOAINodeMgr::Update () {

	MOAINode* node = this->mUpdateListHead;
	for ( ; node ; node = node->mNext ) {
		node->DepNodeUpdate ();
	}
	
	// TODO: fix this up later
	node = this->mUpdateListHead;
	while ( node ) {
		
		MOAINode* temp = node;
		node = node->mNext;
		
		temp->mState = MOAINode::STATE_IDLE;
		temp->Release ();
	}
	
	this->mUpdateListHead = 0;
	this->mUpdateListTail = 0;
}