protected override void SetupTask(Bullet bullet)
{
//set the length of time to run this dude
startDuration = Node.GetChildValue(ENodeName.term, this);
//check for divide by 0
if (0.0f == startDuration)
{
startDuration = 1.0f;
}
float ratio = TimeFix.Framerate / 60f;
startDuration *= ratio;
Duration = startDuration;
switch (Node.GetChild(ENodeName.speed).NodeType)
{
case ENodeType.sequence:
{
SpeedChange = Node.GetChildValue(ENodeName.speed, this);
}
break;
case ENodeType.relative:
{
SpeedChange = Node.GetChildValue(ENodeName.speed, this) / Duration;
}
break;
default:
{
SpeedChange = (Node.GetChildValue(ENodeName.speed, this) - bullet.Speed) / Duration;
}
break;
}
}