Currently each call to the DB to load an area produces a new instance of the area object table; it is then rather difficult to track these for multiple players and update when needed (removal, locking). It'd be much better to make an "area cache" that would return the same object for the same area. Updates would then mean just modifying a single object instance.
Currently each call to the DB to load an area produces a new instance of the area object table; it is then rather difficult to track these for multiple players and update when needed (removal, locking). It'd be much better to make an "area cache" that would return the same object for the same area. Updates would then mean just modifying a single object instance.