Add initial prototype.
This commit is contained in:
62
4-high/gel/source/dolly/gel-dolly-following.ads
Normal file
62
4-high/gel/source/dolly/gel-dolly-following.ads
Normal file
@@ -0,0 +1,62 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user