Skip to content

kbe方法调用 不同base调用globalData实体方法 顺序错乱

ilvxna edited this page Aug 8, 2018 · 2 revisions

: 在脚本层: 有一个globalData['Spaces'] Spaces定义如下:

self.players = {}
def addPlayer(entity):
     self.players[entity.id] = entity

def checkAvatarIsInSpace(entityID):
     DEG_MSG("1")
     return self.players.get(entityID,None)

现在开2个baseapp 实体Avatar 调用方法 loginto 方法:

def loginto:
     space =KBEngine.globalData.get('Spaces',None)
     DEG_MSG("0")
     bIsInSpaces = space.checkAvatarIsInSpace(self.id)
     if bIsInSpaces is None:
        DEG_MSG("2")
        DEG_MSG("不在Spaces中")
        # todo something
        return 

当Avatar和Spaces 在同一个BaseApp中,正常输出 0 1 2

现在问题来了: 当Avatar和Spaces 不在同一个BaseApp中,输出顺序变为 0 2 1

这是什么情况?如果这样 那我在Spaces调用的方法就变得没意义了 打乱了我的调用顺序 请教大神 该怎么解决?

: 2个进程,由于调用1时1在另一个进程是需要传输时间的,所以是0 2 1 你想有顺序就调用2之后回调回来调3。

Clone this wiki locally