コード例 #1
0
ファイル: MOAINodeMgr.cpp プロジェクト: Inzaghi2012/moai-dev
//----------------------------------------------------------------//
void MOAINodeMgr::InsertBefore ( MOAINode& cursor, MOAINode& node ) {

	if ( cursor.mPrev ) {
		node.mPrev = cursor.mPrev;
		node.mNext = &cursor;
		
		node.mPrev->mNext = &node;
		node.mNext->mPrev = &node;
		
		node.Retain ();
	}
	else {
		this->PushFront ( node );
	}
}
コード例 #2
0
ファイル: MOAINodeMgr.cpp プロジェクト: Inzaghi2012/moai-dev
//----------------------------------------------------------------//
void MOAINodeMgr::InsertAfter ( MOAINode& cursor, MOAINode& node ) {

	if ( cursor.mNext ) {
	
		node.mPrev = &cursor;
		node.mNext = cursor.mNext;
		
		node.mPrev->mNext = &node;
		node.mNext->mPrev = &node;
		
		node.Retain ();
	}
	else {
		this->PushBack ( node );
	}
}
コード例 #3
0
ファイル: MOAINodeMgr.cpp プロジェクト: Inzaghi2012/moai-dev
//----------------------------------------------------------------//
void MOAINodeMgr::PushFront ( MOAINode& node ) {

	node.mNext = 0;
	node.mPrev = 0;

	if ( !this->mUpdateListHead ) {
		this->mUpdateListHead = &node;
		this->mUpdateListTail = &node;
	}
	else {
		node.mNext = this->mUpdateListHead;
		this->mUpdateListHead->mPrev = &node;
		this->mUpdateListHead = &node;
	}
	
	node.Retain ();
}
コード例 #4
0
ファイル: MOAINodeMgr.cpp プロジェクト: Inzaghi2012/moai-dev
//----------------------------------------------------------------//
void MOAINodeMgr::PushBack ( MOAINode& node ) {

	node.mNext = 0;
	node.mPrev = 0;

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