本文整理汇总了Python中Event.Event.Event.attributes["signature"]方法的典型用法代码示例。如果您正苦于以下问题:Python Event.attributes["signature"]方法的具体用法?Python Event.attributes["signature"]怎么用?Python Event.attributes["signature"]使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Event.Event.Event
的用法示例。
在下文中一共展示了Event.attributes["signature"]方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: moveActor
# 需要导入模块: from Event.Event import Event [as 别名]
# 或者: from Event.Event.Event import attributes["signature"] [as 别名]
def moveActor(self, receiver, event):
actor = event.attributes["data"]["source"]
direction = event.attributes["data"]["direction"]
exit = None
if direction != None and direction != "":
exitList = filter(
lambda e: e.attributes["name"].lower().startswith(direction.lower()), receiver.attributes["exits"]
)
if len(exitList) > 0:
exit = exitList[0]
if exit == None:
feedbackEvent = Event()
feedbackEvent.attributes["signature"] = "received_feedback"
feedbackEvent.attributes["data"]["feedback"] = ANSI.yellow("You can't go that way!")
actor.receiveEvent(feedbackEvent)
else:
currentRoom = receiver.attributes["roomID"]
destination = exit.attributes["destination"]
moveEvent = Event()
moveEvent.attributes["signature"] = "move_actor"
moveEvent.attributes["data"]["actor"] = actor
moveEvent.attributes["data"]["fromRoomID"] = currentRoom
moveEvent.attributes["data"]["toRoomID"] = destination
moveEvent.attributes["data"]["exitMessage"] = "{} leaves {}.".format(
actor.attributes["name"], exit.attributes["name"]
)
from Engine import RoomEngine
RoomEngine.receiveEvent(moveEvent)
示例2: actorEmoted
# 需要导入模块: from Event.Event import Event [as 别名]
# 或者: from Event.Event.Event import attributes["signature"] [as 别名]
def actorEmoted(self, receiver, event):
targetName = event.attributes["data"]["target"]
playerList = filter(lambda player: player != event.attributes["data"]["emoter"], receiver.attributes["players"])
target = None
if targetName != None and targetName != "":
targetList = filter(
lambda player: player.attributes["name"].lower().startswith(targetName.lower()), playerList
)
if len(targetList) > 0:
target = targetList[0]
else:
emoter = event.attributes["data"]["emoter"]
feedbackEvent = Event()
feedbackEvent.attributes["signature"] = "received_feedback"
feedbackEvent.attributes["data"]["feedback"] = "You don't see that here."
emoter.receiveEvent(feedbackEvent)
return
event.attributes["data"]["target"] = target
for player in receiver.attributes["players"]:
player.receiveEvent(event)
示例3: actorObserved
# 需要导入模块: from Event.Event import Event [as 别名]
# 或者: from Event.Event.Event import attributes["signature"] [as 别名]
def actorObserved(self, receiver, event):
observer = event.attributes["data"]["observer"]
target = event.attributes["data"]["target"]
targetList = filter(
lambda actor: actor.attributes["name"].lower().startswith(target.lower()), receiver.attributes["players"]
)
if len(targetList) == 0:
feedbackEvent = Event()
feedbackEvent.attributes["signature"] = "received_feedback"
feedbackEvent.attributes["data"]["feedback"] = "You don't see that here."
observer.receiveEvent(feedbackEvent)
else:
lookEvent = Event()
lookEvent.attributes["data"]["observer"] = observer
lookEvent.attributes["signature"] = "was_observed"
targetList[0].receiveEvent(lookEvent)
示例4: playerExited
# 需要导入模块: from Event.Event import Event [as 别名]
# 或者: from Event.Event.Event import attributes["signature"] [as 别名]
def playerExited(self, receiver, event):
actor = event.attributes["data"]["actor"]
receiver.removePlayer(actor)
message = event.attributes["data"]["exitMessage"]
if message != None and message != "":
for p in receiver.attributes["players"]:
feedbackEvent = Event()
feedbackEvent.attributes["signature"] = "received_feedback"
feedbackEvent.attributes["data"]["feedback"] = message
p.receiveEvent(feedbackEvent)
示例5: execute
# 需要导入模块: from Event.Event import Event [as 别名]
# 或者: from Event.Event.Event import attributes["signature"] [as 别名]
def execute(self, receiver, event):
emoteEvent = Event()
emoter = event.attributes["data"]["source"]
args = event.attributes["data"]["args"]
roomID = emoter.attributes["roomID"]
room = RoomEngine.getRoom(roomID)
data = None
if args == None or len(args) == 0:
data = self.eventTemplate["untargeted"].copy()
data["target"] = None
else:
data = self.eventTemplate["targeted"].copy()
data["target"] = args[0]
data["emoter"] = emoter
emoteEvent.attributes["signature"] = "actor_emoted"
emoteEvent.attributes["data"] = data
room.receiveEvent(emoteEvent)
示例6: wasObserved
# 需要导入模块: from Event.Event import Event [as 别名]
# 或者: from Event.Event.Event import attributes["signature"] [as 别名]
def wasObserved(self, receiver, event):
player = event.attributes["data"]["observer"]
description = [ANSI.red(receiver.attributes["name"]) + "\n\r"]
exitList = "Obvious exits:"
playerList = filter(lambda p: p != player, receiver.attributes["players"])
for line in receiver.attributes["description"]:
description.append(line)
for exit in receiver.attributes["exits"]:
if exit.attributes["isHidden"] == False:
exitList = exitList + " " + exit.attributes["name"] + ","
if exitList == "Obvious exits:":
exitList = "Obvious exits: none"
if exitList.endswith(","):
exitList = exitList[0:-1]
description.append(ANSI.blue(exitList))
if len(playerList) > 0:
playerLine = "Players:"
for p in playerList:
playerLine = playerLine + " " + p.attributes["name"] + ","
if playerLine.endswith(","):
playerLine = playerLine[0:-1]
description.append(ANSI.green(playerLine))
describeEvent = Event()
describeEvent.attributes["signature"] = "entity_described_self"
describeEvent.attributes["data"]["description"] = description
player.receiveEvent(describeEvent)