with gel.Sprite; package gel.Dolly.following -- -- Provides a camera dolly which follows a sprite. -- is type Item is new gel.Dolly.item with private; type View is access all Item'Class; --------- --- Forge -- overriding procedure define (Self : in out Item); overriding procedure destroy (Self : in out Item); -------------- --- Attributes -- overriding procedure allow_linear_Motion (Self : in out Item; Allow : in Boolean := True); overriding procedure allow_orbital_Motion (Self : in out Item; Allow : in Boolean := True); procedure Offset_is (Self : in out Item; Now : in math.Vector_3); function Offset (Self : in Item) return math.Vector_3; -------------- --- Operations -- overriding procedure freshen (Self : in out Item); procedure follow (Self : in out Item; the_Sprite : in gel.Sprite.view); private type Item is new gel.Dolly.item with record Sprite : gel.Sprite.view; sprite_Offset : math.Vector_3 := [0.0, 30.0, 0.0]; allow_linear_Motion : Boolean := True; allow_orbital_Motion : Boolean := True; camera_x_Spin : math.Real := 0.0; camera_y_Spin : math.Real := 0.0; camera_z_Spin : math.Real := 0.0; end record; end gel.Dolly.following;