mirror of
https://github.com/evennia/evennia.git
synced 2026-03-21 15:26:30 +01:00
Fixed creation. Time to start cleaning the .dbobj hierarchy.
This commit is contained in:
parent
e28d544fb0
commit
4e0b5be962
5 changed files with 13 additions and 8 deletions
|
|
@ -41,7 +41,7 @@ class Object(ObjectDB):
|
|||
__metaclass__ = TypeclassBase
|
||||
|
||||
# __init__ is only defined here in order to present docstring to API.
|
||||
def __init__(self):
|
||||
def __init__(self, *args, **kwargs):
|
||||
"""
|
||||
This is the root typeclass object, representing all entities
|
||||
that have an actual presence in-game. Objects generally have a
|
||||
|
|
@ -192,7 +192,7 @@ class Object(ObjectDB):
|
|||
this object speaks
|
||||
|
||||
"""
|
||||
super(Object, self).__init__()
|
||||
super(Object, self).__init__(*args, **kwargs)
|
||||
|
||||
## methods inherited from the database object (overload them here)
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ class Player(PlayerDB):
|
|||
"""
|
||||
__metaclass__ = TypeclassBase
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, *args, **kwargs):
|
||||
"""
|
||||
This is the base Typeclass for all Players. Players represent
|
||||
the person playing the game and tracks account info, password
|
||||
|
|
@ -103,7 +103,7 @@ class Player(PlayerDB):
|
|||
at_server_shutdown()
|
||||
|
||||
"""
|
||||
super(Player, self).__init__()
|
||||
super(Player, self).__init__(*args, **kwargs)
|
||||
|
||||
## methods inherited from database model
|
||||
|
||||
|
|
|
|||
|
|
@ -354,7 +354,7 @@ class Script(ScriptBase):
|
|||
the hooks called by the script machinery.
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, *args, **kwargs):
|
||||
"""
|
||||
This is the base TypeClass for all Scripts. Scripts describe events,
|
||||
timers and states in game, they can have a time component or describe
|
||||
|
|
@ -441,7 +441,7 @@ class Script(ScriptBase):
|
|||
|
||||
|
||||
"""
|
||||
super(Script, self).__init__()
|
||||
super(Script, self).__init__(*args, **kwargs)
|
||||
|
||||
def at_script_creation(self):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -764,11 +764,16 @@ class TypeclassBase(SharedMemoryModelBase):
|
|||
Metaclass which should be set for the root of model proxies
|
||||
that don't define any new fields, like Object, Script etc.
|
||||
"""
|
||||
|
||||
def __new__(cls, name, bases, attrs):
|
||||
"""
|
||||
We must define our Typeclasses as proxies. We also store the path
|
||||
directly on the class, this is useful for managers.
|
||||
"""
|
||||
|
||||
attrs["typename"] = cls.__name__
|
||||
attrs["path"] = "%s.%s" % (attrs["__module__"], name)
|
||||
|
||||
# typeclass proxy setup
|
||||
if "Meta" in attrs:
|
||||
attrs["Meta"].proxy = True
|
||||
|
|
|
|||
|
|
@ -82,8 +82,8 @@ class SharedMemoryModelBase(ModelBase):
|
|||
document this auto-wrapping in the class header, this could seem very much like magic to the user otherwise.
|
||||
"""
|
||||
|
||||
attrs["typename"] = cls.__name__
|
||||
attrs["path"] = "%s.%s" % (attrs["__module__"], name)
|
||||
#attrs["typename"] = cls.__name__
|
||||
#attrs["path"] = "%s.%s" % (attrs["__module__"], name)
|
||||
|
||||
# set up the typeclass handling only if a variable _is_typeclass is set on the class
|
||||
def create_wrapper(cls, fieldname, wrappername, editable=True, foreignkey=False):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue