public void PushFrames()
 {
     foreach (var frame in CompositeFrames)
     {
         Composite.PushFrame(frame);
     }
 }
示例#2
0
 public override void Update(DwarfTime gameTime, Timer.TimerMode mode = Timer.TimerMode.Game)
 {
     base.Update(gameTime, mode);
     CurrentOffset = Composite.PushFrame(CompositeFrames[CurrentFrame]);
     HasValidFrame = true;
     UpdatePrimitive();
 }
        public override void UpdatePrimitive(BillboardPrimitive Primitive, int CurrentFrame)
        {
            SpriteSheet = new SpriteSheet(Composite.GetTarget(CurrentOffset));
            if (CurrentFrame >= CompositeFrames.Count)
            {
                return;
            }
            PushFrames();
            CurrentOffset = Composite.PushFrame(CompositeFrames[CurrentFrame]);
            var rect = Composite.GetFrameRect(CurrentOffset);

            Primitive.SetFrame(SpriteSheet, rect, rect.Width / 32.0f, rect.Height / 32.0f, Color.White, Color.White, Flipped);
        }