当前位置: 首页>>代码示例>>C++>>正文


C++ ListNode::GetUserData方法代码示例

本文整理汇总了C++中ListNode::GetUserData方法的典型用法代码示例。如果您正苦于以下问题:C++ ListNode::GetUserData方法的具体用法?C++ ListNode::GetUserData怎么用?C++ ListNode::GetUserData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ListNode的用法示例。


在下文中一共展示了ListNode::GetUserData方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: EncodePrimaryObjectiveList

// This should encode the current priority of all primary objectives
short EncodePrimaryObjectiveList (uchar teammask, uchar **buffer)
{
	uchar					*data,*datahead;
	ListNode				lp;
	POData					pod;
	short					size,count=0,team,teams=0;

	// 'teammask' determines which team data we're sending. If no such
	// team exists, there's no reason to send the data. Check for this
	for (team=0; team<NUM_TEAMS; team++)
	{
		if (!TeamInfo[team])
			teammask &= ~(1 << team);
		else if (teammask & (1 << team))
			teams++;
	}

	// Determine size
	size = sizeof(uchar) + sizeof(short);
	lp = PODataList->GetFirstElement();
	while (lp)
	{
		count++;
		lp = lp->GetNext();
	}
	size += count * (sizeof(VU_ID) + sizeof(short)*teams);

	// Write the data
	data = datahead = new uchar[size];
	memcpy(data, &teammask, sizeof(uchar));								data += sizeof(uchar);
	memcpy(data, &count, sizeof(short));								data += sizeof(short);
	lp = PODataList->GetFirstElement();
	while (lp)
	{
		pod = (POData) lp->GetUserData();
		memcpy(data, &pod->objective, sizeof(VU_ID));					data += sizeof(VU_ID);
		for (team=0; team<NUM_TEAMS; team++)
		{
			if (teammask & (1 << team))
			{
				memcpy(data, &pod->player_priority[team], sizeof(short));	
				data += sizeof(short);
			}
		}
		lp = lp->GetNext();
	}
	*buffer = datahead;

	return size;
}
开发者ID:FreeFalcon,项目名称:freefalcon-central,代码行数:51,代码来源:gtm.cpp


注:本文中的ListNode::GetUserData方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。