• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ GetComponent函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中GetComponent函数的典型用法代码示例。如果您正苦于以下问题:C++ GetComponent函数的具体用法?C++ GetComponent怎么用?C++ GetComponent使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: sprintf

//=====================================================================================
//  Window for WIND
//=====================================================================================
CFuiWind::CFuiWind(Tag idn, const char *filename)
:CFuiWindow(idn,filename,0,0,0)
{ char erm[128];
  sprintf(erm,"Incorrect TEMPLATE file: %",filename);
  //---Locate components ------------------------------------
  layW = (CFuiList*)  GetComponent('layr');
  if (0 == layW) gtfo(erm);
  errW = (CFuiLabel*) GetComponent('eror');
  if (0 == layW) gtfo(erm);
  popW = (CFuiPopupMenu*) GetComponent('popm');
  if (0 == popW) gtfo(erm);
  skyW = (CFuiTextField*) GetComponent('ceil');
  if (0 == skyW) gtfo(erm);
  //-- Init menu -------------------------------------------
  popW->CreatePage(&cMEN,coverMENU);
  layer = globals->wtm->GetCloudLayer();
  popW->SetButtonText((char*)cMEN.aText[layer]);
  //-- Init cloud ceil -------------------------------------
  ceil = globals->wtm->GetCloudCeil();
  ChangeCeil(0);
  //-- Init list box ---------------------------------------
  U_INT type = LIST_HAS_TITLE + LIST_NOHSCROLL;
  windBOX.SetParameters(this,'layr',type);
  windBOX.Display();
  Select();
}
开发者ID:FlySimvol,项目名称:FlyLegacy,代码行数:29,代码来源:WindowWind.cpp


示例2: Split2Components

// Splits the calling object into its components.
global func Split2Components()
{
	// Safety: can only be called from object context.
	if (!this || GetType(this) != C4V_C4Object)
		return FatalError(Format("Split2Components must be called from object context and not from %v", this));

	// Transfer all contents to container.
	var ctr = Contained();
	while (Contents())
		if (!ctr || !Contents()->Enter(ctr))
			Contents()->Exit();
			
	// Split components.
	for (var i = 0, compid; compid = GetComponent(nil, i); ++i)
		for (var j = 0; j < GetComponent(compid); ++j)
		{
			var comp = CreateObjectAbove(compid, nil, nil, GetOwner());
			if (OnFire()) comp->Incinerate();
			if (!ctr || !comp->Enter(ctr))
			{
				comp->SetR(Random(360));
				comp->SetXDir(Random(3) - 1);
				comp->SetYDir(Random(3) - 1);
				comp->SetRDir(Random(3) - 1);
			}
		}
	return RemoveObject();
}
开发者ID:TheBlackJokerDevil,项目名称:openclonk,代码行数:29,代码来源:Components.c


示例3:

//=====================================================================================
//=====================================================================================
//  Weather overview
//=====================================================================================
CFuiWeatherView::CFuiWeatherView(Tag idn, const char *filename)
:CFuiWindow(idn,filename,0,0,0)
{ char *erm = "Invalid template %s";
  //---Get window components -------------------------------
  datW  = (CFuiLabel*)GetComponent('date');
  if (0 == datW)  gtfo(erm,filename);
  timW  = (CFuiLabel*)GetComponent('time');
  if (0 == datW)  gtfo(erm,filename);
  utcW  = (CFuiLabel*)GetComponent('utc_');
  if (0 == utcW)  gtfo(erm,filename);
  disW  = (CFuiLabel*)GetComponent('dist');
  if (0 == disW)  gtfo(erm,filename);
  locW  = (CFuiLabel*)GetComponent('loca');
  if (0 == locW)  gtfo(erm,filename);
  winW  = (CFuiLabel*)GetComponent('wind');
  if (0 == winW)  gtfo(erm,filename);
  altW  = (CFuiLabel*)GetComponent('alti');
  if (0 == altW)  gtfo(erm,filename);
  tmpW  = (CFuiLabel*)GetComponent('temp');
  if (0 == tmpW)  gtfo(erm,filename);
  barW  = (CFuiLabel*)GetComponent('baro');
  if (0 == barW)  gtfo(erm,filename);
  cldW  = (CFuiLabel*)GetComponent('clod');
  if (0 == cldW)  gtfo(erm,filename);
  //---------------------------------------------------------
  Apt   = 0;
  Req.SetWindow(this);
}
开发者ID:PierrotG,项目名称:FlyLegacy,代码行数:32,代码来源:WindowWeather.cpp


