public override void Update(GameTime gameTime) { base.Update(gameTime); accel.Update(); switch (Restriction) { case ScrollRestriction.Horizontal: if (ClampContent) { SetContentX(GetClampedX(contentPanel.X + accel.Speed.X)); } else { SetContentX(contentPanel.X + accel.Speed.X); } break; case ScrollRestriction.Vertical: if (ClampContent) { SetContentY(GetClampedY(contentPanel.Y + accel.Speed.Y)); } else { SetContentY(contentPanel.Y + accel.Speed.Y); } break; case ScrollRestriction.Unrestricted: if (ClampContent) { Vector2 pos = Vector2.Zero; pos.X = GetClampedX(contentPanel.X + accel.Speed.X); pos.Y = GetClampedY(contentPanel.Y + accel.Speed.Y); SetContentPos(pos); } else { SetContentPos(contentPanel.Location + accel.Speed); } break; } }
public override void Update(GameTime gameTime) { base.Update(gameTime); accel.Update(); switch (Restriction) { case ScrollRestriction.Horizontal: float x = contentPanel.X + accel.Speed.X; if (ClampContent) { x = GetClampedX(x); } SetContentX(x); break; case ScrollRestriction.Vertical: float y = contentPanel.Y + accel.Speed.Y; if (ClampContent) { y = GetClampedY(y); } SetContentY(y); break; case ScrollRestriction.Unrestricted: Vector2 pos = contentPanel.Position + accel.Speed; if (ClampContent) { pos.X = GetClampedX(pos.X); pos.Y = GetClampedY(pos.Y); } SetContentPos(pos); break; } }