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


Python Event.attributes["signature"]方法代码示例

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

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

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

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

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

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


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