示例4: DeSerialize

/////////////////////////////
//	DeSerialize
//	 -Translate the data in the buffer into relevant data for this object
void Player::DeSerialize(char * _buffer)
{
	Transform * playerT = (Transform*)GetComponent(C_TRANSFORM);
	InputController * playerI = (InputController*)GetComponent(C_INPUT);

	// Read ID
	unsigned int id = 0;
	memcpy(&id, &_buffer[0], sizeof(id));
	m_uiID = id;

	// Read X
	int x = 0;
	memcpy(&x, &_buffer[4], sizeof(x));
	playerT->SetX(x);

	// Read Y
	int y = 0;
	memcpy(&y, &_buffer[8], sizeof(y));
	playerT->SetY(y);

	// Read input controller's ID
	unsigned int inputID = 0;// playerI->GetID();
	memcpy(&inputID, &_buffer[12], sizeof(inputID));
	playerI->SetID(inputID);

	m_pGame->SetRefresh(true);
}
开发者ID:Msciortino17,项目名称:RakNetDungeon,代码行数:30,代码来源:Player.cpp


示例5: BaseEnemy

std::unique_ptr<Entity> EntityFactory::CreateFlyingEnemy(int x, int y, Entity *target)
{
  
  auto e = BaseEnemy(x, y);
  e->AddComponent(ComponentType::AI, std::unique_ptr<FlyingAiComponent>(new FlyingAiComponent(target)));

  auto g = static_cast<GraphicsComponent *>(e->GetComponent(ComponentType::GRAPHICS));
  auto c = static_cast<CollisionComponent *>(e->GetComponent(ComponentType::COLLISION));
  g->AddFrame(0, 200028, 5);
  g->AddFrame(0, 200032, 5);

  c->AddHitbox(0,0,70,35, HitboxType::SOLID);
  c->AddHitbox(0,0,70,35, HitboxType::TRIGGER);

  std::unique_ptr<SoundComponent> sound(new SoundComponent());
  sound->AddSoundEffect(SoundEffectType::DEATH, SOUND_MONSTER_DEATH);

  e->AddComponent(ComponentType::SOUND, std::move(sound));
  

  auto spawnHealthPickupOnDeathScript = Compiler::Compile("data/scripts/SpawnHealthPickupOnDeathScript.txt");
  RegisterNativeBindings(spawnHealthPickupOnDeathScript);

  e->AddVmScript(std::move(spawnHealthPickupOnDeathScript));
  

  return e;
}
开发者ID:Valtis,项目名称:Peliprojekti-2013,代码行数:28,代码来源:EntityFactory.cpp


示例6: Update

/////////////////////////////
//	Update
//	 -Main loop
void Player::Update()
{
	Transform * playerT = (Transform*)GetComponent(C_TRANSFORM);

	InputController * input = (InputController*)GetComponent(C_INPUT);
	bool changedInput = false;
	if (input->GetKeyDown('W'))
	{
		playerT->SetY(playerT->GetY() - 1);
		changedInput = true;
	}
	if (input->GetKeyDown('A'))
	{
		playerT->SetX(playerT->GetX() - 1);
		changedInput = true;
	}
	if (input->GetKeyDown('S'))
	{
		playerT->SetY(playerT->GetY() + 1);
		changedInput = true;
	}
	if (input->GetKeyDown('D'))
	{
		playerT->SetX(playerT->GetX() + 1);
		changedInput = true;
	}

	if (changedInput)
	{
		NetworkView * nwView = (NetworkView*)GetComponent(C_NETWORK);
		nwView->UpdatePositionMessage(playerT->GetX(), playerT->GetY());
	}

	UpdateComponents();
}
开发者ID:Msciortino17,项目名称:RakNetDungeon,代码行数:38,代码来源:Player.cpp


