Allow contrib.ingame_python.scripts.EventHandler.get_events to work with typeclasses
This commit is contained in:
parent
f7830a5c29
commit
f6255caade
1 changed files with 7 additions and 3 deletions
|
|
@ -10,7 +10,7 @@ import traceback
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from evennia import DefaultObject, DefaultScript, ChannelDB, ScriptDB
|
from evennia import DefaultObject, DefaultScript, ChannelDB, ScriptDB
|
||||||
from evennia import logger
|
from evennia import logger, ObjectDB
|
||||||
from evennia.utils.ansi import raw
|
from evennia.utils.ansi import raw
|
||||||
from evennia.utils.create import create_channel
|
from evennia.utils.create import create_channel
|
||||||
from evennia.utils.dbserialize import dbserialize
|
from evennia.utils.dbserialize import dbserialize
|
||||||
|
|
@ -101,7 +101,7 @@ class EventHandler(DefaultScript):
|
||||||
Return a dictionary of events on this object.
|
Return a dictionary of events on this object.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
obj (Object): the connected object.
|
obj (Object or typeclass): the connected object or typeclass.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
A dictionary of the object's events.
|
A dictionary of the object's events.
|
||||||
|
|
@ -115,7 +115,11 @@ class EventHandler(DefaultScript):
|
||||||
events = {}
|
events = {}
|
||||||
all_events = self.ndb.events
|
all_events = self.ndb.events
|
||||||
classes = Queue()
|
classes = Queue()
|
||||||
classes.put(type(obj))
|
if isinstance(obj, ObjectDB):
|
||||||
|
classes.put(type(obj))
|
||||||
|
else:
|
||||||
|
classes.put(obj)
|
||||||
|
|
||||||
invalid = []
|
invalid = []
|
||||||
while not classes.empty():
|
while not classes.empty():
|
||||||
typeclass = classes.get()
|
typeclass = classes.get()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue