⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eventbroadcaster.py

📁 大型多人在线游戏开发,该书光盘上附带的源码
💻 PY
字号:
# eventbroadcaster.py
#
# Implements the game event management API
# for registering and unregistering for game
# events, and dispatching events when they
# occur.
#
# Author: Matthew Walker
#         mwalker@softhome.net
#

import deferred
import gameeventkeys

class EventBroadcaster:
  def __init__(self, objId):
    self.id = objId
    self.handlers = {}

  def RegisterHandler(self, key, handlerRef):
    key.RegisterHandler(self.handlers, handlerRef)
  
  def UnregisterHandler(self, key, handlerRef):
    key.UnregisterHandler(self.handlers, handlerRef)

  def PostGameEvent(self, key, delay, *args):
    kArgs = (key,) + args
    deferred.Call(self.id, 'Dispatch', kArgs, delay, None, None)
  
  def Dispatch(self, key, *args):
    #print 'Dispatch( %s, %s )' % (key, args)
    handlerList = \
      gameeventkeys.GetHandlers(key, self.handlers)
    for handler in handlerList:
      apply(handler, (key,) + args)


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -