mirror of
https://github.com/solero/houdini.git
synced 2024-11-13 22:28:21 +00:00
Setup default penguin string builders on server boot
This commit is contained in:
parent
691040c9e0
commit
550704132b
@ -57,6 +57,7 @@ class HoudiniFactory:
|
||||
|
||||
self.client_class = Spheniscidae
|
||||
self.penguin_string_compiler = None
|
||||
self.anonymous_penguin_string_compiler = None
|
||||
|
||||
self.penguins_by_id = {}
|
||||
self.penguins_by_username = {}
|
||||
@ -135,6 +136,10 @@ class HoudiniFactory:
|
||||
|
||||
self.client_class = Penguin
|
||||
self.penguin_string_compiler = PenguinStringCompiler()
|
||||
self.anonymous_penguin_string_compiler = PenguinStringCompiler()
|
||||
|
||||
PenguinStringCompiler.setup_default_builder(self.penguin_string_compiler)
|
||||
PenguinStringCompiler.setup_anonymous_default_builder(self.anonymous_penguin_string_compiler)
|
||||
|
||||
self.load_handler_modules(exclude_load="Houdini.Handlers.Login.Login")
|
||||
self.logger.info('World server started')
|
||||
|
@ -3,7 +3,8 @@ from Houdini.Spheniscidae import Spheniscidae
|
||||
|
||||
class Penguin(Spheniscidae):
|
||||
|
||||
__slots__ = ['x', 'y', 'room', 'waddle', 'table', 'data']
|
||||
__slots__ = ['x', 'y', 'room', 'waddle', 'table', 'data', 'member',
|
||||
'membership_days', 'avatar', 'walking_puffle']
|
||||
|
||||
def __init__(self, *args):
|
||||
super().__init__(*args)
|
||||
@ -15,8 +16,27 @@ class Penguin(Spheniscidae):
|
||||
|
||||
self.data = None
|
||||
|
||||
self.member = None
|
||||
self.membership_days = 0
|
||||
|
||||
self.avatar = None
|
||||
|
||||
self.walking_puffle = None
|
||||
|
||||
self.logger.debug('New penguin created')
|
||||
|
||||
@property
|
||||
def party_state(self):
|
||||
return str()
|
||||
|
||||
@property
|
||||
def puffle_state(self):
|
||||
return str()
|
||||
|
||||
@property
|
||||
def penguin_state(self):
|
||||
return str()
|
||||
|
||||
async def add_inventory(self, item):
|
||||
pass
|
||||
|
||||
|
@ -38,3 +38,42 @@ class PenguinStringCompiler(OrderedDict):
|
||||
async def attribute_method(p):
|
||||
return getattr(p.data, attribute_name)
|
||||
return attribute_method
|
||||
|
||||
@classmethod
|
||||
def setup_default_builder(cls, string_builder):
|
||||
string_builder.update({
|
||||
'ID': PenguinStringCompiler.data_attribute_by_name('ID'),
|
||||
'Nickname': PenguinStringCompiler.data_attribute_by_name('Nickname'),
|
||||
'Approval': PenguinStringCompiler.attribute_by_name('approval'),
|
||||
'Color': PenguinStringCompiler.data_attribute_by_name('Color'),
|
||||
'Head': PenguinStringCompiler.data_attribute_by_name('Head'),
|
||||
'Face': PenguinStringCompiler.data_attribute_by_name('Face'),
|
||||
'Neck': PenguinStringCompiler.data_attribute_by_name('Neck'),
|
||||
'Body': PenguinStringCompiler.data_attribute_by_name('Body'),
|
||||
'Hand': PenguinStringCompiler.data_attribute_by_name('Name'),
|
||||
'Photo': PenguinStringCompiler.data_attribute_by_name('Photo'),
|
||||
'X': PenguinStringCompiler.attribute_by_name('x'),
|
||||
'Y': PenguinStringCompiler.attribute_by_name('y'),
|
||||
'Frame': PenguinStringCompiler.attribute_by_name('frame'),
|
||||
'Member': PenguinStringCompiler.attribute_by_name('member'),
|
||||
'MemberDays': PenguinStringCompiler.attribute_by_name('membership_days'),
|
||||
'Avatar': PenguinStringCompiler.attribute_by_name('avatar'),
|
||||
'PenguinState': PenguinStringCompiler.attribute_by_name('penguin_state'),
|
||||
'PartyState': PenguinStringCompiler.attribute_by_name('party_state'),
|
||||
'PuffleState': PenguinStringCompiler.attribute_by_name('puffle_state')
|
||||
})
|
||||
|
||||
@classmethod
|
||||
def setup_anonymous_default_builder(cls, string_builder):
|
||||
string_builder.update({
|
||||
'ID': PenguinStringCompiler.attribute_by_name('ID'),
|
||||
'Nickname': PenguinStringCompiler.attribute_by_name('Nickname'),
|
||||
'Approval': PenguinStringCompiler.attribute_by_name('approval'),
|
||||
'Color': PenguinStringCompiler.attribute_by_name('Color'),
|
||||
'Head': PenguinStringCompiler.attribute_by_name('Head'),
|
||||
'Face': PenguinStringCompiler.attribute_by_name('Face'),
|
||||
'Neck': PenguinStringCompiler.attribute_by_name('Neck'),
|
||||
'Body': PenguinStringCompiler.attribute_by_name('Body'),
|
||||
'Hand': PenguinStringCompiler.attribute_by_name('Name'),
|
||||
'Photo': PenguinStringCompiler.attribute_by_name('Photo')
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user