示例7: TimeRep

TimeRep :: TimeRep( const string & s )  : mSecs( 0 ) {
	vector <string> tmp;
	ALib::Split( s, ':', tmp );
	if ( tmp.size() != 3 ) {
		throw Exception( "Invalid time format: " + s );
	}
	int hrs = GetComponent( tmp[0], 24 );
	int mins = GetComponent( tmp[1], 60 );
	int secs = GetComponent( tmp[2], 60 );
	mSecs = hrs * 60 * 60 + mins * 60 + secs;
}
开发者ID:akki9c,项目名称:csvtest,代码行数:11,代码来源:dmk_timeseq.cpp


示例8: Step

bool OMXClock::Step(int steps, bool lock)
{
	if (!GetComponent())
		return false;

	if (lock)
		Lock();

	OMX_ERRORTYPE omxErr = OMX_ErrorNone;
	OMX_PARAM_U32TYPE param;
	OMX_INIT_STRUCTURE(param);

	param.nPortIndex = OMX_ALL;
	param.nU32 = steps;

	omxErr = SetConfig(OMX_IndexConfigSingleStep, &param);
	if (omxErr != OMX_ErrorNone)
	{
		if (lock)
			Unlock();

		return false;
	}

	m_lastMediaTime = 0.0f;
	if (lock)
		Unlock();

	return true;
}
开发者ID:VRocker,项目名称:DashPi,代码行数:30,代码来源:OMXClock.cpp


示例9: Start

bool OMXClock::Start(bool lock)
{
	if (!GetComponent())
		return false;

	if (lock)
		Lock();

	OMX_ERRORTYPE omxErr = OMX_ErrorNone;
	OMX_TIME_CONFIG_CLOCKSTATETYPE clock;
	OMX_INIT_STRUCTURE(clock);

	clock.eState = OMX_TIME_ClockStateRunning;

	omxErr = SetConfig(OMX_IndexConfigTimeClockState, &clock);
	if (omxErr != OMX_ErrorNone)
	{
		if (lock)
			Unlock();

		return false;
	}

	m_eState = clock.eState;

	m_lastMediaTime = 0.0f;

	if (lock)
		Unlock();

	return true;
}
开发者ID:VRocker,项目名称:DashPi,代码行数:32,代码来源:OMXClock.cpp


示例10: Stop

bool OMXClock::Stop(bool lock)
{
	if (!GetComponent())
		return false;

	if (lock)
		Lock();

	OMX_ERRORTYPE omxErr = OMX_ErrorNone;
	OMX_TIME_CONFIG_CLOCKSTATETYPE clock;
	OMX_INIT_STRUCTURE(clock);

	clock.eState = OMX_TIME_ClockStateStopped;
	clock.nOffset = ToOMXTime(-1000LL * OMX_PRE_ROLL);

	omxErr = SetConfig(OMX_IndexConfigTimeClockState, &clock);
	if (omxErr != OMX_ErrorNone)
	{
		if (lock)
			Unlock();

		return false;
	}

	m_eState = clock.eState;

	m_lastMediaTime = 0.0f;

	if (lock)
		Unlock();

	return true;
}
开发者ID:VRocker,项目名称:DashPi,代码行数:33,代码来源:OMXClock.cpp


示例11: GetComponent

   bool MapSystem::OnEntityChangedUniqueId(EntityId id, const std::string& oldUniqueId, const std::string& newUniqueId)
   {
      if(oldUniqueId == newUniqueId)
      {
         return true;
      }

      typedef std::map<std::string, EntityId> UIMap;
      MapComponent* comp = GetComponent(id);
      assert(comp != NULL);

      UIMap::iterator j = mEntitiesByUniqueId.find(newUniqueId);
      if(j != mEntitiesByUniqueId.end())
      {
         return false;
      }  

      UIMap::iterator i = mEntitiesByUniqueId.find(oldUniqueId);
      if(i != mEntitiesByUniqueId.end())
      {
         mEntitiesByUniqueId.erase(i);
      }

      mEntitiesByUniqueId[newUniqueId] = id;


      EntityNameUpdatedMessage msg;
      msg.SetAboutEntityId(id);
      msg.SetEntityName(comp->GetEntityName());
      msg.SetUniqueId(newUniqueId);
      GetEntityManager().EmitMessage(msg);
      return true;
   }
