Skip to main content

Network Object References

Network Object References are case classes, that contains any kind of data defined by the user, that defines the information needed for the naming system to retrieve its bounded network object.

Network Object Reference implementations and architecture.

A Network Object Reference object is an object that contains the needed information to locate a network object in the GNOL Tree

Let's say we create a game, in which we have a map, with house objects, player objects and weapon objects. Each objects of the map can be categorized in this way:

  • @game/map/house/x for all houses in the map
  • @game/map/player/x for players connected on the map
  • @game/map/weapon/x for weapons in the map

We can notice that the references are acting like paths in a File System, we have game category, parent of map category, parent of sub categories house, player and weapon.

This way, for each category, we have an implementation of the NetworkObjectReference* interface, and Object Linkers that handles the sub linkers, and/or contains the objects

«interface»
NetworkObjectReference
«interface»...
«interface»
GameObjectReference
«interface»...
«interface»
MapObjectReference
«interface»...
Extends
Extends
Extends
Extends
Extends
Extends
Extends
Extends
Extends
Extends
'@' - GNOL
'@' - GNOL
'@game' - GameObjectLinker
'@game' - GameObjectLinker
'@game/map' - MapObjectLinker
'@game/map' - MapObjectLinker
'@game/map/weapon/identifier'
'@game/map/weapon/identifier'
'@game/map/player/identifier'
'@game/map/player/identifier'
'@game/map/house/identifier'
'@game/map/house/identifier'
WeaponObjectReference
WeaponObjectReference
+ identifier
+ identifier
WeaponObjectReference
WeaponObjectReference
+ identifier
+ identifier
WeaponObjectReference
WeaponObjectReference
+ identifier
+ identifier