Server Data Flow
Server consists of seven objects: Event Dispatch, Movement Handler,
Collision Handler, Message Handler, Dynamic Object Database, Inventory,
and Resource Database. Those seven objects work together to accommodate
all Agents from each client present in the system.
1.1 Event Dispatch:
Event Dispatch gets a message from the Network about each Agent's
action. Then, it communicates the messages to appropriate places,
either Movement Handler, Message Handler, Dynamic Object Database,
Inventory, or Resource Database.
1.2 Movement Handler:
Movement Handler receives messages about Agents' moves. It then
communicates those messages to Collision Handler to make sure that no
collision had occurred when the particular Agent moved.
1.3 Collision Handler:
Collision Handler receives information about Agents' movements in
the world. It then requests the information about all of the agents
from the Dynamic Object Database and checks if collision has occurred
when the Agent made the move. If the collision has occurred,
Collision Handler sends a message back to Event Dispatch to let each
Agent in the collision know their new states.
1.4 Message Handler:
Message Handler receives messages from Event Dispatch about Agents'
actions in the world. The particular actions which cause a message
event to be sent if speaking, for example.
1.5 Dynamic Object Database:
Database of all of the dynamic object information in the system. The
information gets updated every time the information changes. Dynamic
Object Database gets consulted for information from Event Dispatch,
Collision Handler, and Inventory.
1.6 Inventory:
Inventory is a way of keeping track of the Agents which are contained
by the other Agents.
1.7 Resource Database:
Resource Database is the database of the Static World. Static World
is not allowed to be changed at client side, so all updates take place
at the server side. When the world is updated, it must be
transferred to each client upon connection. The version of the world
at client's side will be checked and then upgraded appropriately.