开发者ID:flyskyosg,项目名称:dtentity,代码行数:33,代码来源:mapcomponent.cpp


示例12: CS_ASSERT

 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 void GridLayout::SetNumCols(u32 in_numCols)
 {
     CS_ASSERT(in_numCols > 0, "Cannot create a grid with 0 columns");
     m_numCols = in_numCols;
     
     GetComponent()->OnLayoutChanged();
 }
开发者ID:Carlos-Artesano,项目名称:ChilliSource,代码行数:9,代码来源:GridLayout.cpp


示例13: StateExecute

bool OMXClock::StateExecute(bool lock)
{
	if (!GetComponent())
		return false;

	if (lock)
		Lock();

	OMX_ERRORTYPE omxErr = OMX_ErrorNone;

	if (GetState() != OMX_StateExecuting)
	{
		StateIdle(false);

		omxErr = SetStateForComponent(OMX_StateExecuting);
		if (omxErr != OMX_ErrorNone)
		{
			if (lock)
				Unlock();

			return false;
		}
	}

	m_lastMediaTime = 0.0f;
	if (lock)
		Unlock();

	return true;
}
开发者ID:VRocker,项目名称:DashPi,代码行数:30,代码来源:OMXClock.cpp


示例14: ClockAdjustment

double OMXClock::ClockAdjustment(bool lock)
{
	if (!GetComponent())
		return 0.0;

	if (lock)
		Lock();

	OMX_ERRORTYPE omxErr = OMX_ErrorNone;
	double pts = 0.0;

	OMX_TIME_CONFIG_TIMESTAMPTYPE timestamp;
	OMX_INIT_STRUCTURE(timestamp);
	timestamp.nPortIndex = GetInputPort();

	omxErr = GetConfig(OMX_IndexConfigClockAdjustment, &timestamp);
	if (omxErr != OMX_ErrorNone)
	{

		if (lock)
			Unlock();

		return 0.0;
	}

	pts = (double)FromOMXTime(timestamp.nTimestamp);

	if (lock)
		Unlock();

	return pts;
}
开发者ID:VRocker,项目名称:DashPi,代码行数:32,代码来源:OMXClock.cpp


示例15: Assert

/**
**  Draw formatted text with variable value.
**
**  @param unit         unit with variable to show.
**  @param defaultfont  default font if no specific font in extra data.
**
**  @note text is limited to 256 chars. (enough?)
**  @note text must have exactly 1 %d.
**  @bug if text format is incorrect.
*/
/* virtual */ void CContentTypeFormattedText::Draw(const CUnit &unit, CFont *defaultfont) const
{
	char buf[256];
	UStrInt usi1;

	CFont &font = this->Font ? *this->Font : *defaultfont;
	Assert(&font);

	//Wyrmgus start
//	CLabel label(font);
	CLabel label(font, this->TextColor, this->HighlightColor);
	//Wyrmgus end

	Assert((unsigned int) this->Index < UnitTypeVar.GetNumberVariable());
	usi1 = GetComponent(unit, this->Index, this->Component, 0);
	if (usi1.type == USTRINT_STR) {
		snprintf(buf, sizeof(buf), this->Format.c_str(), _(usi1.s));
	} else {
		snprintf(buf, sizeof(buf), this->Format.c_str(), usi1.i);
	}

	char *pos;
	if ((pos = strstr(buf, "~|")) != NULL) {
		std::string buf2(buf);
		label.Draw(this->Pos.x - font.getWidth(buf2.substr(0, pos - buf)), this->Pos.y, buf);
	} else if (this->Centered) {
		label.DrawCentered(this->Pos.x, this->Pos.y, buf);
	} else {
		label.Draw(this->Pos.x, this->Pos.y, buf);
	}
}
开发者ID:KroArtem,项目名称:Wyrmgus,代码行数:41,代码来源:contenttype.cpp


