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


C++ CBaseEntity::GetIUnit方法代码示例

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


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

示例1: ShouldHitEntity

	virtual bool ShouldHitEntity( IHandleEntity *pServerEntity, int contentsMask )
	{
		CBaseEntity *pEntity = EntityFromEntityHandle( pServerEntity );
		if ( !pEntity )
			return false;

		IUnit *pUnit = pEntity->GetIUnit();
		if( pUnit && pUnit->AreAttacksPassable(m_pUnit) && m_pUnit->GetCommander() == NULL )
		{
			return false;
		}

		return BaseClass::ShouldHitEntity( pServerEntity, contentsMask );
	}
开发者ID:,项目名称:,代码行数:14,代码来源:

示例2: if

//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
bool CHL2WarsPlayer::ClientCommand( const CCommand &args )
{
    // FIXME: Most commands do not check the number of args.
    //        (Although this doesn't really matter since an arg out of range is just an empty string...).
    if( GetControlledUnit() && GetControlledUnit()->GetIUnit() )
    {
        if( GetControlledUnit()->GetIUnit()->ClientCommand( args ) )
            return true;
    }

    if( !V_stricmp( args[0], "player_clearselection" ) )
    {
        ClearSelection();
        return true;
    }
    else if( !V_stricmp( args[0], "player_addunit" ) )
    {
        for( int i = 1; i < args.ArgC(); i++ )
        {
#ifdef CLIENTSENDEHANDLE
            long iEncodedEHandle = atol(args[i]);
            int iSerialNum = (iEncodedEHandle >> MAX_EDICT_BITS);
            int iEntryIndex = iEncodedEHandle & ~(iSerialNum << MAX_EDICT_BITS);
            EHANDLE pEnt( iEntryIndex, iSerialNum );
#else
            CBaseEntity *pEnt = UTIL_EntityByIndex( atoi(args[i]) );
#endif // CLIENTSENDEHANDLE
            //DevMsg( "player_addunit: selecting ent #%d\n",  atoi(args[i]) );
            if( pEnt && pEnt->IsAlive() && pEnt->GetIUnit() )
                pEnt->GetIUnit()->Select(this);
            else
                DevMsg( "player_addunit: tried to select an invalid unit (#%d)\n",  atoi(args[i]) );
        }
        return true;
    }
    else if( !V_stricmp( args[0], "player_removeunit" ) )
开发者ID:,项目名称:,代码行数:39,代码来源:


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