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


C++ Organism::getRuntimeManager方法代码示例

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


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

示例1: execute

  bool GeneticSpawnParentAction::execute() {
	Bodypart* parent = bp->getParentBodypart();
	if(parent != 0) {
		SpawnpointInformation* spawnpoint = bp->getSpawnpointInformationForBodypart(parent);
		SpawnpointInformation* parentSpawnpoint = parent->getSpawnpointInformationForBodypart(bp);

		parent->unregisterChildBodypart(bp);
		RuntimeManager* runtime = 0;
		Organism* org = bp->getParentOrganism();
		if(org != 0) {
			//remove storage link, but not the processor
			org->unregisterBodypart(bp);
			runtime = org->getRuntimeManager();
			runtime->unregisterBodypart(bp);
		}
		
		Bodypart* newParent = new Bodypart(typeToSpawn,parent->getGeneticCode()->copy());
    
		if(newParent->spawnPointAvailable(bp->getBodypartType()) && parent->spawnBodypart(newParent,parentSpawnpoint)) {
			newParent->spawnBodypart(bp,0,spawnpoint); //prevent spawn from registering processor at organism, but register new storage links
			return true;
		}
		else {
		  newParent->destroy();
		  if(runtime) {
			  runtime->addDelete(newParent);
		  }
		  else {
			  delete newParent;
		  }
		  
		  parent->spawnBodypart(bp,parentSpawnpoint,spawnpoint);  //prevent spawn from registering processor
		  return false;
		}
	}
	else {
		return false;
	}
  };
开发者ID:twiad,项目名称:Garden-Simulator,代码行数:39,代码来源:geneticSystemActions.cpp


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