示例16: BackSubCoreDP_light_update

static PyObject * BackSubCoreDP_light_update(BackSubCoreDP * self, PyObject * args)
{
 // Extract the 3 parameters...
 float mult[3];
 if (!PyArg_ParseTuple(args, "fff", &mult[0], &mult[1], &mult[2])) return NULL;

 // Iterate every single component and update the effective mean, taking the offset into account...
  int y,x,c,col;
  for (y=0;y<self->height;y++)
  {
   for (x=0;x<self->width;x++)
   {
    for (c=0;c<self->component_cap;c++)
    {
     Component * com = GetComponent(self,y,x,c);
     for (col=0;col<3;col++)
     {
      float est = (com->mu[col] + self->prior_mu[col]) * mult[col];
      if (est>1.0) est = 1.0; // No point in exceding the dynamic range - this seems to happen to skys a lot due to them being oversaturated.
      com->mu[col] = est - self->prior_mu[col];
     }
    }
   }
  }

 Py_INCREF(Py_None);
 return Py_None;
}
开发者ID:PeterZhouSZ,项目名称:helit,代码行数:28,代码来源:backsub_dp_c.c


示例17: BackSubCoreDP_background

static PyObject * BackSubCoreDP_background(BackSubCoreDP * self, PyObject * args)
{
 // Get the output numpy array...
  PyArrayObject * image;
  if (!PyArg_ParseTuple(args, "O!", &PyArray_Type, &image)) return NULL;

 // Iterate the pixels and write the mode into each...
  int y,x,c,i;
  for (y=0;y<self->height;y++)
  {
   for (x=0;x<self->width;x++)
   {
    float * rgb = (float*)(image->data + y*image->strides[0] + x*image->strides[1]);

    float best = 0.0;
    for (c=0;c<self->component_cap;c++)
    {
     Component * com = GetComponent(self,y,x,c);
     if (com->count>best)
     {
      best = com->count;
      for (i=0;i<3;i++) rgb[i] = self->prior_mu[i] + com->mu[i];
     }
    }

    if (best<1e-3)
    {
     for (i=0;i<3;i++) rgb[i] = self->prior_mu[i];
    }
   }
  }

 Py_INCREF(Py_None);
 return Py_None;
}
开发者ID:PeterZhouSZ,项目名称:helit,代码行数:35,代码来源:backsub_dp_c.c


示例18: GetComponent

    ComponentPtr Entity::GetOrCreateComponent(uint type_hash, const QString &name, AttributeChange::Type change)
    {
        ComponentPtr new_comp = GetComponent(type_hash, name);
        if (new_comp)
            return new_comp;

        return CreateComponent(type_hash, name, change);
    }
开发者ID:A-K,项目名称:naali,代码行数:8,代码来源:Entity.cpp


示例19: GetComponent

Component* Node::GetOrCreateComponent(ShortStringHash type, CreateMode mode)
{
    Component* oldComponent = GetComponent(type);
    if (oldComponent)
        return oldComponent;
    else
        return CreateComponent(type, mode);
}
开发者ID:acremean,项目名称:urho3d,代码行数:8,代码来源:Node.cpp


示例20: UNREFERENCED_PARAMETER

	void Bullet::BulletDeath(WorldState & worldState)
	{
		//MarkForDestroy(worldState);

		UNREFERENCED_PARAMETER(worldState);
		mIsDead = true;
		GetComponent(CircleColliderComponent::TypeName())->AssertiveAs<CircleColliderComponent>()->SetEnabled(false);
	}
开发者ID:Nihav-Jain,项目名称:GeometryWars,代码行数:8,代码来源:Bullet.cpp



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ GetComputerName函数代码示例发布时间:2022-05-30
下一篇:
C++ GetComment函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap