当前位置: 首页>>代码示例>>Python>>正文


Python Event.attributes['data']['player']方法代码示例

本文整理汇总了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)
开发者ID:DaneBettis,项目名称:python_mud,代码行数:12,代码来源:RoomEngine.py

示例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)
开发者ID:DaneBettis,项目名称:python_mud,代码行数:56,代码来源:LoginListener.py

示例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)
开发者ID:DaneBettis,项目名称:python_mud,代码行数:24,代码来源:RoomEngine.py

示例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')
开发者ID:DaneBettis,项目名称:python_mud,代码行数:25,代码来源:ConnectionListUpdater.py


注:本文中的Event.Event.Event.attributes['data']['player']方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。