示例#1
0
int InitElementInfo (int nChannels, ELEMENT_INFO* elInfo) {

  int error=0;

  

   /* counting previous operation */


  
  switch(nChannels) {

  case 1: 
    
    initElement(elInfo, ID_SCE);
    break;

  case 2:
    
    initElement(elInfo, ID_CPE);
    break;

  default:
    
    error=1;

    
    return error;
  }

  

  return 0;
}
示例#2
0
int InitElementInfo (int nChannels, ELEMENT_INFO* elInfo) {

  int error=0;

  COUNT_sub_start("InitChannelMapping");

  MOVE(1); /* counting previous operation */


  BRANCH(2);
  switch(nChannels) {

  case 1: 
    FUNC(2);
    initElement(elInfo, ID_SCE);
    break;

  case 2:
    FUNC(5);
    initElement(elInfo, ID_CPE);
    break;

  default:
    MOVE(1);
    error=1;

    COUNT_sub_end();
    return error;
  }

  COUNT_sub_end();

  return 0;
}
示例#3
0
bool Bianbian::init()
{
	this->_HurtValue = 1024.0f;
	this->_BaseScale = 0.6f;
	this->_InValidTime = 2.5f;
	this->setTag(ELEMENT_WEAPON_TAG);
	this->setName(WEAPON_BIANBIAN_NAME);
	_WeaponType = WeaponType::Hulu;
	_WeaponMoveWays = WeaponMoveWays::Vertical;
	_Sprite = Sprite::createWithTexture(TextureCache::getInstance()->addImage("Images/bigBian.png"));
	this->addChild(_Sprite);
	auto breathAction = RepeatForever::create(Sequence::create(
		ScaleTo::create(1.0f, 1.2f*_BaseScale),
		ScaleTo::create(1.0f, 1.0f*_BaseScale),
		NULL
	));
	breathAction->setTag(ACTION_TAG_BREATH);
	_Sprite->runAction(breathAction);
	if (this->_InValidTime > 0)
	{
		auto invalidAction = Sequence::create(DelayTime::create(_InValidTime), CallFunc::create([=](){
			deal(this);
		}), NULL);
		this->runAction(invalidAction);
	}
	_EnemyDieType = EnemyDieType::ScaleDown;
	initElement();
	return true;
}
示例#4
0
bool HuluCat::init()
{
	this->setTag(ELEMENT_HERO_TAG);
	this->_BaseScale = 0.25f;
	this->_BaseRunSpeed = 320;
	this->_JumpTime = 0.3f;
	this->_JumpHeight = 215;
	this->_CanDoubleJump = false;
	this->_IsDoubleJump = false;
	this->_JumpTime2 = 0.2f;
	this->_JumpHeight2 = 160;
	_Sprite = static_cast<cocostudio::timeline::SkeletonNode*>(CSLoader::createNode("Hulu.csb"));
	this->addChild(_Sprite);
	_SpriteTimeline = CSLoader::createTimeline("Hulu.csb");
	_SpriteTimeline->retain();
	_Sprite->runAction(_SpriteTimeline);

#if CC_TARGET_PLATFORM == CC_PLATFORM_WIN32
	auto _Weapon = Sprite::create("point.png");
#else
	auto _Weapon = Node::create();
#endif
	this->_Sprite->addChild(_Weapon,100);
	_Weapon->setPosition(Vec2(getVisualSize().width/2, 0));
	this->_Weapons.pushBack(_Weapon);

	initElement();
	return true;
}
示例#5
0
struct element* initRingBuffer(int shmid, int n) {
    int i;

    struct element* first = (struct element*) shmat(shmid, NULL, 0);

    struct element* previous = first;
    struct element* next = NULL;
    for(i = 1; i < n; i++) {
        next = first + i;
        initElement(previous, NULL);
        previous->next = next;
        previous = next;
    }
    initElement(next, NULL);
    next->next = first;
    return first;
}
示例#6
0
  void Assembler::calculateElementVector(const ElInfo* elInfo,
                                         DenseVector<double>& userVec,
                                         double factor)
  {
    if (remember && factor != 1.0)
      rememberElVec = true;

    Element* el = elInfo->getElement();

    if ((el != lastMatEl && el != lastVecEl) || !operat->isOptimized())
      initElement(elInfo);

    if (el != lastVecEl || !operat->isOptimized())
    {
      if (rememberElVec)
        set_to_zero(elementVector);

      lastVecEl = el;
    }
    else
    {
      // Only possible in single mesh case when one operator
      // is used more than twice at dof vector?
      if (rememberElVec)
      {
        userVec += factor * elementVector;
        return;
      }
    }

    DenseVector<double>& vec = rememberElVec ? elementVector : userVec;

    if (operat->getUhOld() && remember)
    {
      matVecAssemble(elInfo, vec);
      if (rememberElVec)
        userVec += factor * elementVector;

      return;
    }

    if (firstOrderAssemblerGrdPsi)
      firstOrderAssemblerGrdPsi->calculateElementVector(elInfo, vec);
    if (zeroOrderAssembler)
      zeroOrderAssembler->calculateElementVector(elInfo, vec);

    if (rememberElVec)
      userVec += factor * elementVector;
  }
示例#7
0
bool DarkDoor::init()
{
	this->_HurtValue = 0;
	this->_BaseScale = 1.0f;
	this->setTag(ELEMENT_WEAPON_TAG);
	this->setName(WEAPON_TEACH_DOOR_NAME);

	_WeaponType = WeaponType::None;
	_WeaponMoveWays = WeaponMoveWays::Vertical;
	_Sprite = Sprite::createWithTexture(TextureCache::getInstance()->addImage("Images/darkdoor.png"));
	this->addChild(_Sprite);
	_EnemyDieType = EnemyDieType::Transparent;
	initElement();
	return true;
}
示例#8
0
  void Assembler::calculateElementMatrix(const ElInfo* elInfo,
                                         ElementMatrix& userMat,
                                         double factor)
  {
    if (remember && (factor != 1.0 || operat->getUhOld()))
      rememberElMat = true;

    Element* el = elInfo->getElement();

    if (el != lastMatEl || !operat->isOptimized())
    {
      initElement(elInfo);

      if (rememberElMat)
        set_to_zero(elementMatrix);

      lastMatEl = el;
    }
    else
    {
      // Only possible in single mesh case when one operator
      // is used more than twice?
      if (rememberElMat)
      {
        if (&userMat != &elementMatrix)
          userMat += factor * elementMatrix;
        return;
      }
    }

    ElementMatrix& mat = rememberElMat ? elementMatrix : userMat;

    if (secondOrderAssembler)
      secondOrderAssembler->calculateElementMatrix(elInfo, mat);
    if (firstOrderAssemblerGrdPsi)
      firstOrderAssemblerGrdPsi->calculateElementMatrix(elInfo, mat);
    if (firstOrderAssemblerGrdPhi)
      firstOrderAssemblerGrdPhi->calculateElementMatrix(elInfo, mat);
    if (zeroOrderAssembler)
      zeroOrderAssembler->calculateElementMatrix(elInfo, mat);

    if (rememberElMat && &userMat != &elementMatrix)
      userMat += factor * elementMatrix;
  }
示例#9
0
bool BaseElement::init()
{
	initElement();
	return true;
}
示例#10
0
bool FloorNormal::init()
{
	this->setTag(ELEMENT_FLOOR_TAG);
	initElement();
	return true;
}