Scripting support is now in! See cmd_look (the end of it), scripthandler.py, and scripts/basicobject.py for very brief examples. I'm not sure how well this is going to scale, I had to kludge the import a bit due to some oddities with __import__. There has to be a better way to do this, hopefully I'll be able to figure it out. In any case, expect basicobject to start fleshing out. You'll be able to use it directly or sub-class it with your own stuff.

This commit is contained in:
Greg Taylor 2007-06-04 20:01:03 +00:00
parent 27c0e7a873
commit 94ceec3719
5 changed files with 91 additions and 10 deletions

View file

@ -2,4 +2,33 @@
This will be the base object type/interface that all scripts are derived from by
default. It will have the necessary outline for developers to sub-class and override.
"""
test = 123
class BasicObject:
def __init__(self, source_obj):
"""
Get our ducks in a row.
source_obj: (Object) A reference to the object being scripted (the child).
"""
self.source_obj = source_obj
def a_desc(self, looker):
"""
Perform this action when someone uses the LOOK command on the object.
looker: (Object) Reference to the looker
"""
# Un-comment the line below for an example
#print "SCRIPT TEST: %s looked at %s." % (looker, self.source_obj)
pass
def class_factory(source_obj):
"""
This method is called any script you retrieve (via the scripthandler). It
creates an instance of the class and returns it transparently. I'm not
sure how well this will scale, but we'll find out. We may need to
re-factor this eventually.
source_obj: (Object) A reference to the object being scripted (the child).
"""
return BasicObject(source_obj)