本文整理汇总了Python中Event.Event.Event.attributes['data']['player']方法的典型用法代码示例。如果您正苦于以下问题:Python Event.attributes['data']['player']方法的具体用法?Python Event.attributes['data']['player']怎么用?Python Event.attributes['data']['player']使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Event.Event.Event
的用法示例。
在下文中一共展示了Event.attributes['data']['player']方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: playerLogin
# 需要导入模块: from Event.Event import Event [as 别名]
# 或者: from Event.Event.Event import attributes['data']['player'] [as 别名]
def playerLogin(self, receiver, event):
player = event.attributes['data']['player']
roomID = player.attributes['roomID']
room = receiver.getRoom(roomID)
playerInEvent = Event()
playerInEvent.attributes['signature'] = 'player_entered'
playerInEvent.attributes['data']['player'] = player
room.receiveEvent(playerInEvent)
示例2: run
# 需要导入模块: from Event.Event import Event [as 别名]
# 或者: from Event.Event.Event import attributes['data']['player'] [as 别名]
def run(self):
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
hostname = socket.gethostname() #hack to get my host name
try:
tokenized = hostname.split('.')
hostname = '{}.{}.{}.{}'.format(tokenized[3], tokenized[2], tokenized[1], tokenized[0])
except:
hostname = 'localhost'
print socket.gethostname()
print hostname
serversocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
serversocket.bind((hostname, 8888))
serversocket.listen(5)
while True:
clientsocket = serversocket.accept()[0]
clientsocket.setblocking(False)
clientsocket.send('\n\rWelcome! Enter your name:\n\r')
playerInput = ''
while playerInput == '':
try:
playerInput = clientsocket.recv(1024)
except:
playerInput = ''
if len(playerInput) > 0:
playerInput = playerInput.strip()
if ActorEngine.playerExists(playerInput) == True:
player = ActorEngine.loadPlayer(playerInput)
connection = Connection(clientsocket, player)
loginEvent = Event()
player.attributes['connection'] = connection
loginEvent.attributes['signature'] = 'player_login'
loginEvent.attributes['data']['player'] = player
ActorEngine.receiveEvent(loginEvent)
ConnectionEngine.receiveEvent(loginEvent)
else:
clientsocket.send('\n\rPlayer not found.\n\rEnter your name:')
playerInput = ''
else:
playerInput = ''
sleep(2)
示例3: moveActor
# 需要导入模块: from Event.Event import Event [as 别名]
# 或者: from Event.Event.Event import attributes['data']['player'] [as 别名]
def moveActor(self, receiver, event):
actor = event.attributes['data']['actor']
fromRoomID = event.attributes['data']['fromRoomID']
destinID = event.attributes['data']['toRoomID']
exitMessage = event.attributes['data']['exitMessage']
source = receiver.getRoom(fromRoomID)
destination = receiver.getRoom(destinID)
# send exit event to the room the actor is leaving
exitEvent = Event()
exitEvent.attributes['signature'] = 'actor_exited'
exitEvent.attributes['data']['actor'] = actor
exitEvent.attributes['data']['exitMessage'] = exitMessage
source.receiveEvent(exitEvent)
# send entered event to destination room
enterEvent = Event()
enterEvent.attributes['signature'] = 'player_entered'
enterEvent.attributes['data']['player'] = actor
destination.receiveEvent(enterEvent)
示例4: addNewConnections
# 需要导入模块: from Event.Event import Event [as 别名]
# 或者: from Event.Event.Event import attributes['data']['player'] [as 别名]
def addNewConnections(self):
ConnectionEngine.lock('newConnectionSemaphore')
for connection in ConnectionEngine.attribute('newConnections'):
player = connection.attributes['player']
loginEvent = Event()
loginEvent.attributes['signature'] = 'player_login'
loginEvent.attributes['data']['player'] = player
RoomEngine.receiveEvent(loginEvent)
ConnectionEngine.attribute('connectionList').append(connection)
playerName = player.attributes['name']
loginNotificationEvent = Event()
loginNotificationEvent.attributes['signature'] = 'broadcast_to_all_players'
loginNotificationEvent.attributes['data']['message'] = '{} just logged in.'.format(playerName)
ActorEngine.receiveEvent(loginNotificationEvent)
ConnectionEngine.setAttribute('newConnections', [])
ConnectionEngine.release('newConnectionSemaphore')