diff --git a/4-high/gel/source/remote/gel-remote-world.adb b/4-high/gel/source/remote/gel-remote-world.adb index aba853d..9bf019d 100644 --- a/4-high/gel/source/remote/gel-remote-world.adb +++ b/4-high/gel/source/remote/gel-remote-world.adb @@ -163,22 +163,22 @@ is - procedure Write (Stream : not null access ada.Streams.Root_Stream_type'Class; + procedure write (Stream : not null access ada.Streams.Root_Stream_type'Class; the_Event : in new_graphics_model_Event) is begin openGL.remote_Model.item'Class'Output (Stream, the_Event.Model.all); - end Write; + end write; - procedure Read (Stream : not null access ada.Streams.Root_Stream_type'Class; - the_Event : out new_graphics_model_Event) + procedure read (Stream : not null access ada.Streams.Root_Stream_type'Class; + the_Event : out new_graphics_model_Event) is begin the_Event.Model := new openGL.remote_Model.item'Class' (openGL.remote_Model.item'Class'Input (Stream)); - end Read; + end read; diff --git a/4-high/gel/source/remote/gel-remote-world.ads b/4-high/gel/source/remote/gel-remote-world.ads index ffa6638..ca65dfc 100644 --- a/4-high/gel/source/remote/gel-remote-world.ads +++ b/4-high/gel/source/remote/gel-remote-world.ads @@ -39,7 +39,8 @@ is procedure register (Self : access Item; the_Mirror : in World.view; Mirror_as_observer : in lace.Observer.view) is abstract; - procedure deregister (Self : access Item; the_Mirror : in World.view) is abstract; + procedure deregister (Self : access Item; the_Mirror : in World.view; + Mirror_as_observer : in lace.Observer.view) is abstract; @@ -71,8 +72,8 @@ is end record; - procedure Write (Stream : not null access ada.Streams.Root_Stream_type'Class; the_Event : in new_graphics_model_Event); - procedure Read (Stream : not null access ada.Streams.Root_Stream_type'Class; the_Event : out new_graphics_model_Event); + procedure write (Stream : not null access ada.Streams.Root_Stream_type'Class; the_Event : in new_graphics_model_Event); + procedure read (Stream : not null access ada.Streams.Root_Stream_type'Class; the_Event : out new_graphics_model_Event); for new_graphics_model_Event'write use write; for new_graphics_model_Event'read use read; diff --git a/4-high/gel/source/world/gel-world-client.adb b/4-high/gel/source/world/gel-world-client.adb index 2f7fbcc..f4dd3fb 100644 --- a/4-high/gel/source/world/gel-world-client.adb +++ b/4-high/gel/source/world/gel-world-client.adb @@ -419,8 +419,8 @@ is -- the_new_graphics_model_Response.World := Self.all'Access; - Self.add (the_new_graphics_model_Response'Access, - to_Kind (remote.World.new_graphics_model_Event'Tag), + Self.add (the_Response => the_new_graphics_model_Response'Access, + to_Kind => to_Kind (remote.World.new_graphics_model_Event'Tag), from_Subject => of_World.Name); -- New physics model response. diff --git a/4-high/gel/source/world/gel-world-server.adb b/4-high/gel/source/world/gel-world-server.adb index aa7a224..3b1d715 100644 --- a/4-high/gel/source/world/gel-world-server.adb +++ b/4-high/gel/source/world/gel-world-server.adb @@ -282,20 +282,25 @@ is begin Self.Clients.append (the_Mirror); - Self.register (Mirror_as_observer, to_Kind (remote.World. new_graphics_model_Event'Tag)); - Self.register (Mirror_as_observer, to_Kind (remote.World. new_physics_model_Event'Tag)); - -- Self.register (Mirror_as_observer, to_Kind (gel.events. new_sprite_Event'Tag)); -- TODO: Rid. - Self.register (Mirror_as_observer, to_Kind (gel.events.new_sprite_Event'Tag)); - Self.register (Mirror_as_observer, to_Kind (gel.events.rid_sprite_Event'Tag)); + Self.register (Mirror_as_observer, to_Kind (remote.World.new_graphics_model_Event'Tag)); + Self.register (Mirror_as_observer, to_Kind (remote.World. new_physics_model_Event'Tag)); + Self.register (Mirror_as_observer, to_Kind (gel.events .new_sprite_Event 'Tag)); + Self.register (Mirror_as_observer, to_Kind (gel.events .rid_sprite_Event 'Tag)); end register; overriding - procedure deregister (Self : access Item; the_Mirror : in remote.World.view) + procedure deregister (Self : access Item; the_Mirror : in remote.World.view; + Mirror_as_observer : in lace.Observer.view) is begin Self.Clients.delete (Self.Clients.find_Index (the_Mirror)); + + Self.deregister (Mirror_as_observer, to_Kind (remote.World.new_graphics_model_Event'Tag)); + Self.deregister (Mirror_as_observer, to_Kind (remote.World. new_physics_model_Event'Tag)); + Self.deregister (Mirror_as_observer, to_Kind (gel.events .new_sprite_Event 'Tag)); + Self.deregister (Mirror_as_observer, to_Kind (gel.events .rid_sprite_Event 'Tag)); end deregister; diff --git a/4-high/gel/source/world/gel-world-server.ads b/4-high/gel/source/world/gel-world-server.ads index 79b5d06..5173b4c 100644 --- a/4-high/gel/source/world/gel-world-server.ads +++ b/4-high/gel/source/world/gel-world-server.ads @@ -51,7 +51,8 @@ is procedure register (Self : access Item; the_Mirror : in remote.World.view; Mirror_as_observer : in lace.Observer.view); overriding - procedure deregister (Self : access Item; the_Mirror : in remote.World.view); + procedure deregister (Self : access Item; the_Mirror : in remote.World.view; + Mirror_as_observer : in lace.Observer.view); overriding procedure evolve (Self : in out Item); diff --git a/4-high/gel/source/world/gel-world.adb b/4-high/gel/source/world/gel-world.adb index 63016a4..20ebce5 100644 --- a/4-high/gel/source/world/gel-world.adb +++ b/4-high/gel/source/world/gel-world.adb @@ -883,7 +883,8 @@ is procedure register (Self : access Item; the_Mirror : in remote.World.view; Mirror_as_observer : in lace.Observer.view) is null; overriding - procedure deregister (Self : access Item; the_Mirror : in remote.World.view) is null; + procedure deregister (Self : access Item; the_Mirror : in remote.World.view; + Mirror_as_observer : in lace.Observer.view) is null; overriding procedure motion_Updates_are (Self : in Item; seq_Id : in remote.World.sequence_Id; diff --git a/4-high/gel/source/world/gel-world.ads b/4-high/gel/source/world/gel-world.ads index 685421e..41ca74a 100644 --- a/4-high/gel/source/world/gel-world.ads +++ b/4-high/gel/source/world/gel-world.ads @@ -251,7 +251,8 @@ is procedure register (Self : access Item; the_Mirror : in remote.World.view; Mirror_as_observer : in lace.Observer.view); overriding - procedure deregister (Self : access Item; the_Mirror : in remote.World.view); + procedure deregister (Self : access Item; the_Mirror : in remote.World.view; + Mirror_as_observer : in lace.Observer.view); overriding procedure motion_Updates_are (Self : in Item; seq_Id : in remote.World.sequence_Id;