69 lines
1.7 KiB
Ada
69 lines
1.7 KiB
Ada
with
|
|
gel.Camera.forge,
|
|
gel.World.simple;
|
|
|
|
|
|
package body gel.Applet.sim_2D_world
|
|
is
|
|
|
|
sim_world_Id : constant gel.world_Id := 1;
|
|
sim_camera_Id : constant gel.camera_Id := 1;
|
|
|
|
|
|
|
|
procedure define (Self : in View; Name : in String)
|
|
is
|
|
the_world_Info : constant world_Info_view := new world_Info;
|
|
the_Camera : constant gel.Camera.View := gel.Camera.forge.new_Camera;
|
|
begin
|
|
the_world_Info.World := gel.World.simple.forge.new_World (Name,
|
|
sim_world_Id,
|
|
physics.Box2d,
|
|
Self.Renderer).all'Access;
|
|
|
|
the_Camera.Viewport_is (Self.Window.Width, Self.Window.Height);
|
|
the_Camera.Renderer_is (Self.Renderer);
|
|
the_Camera.Site_is ((0.0, 5.0, 50.0));
|
|
|
|
the_world_Info.Cameras.append (the_Camera);
|
|
|
|
Self.Worlds.append (the_world_Info);
|
|
end define;
|
|
|
|
|
|
|
|
package body Forge
|
|
is
|
|
|
|
function new_Applet (Name : in String;
|
|
use_Window : in gel.Window.view) return View
|
|
is
|
|
Self : constant View := new Item' (gel.Applet.Forge.to_Applet (Name, use_Window)
|
|
with null record);
|
|
begin
|
|
define (Self, Name);
|
|
return Self;
|
|
end new_Applet;
|
|
|
|
end Forge;
|
|
|
|
|
|
|
|
function sim_World (Self : in Item) return gel.World.view
|
|
is
|
|
begin
|
|
return Self.World (sim_world_Id);
|
|
end sim_World;
|
|
|
|
|
|
|
|
function sim_Camera (Self : in Item) return gel.Camera.view
|
|
is
|
|
begin
|
|
return Self.Camera (sim_world_Id,
|
|
sim_camera_Id);
|
|
end sim_Camera;
|
|
|
|
|
|
end gel.Applet.sim_2D_world;
|