public virtual void Process(RenderTime elapsedTime) { ActionTime += elapsedTime; FrameTime += elapsedTime; if (FrameTime >= FrameLength) { FrameTime = FrameTime - FrameLength; Frame++; } if (Frame >= TextureManager.GetSpellSheet(TextureManager.SpellAnimType.Spell, AnimationIndex).TotalFrames) { Frame = 0; } MapLoc = StartLoc + Speed * ActionTime.ToMillisecs() / 1000; Speed = StartSpeed + Acceleration * ActionTime.ToMillisecs() / 1000; if (ActionTime >= TotalTime) { ActionDone = true; } }
public virtual void Process(RenderTime elapsedTime) { ActionTime += elapsedTime; FrameTime += elapsedTime; if (FrameTime >= FrameLength) { FrameTime = FrameTime - FrameLength; Frame++; } if (Frame >= TextureManager.GetSpellSheet(TextureManager.SpellAnimType.Arrow, AnimationIndex).TotalFrames) { Frame = 0; } Distance = ActionTime.ToMillisecs() * TravelSpeed / 1000; if (Distance >= TotalDistance) { ActionDone = true; } else { Loc2D mapLoc = new Loc2D(StartLoc.X * TextureManager.TILE_SIZE, StartLoc.Y * TextureManager.TILE_SIZE); Operations.MoveInDirection8(ref mapLoc, Direction, Distance); MapLoc = mapLoc; } }
public virtual void Process(RenderTime elapsedTime) { ActionTime += elapsedTime; FrameTime += elapsedTime; if (FrameTime >= FrameLength) { FrameTime = FrameTime - FrameLength; Frame++; } if (Frame >= TextureManager.GetItemSheet(AnimationIndex).TotalFrames) { Frame = 0; } Distance = ActionTime.ToMillisecs() * TravelSpeed; if (Distance >= TotalDistance) { ActionDone = true; } else { MapHeight = DrawHelper.GetArc(TotalDistance, TotalDistance, Distance); if (DropDown) { MapHeight += TextureManager.TILE_SIZE * (TotalDistance - Distance) / TotalDistance / 2; } else { MapHeight += TextureManager.TILE_SIZE / 2; } Loc2D mapDiff = (EndLoc - StartLoc) * TextureManager.TILE_SIZE; mapDiff = new Loc2D(mapDiff.X * Distance / TotalDistance, mapDiff.Y * Distance / TotalDistance); MapLoc = mapDiff + StartLoc * TextureManager.TILE_SIZE; } }