示例#1
0
void AITurretShape::setAllGunsFiring(bool fire)
{
   setImageTriggerState(0,fire);
   setImageTriggerState(1,fire);
   setImageTriggerState(2,fire);
   setImageTriggerState(3,fire);
}
示例#2
0
void StaticShape::processTick(const Move* move)
{
   Parent::processTick(move);

   // Image Triggers
   if (move && mDamageState == Enabled) {
      setImageTriggerState(0,move->trigger[0]);
      setImageTriggerState(1,move->trigger[1]);
   }
}
示例#3
0
void AITurretShape::setGunSlotFiring(S32 slot, bool fire)
{
   if (slot < 0 || slot > 3)
      return;

   setImageTriggerState(slot, fire);
}
void StaticShape::processTick(const Move* move)
{
   Parent::processTick(move);

   // Image Triggers
   if (move && mDamageState == Enabled) {
      setImageTriggerState(0,move->trigger[0]);
      setImageTriggerState(1,move->trigger[1]);
   }

   if (isMounted()) {
      MatrixF mat;
      mMount.object->getMountTransform( mMount.node, mMount.xfm, &mat );
      Parent::setTransform(mat);
      Parent::setRenderTransform(mat);
   }
}
示例#5
0
文件: VActor.cpp 项目: AnteSim/Verve
//-----------------------------------------------------------------------------
//
// VActor::processTick( pMove );
//
// ...
//
//-----------------------------------------------------------------------------
void VActor::processTick( const Move *pMove )
{
    // Parent Call.
    Parent::processTick( pMove );

    // Triggers?
    if ( pMove && mDamageState == Enabled )
    {
        // Handle each Image Trigger.
        const U32 imageCount = getMin( ShapeBase::MaxMountedImages, MaxTriggerKeys );
        for ( U32 i = 0; i < imageCount; i++ )
        {
            setImageTriggerState( i, pMove->trigger[i] );
        }
    }
}
示例#6
0
void TurretShape::processTick(const Move* move)
{
   // Image Triggers
   if (getAllowManualFire() && move && mDamageState == Enabled)
   {
      switch(mDataBlock->weaponLinkType)
      {
         case TurretShapeData::FireTogether:
         {
            setImageTriggerState(0,move->trigger[0]);
            setImageTriggerState(1,move->trigger[0]);
            setImageTriggerState(2,move->trigger[0]);
            setImageTriggerState(3,move->trigger[0]);

            setImageAltTriggerState(0,move->trigger[1]);
            setImageAltTriggerState(1,move->trigger[1]);
            setImageAltTriggerState(2,move->trigger[1]);
            setImageAltTriggerState(3,move->trigger[1]);

            break;
         }

         case TurretShapeData::GroupedFire:
         {
            setImageTriggerState(0,move->trigger[0]);
            setImageTriggerState(1,move->trigger[1]);
            setImageTriggerState(2,move->trigger[0]);
            setImageTriggerState(3,move->trigger[1]);

            break;
         }

         case TurretShapeData::IndividualFire:
         {
            setImageTriggerState(0,move->trigger[0]);
            setImageTriggerState(1,move->trigger[1]);
            setImageTriggerState(2,move->trigger[2]);
            setImageTriggerState(3,move->trigger[3]);

            break;
         }
      }
   }

   Parent::processTick(move);

   // Change our type based on our rest state
   if (mAtRest)
   {
      // At rest so we're static
      mTypeMask &= ~DynamicShapeObjectType;
      mTypeMask |= StaticObjectType | StaticShapeObjectType;
   }
   else
   {
      // Not at rest so we're dynamic
      mTypeMask &= ~StaticObjectType;
      mTypeMask &= ~StaticShapeObjectType;
      mTypeMask |= DynamicShapeObjectType;
   }

   if (!isGhost())
      updateAnimation(TickSec);

   if (isMounted()) {
      MatrixF mat;
      mMount.object->getMountTransform( mMount.node, mMount.xfm, &mat );
      ShapeBase::setTransform(mat);
      ShapeBase::setRenderTransform(mat);
   }

   updateMove(move);
}