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


C++ CreatureObject::isPlayerControlled方法代码示例

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


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

示例1: openPlayerQuestRecipe

void ScriptMethodsPlayerQuestNamespace::openPlayerQuestRecipe(JNIEnv * env, jobject self, jlong player, jlong recipe)
{
	UNREF(env);
	UNREF(self);

	CreatureObject * playerCreature = NULL;
	if (!JavaLibrary::getObject(player, playerCreature))
	{
		DEBUG_WARNING(true, ("openPlayerQuestRecipe: Failed to get valid creature object with OID %d", player));
		return;
	}

	ServerObject * recipeObj = NULL;
	if (!JavaLibrary::getObject(recipe, recipeObj))
	{
		DEBUG_WARNING(true, ("openPlayerQuestRecipe: Failed to get valid recipe object with OID %d", player));
		return;
	}

	if (playerCreature->isPlayerControlled() && playerCreature->getController() != NULL)
	{
		playerCreature->getController()->appendMessage(
			static_cast<int>(CM_openRecipe),
			0,
			new MessageQueueGenericValueType< NetworkId >( recipeObj->getNetworkId() ),
			GameControllerMessageFlags::SEND |
			GameControllerMessageFlags::RELIABLE |
			GameControllerMessageFlags::DEST_AUTH_CLIENT);
	}

	return;
}
开发者ID:Mesagoppinmypants,项目名称:NGELinux,代码行数:32,代码来源:ScriptMethodsPlayerQuest.cpp

示例2: setCreatureObjVars

	void setCreatureObjVars (CreatureObject & creature, const Vector & pos_w, float radius)
	{
		const bool isPlayer = creature.isPlayerControlled ();

		creature.setObjVarItem (ObjVars::moveSim,       int(1));
		creature.setObjVarItem (ObjVars::moveSimPlayer, int(isPlayer ? 1 : 0));
		creature.setObjVarItem (ObjVars::moveSimPosX,   pos_w.x);
		creature.setObjVarItem (ObjVars::moveSimPosZ,   pos_w.z);
		creature.setObjVarItem (ObjVars::moveSimRadius, radius);
	}
开发者ID:Mesagoppinmypants,项目名称:NGELinux,代码行数:10,代码来源:MoveSimManager.cpp

示例3: isAllowed

bool BuildingObject::isAllowed(CreatureObject const &who) const
{
	if (who.getMasterId() != NetworkId::cms_invalid)
	{
		ServerObject const *master = ServerWorld::findObjectByNetworkId(who.getMasterId());
		if (master && master != &who && master->asCreatureObject())
			return isAllowed(*master->asCreatureObject());
	}

	if (!playersWithAlignedEnemyFlagsAllowed() && (Pvp::hasAnyAlignedTimedEnemyFlag(who) || Pvp::hasAnyBountyDuelEnemyFlag(who)))
		return false;

	if (getIsPublic())
		return !CellPermissions::isOnList(m_banned.get(), who);
	else
	{
		// allow non-player-controlled creatures in private buildings with no owner
		if (!who.isPlayerControlled() && getOwnerId() == NetworkId::cms_invalid)
			return true;
		// allow vendor-creatures to be placed in the building
		if (who.hasCondition(static_cast<int>(ServerTangibleObjectTemplate::C_vendor)))
			return true;
		// JU_TODO: test
#if 1
		// allow non-player-controlled creatures in private buildings if the *creature* has no owner
		if (!who.isPlayerControlled() 
			&& who.getMasterId() == NetworkId::cms_invalid 
			&& who.getLevel() < 10 // temp change to < 0 after testing holo item
			)
		{
			return true;
		}
#endif
		// JU_TODO: end test
		return CellPermissions::isOnList(m_allowed.get(), who);
	}
}
开发者ID:Mesagoppinmypants,项目名称:NGELinux,代码行数:37,代码来源:BuildingObject.cpp


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