|
def | __init__ |
|
def | allocateContext |
|
def | considerHeartbeat |
|
def | disableDoId |
|
def | doDeferredGenerate |
|
def | doGenerate |
|
def | flushGenerates |
|
def | generateWithRequiredFields |
|
def | generateWithRequiredOtherFields |
|
def | generateWithRequiredOtherFieldsOwner |
|
def | getObjectsOfClass |
|
def | getObjectsOfExactClass |
|
def | getServerDelta |
|
def | getServerTimeOfDay |
|
def | getTables |
|
def | getWorld |
|
def | handleDelete |
|
def | handleGoGetLost |
|
def | handleServerHeartbeat |
|
def | handleSystemMessage |
|
def | handleSystemMessageAknowledge |
|
def | handleUpdateField |
|
def | isLive |
|
def | isLocalId |
|
def | printDelayDeletes |
|
def | replaceMethod |
|
def | replayDeferredGenerate |
|
def | sendHeartbeatTask |
|
def | setDeferInterval |
|
def | setServerDelta |
|
def | specialName |
| def queryObjectAll(self, doID, context=0): """ Get a one-time snapshot look at the object. More...
|
|
def | startHeartbeat |
|
def | stopHeartbeat |
|
def | waitForNextHeartBeat |
|
def | __init__ |
|
def | checkHttp |
|
def | connect |
|
def | disconnect |
|
def | generateGlobalObject |
|
def | getServerAddress |
|
def | handleDatagram |
|
def | handleReaderOverflow |
|
def | httpConnectCallback |
|
def | importModule |
|
def | lostConnection |
|
def | readDCFile |
|
def | readerPollOnce |
|
def | readerPollUntilEmpty |
|
def | send |
|
def | shutdown |
|
def | startReaderPollTask |
|
def | stopReaderPollTask |
|
def | __init__ |
|
def | addAutoInterest |
|
def | addInterest |
|
def | alterInterest |
|
def | cleanupWaitAllInterestsComplete |
|
def | closeAutoInterests |
|
def | getAllInterestsCompleteEvent |
|
def | handleInterestDoneMessage |
|
def | isValidInterestHandle |
|
def | noNewInterests |
|
def | openAutoInterests |
|
def | printInterestHistory |
|
def | printInterests |
|
def | printInterestSets |
|
def | printInterestsIfDebug |
|
def | queueAllInterestsCompleteEvent |
|
def | removeAIInterest |
|
def | removeAutoInterest |
|
def | removeInterest |
|
def | resetInterestStateForConnectionLoss |
|
def | setAllInterestsCompleteCallback |
|
def | setNoNewInterests |
|
def | updateInterestDescription |
|
def | __init__ |
|
def | addDOToTables |
|
def | callbackWithDo |
|
def | callbackWithOwnerView |
|
def | countObjects |
|
def | deleteDistributedObjects |
|
def | deleteObjectLocation |
|
def | doByDistance |
|
def | doFind |
|
def | doFindAll |
|
def | doFindAllInstances |
|
def | doFindAllMatching |
|
def | doFindAllOfType |
|
def | dosByDistance |
|
def | findAnyOfType |
|
def | getAllOfType |
|
def | getDo |
|
def | getDoIdList |
|
def | getDoList |
|
def | getDoTable |
|
def | getGameDoId |
|
def | getObjectsInZone |
| def changeDOZoneInTables(self, do, newParentId, newZoneId, oldParentId, oldZoneId): if 1: self.storeObjectLocation(do.doId, newParentId, newZoneId) else: #assert not hasattr(do, "isQueryAllResponse") or not do.isQueryAllResponse oldLocation = (oldParentId, oldZoneId) newLocation = (newParentId, newZoneId)
HACK: DistributedGuildMemberUD starts in -1, -1, which isnt ever put in the
zoneId2doIds table
if self.isValidLocationTuple(oldLocation): assert self.notify.debugStateCall(self) assert oldLocation in self.zoneId2doIds assert do.doId in self.zoneId2doIds[oldLocation] assert do.doId not in self.zoneId2doIds.get(newLocation, {})
remove from old zone
del(self.zoneId2doIds[oldLocation][do.doId]) if len(self.zoneId2doIds[oldLocation]) == 0: del self.zoneId2doIds[oldLocation] if self.isValidLocationTuple(newLocation):
add to new zone
self.zoneId2doIds.setdefault(newLocation, {}) self.zoneId2doIds[newLocation][do.doId]=do More...
|
|
def | getObjectsOfClassInZone |
|
def | getOwnerView |
|
def | getOwnerViewDoIdList |
|
def | getOwnerViewDoList |
|
def | handleObjectLocation |
|
def | handleSetLocation |
|
def | hasOwnerViewDoId |
|
def | isInDoTables |
|
def | isValidLocationTuple |
|
def | printObjectCount |
|
def | printObjects |
|
def | removeDOFromTables |
|
def | storeObjectLocation |
|
def | webPrintObjectCount |
|
This maintains a client-side connection with a Panda server.
This base class exists to collect the common code between
ClientRepository, which is the CMU-provided, open-source version
of the client repository code, and OTPClientRepository, which is
the VR Studio's implementation of the same.
def handleUpdateField |
( |
|
self, |
|
|
|
di |
|
) |
| |
This method is called when a CLIENT_OBJECT_UPDATE_FIELD
message is received; it decodes the update, unpacks the
arguments, and calls the corresponding method on the indicated
DistributedObject.
In fact, this method is exactly duplicated by the C++ method
cConnectionRepository::handle_update_field(), which was
written to optimize the message loop by handling all of the
CLIENT_OBJECT_UPDATE_FIELD messages in C++. That means that
nowadays, this Python method will probably never be called,
since UPDATE_FIELD messages will not even be passed to the
Python message handlers. But this method remains for
documentation purposes, and also as a "just in case" handler
in case we ever do come across a situation in the future in
which python might handle the UPDATE_FIELD message.
def specialName |
( |
|
self, |
|
|
|
label |
|
) |
| |
def queryObjectAll(self, doID, context=0): """ Get a one-time snapshot look at the object.
""" assert self.notify.debugStateCall(self)
Create a message
datagram = PyDatagram() datagram.addServerHeader( doID, localAvatar.getDoId(), 2020)
A context that can be used to index the response if needed
datagram.addUint32(context) self.send(datagram)
Make sure the message gets there.
self.flush()