This is the definition of the SimItem class used to hold information about the dropped item. I put that in simulation/simobject.py:
class SimItem(pb.Cacheable):
def __init__(self, id, transform, name):
self.observer = None
self.id = id;
self.transform = transform
self.position = tuple(transform[:3])
self.rotation = tuple(transform[3:])
self.name = name;
def getStateToCacheAndObserveFor(self,perspective,observer):
self.observer = observer
state = {}
state['id'] = self.id
state['position'] = self.position
state['rotation'] = self.rotation
state['name'] = self.name
return state
def stoppedObserving(self, perspective, observer):
self.observer = None
class SimItemGhost(pb.RemoteCache):
def __init__(self):
self.position = "0 0 0"
def setCopyableState(self, state):
self.id = state['id']
self.position = state['position']
self.rotation = state['rotation']
self.name = state['name']
def observe_updatePosition(self,position,canKite):
self.position = position
def observe_updateTransform(self,position,rotation,waterCoverage):
self.position = position
self.rotation = rotation
pb.setUnjellyableForClass(SimItem, SimItemGhost)

