Skip to content
This repository has been archived by the owner on Dec 9, 2018. It is now read-only.

Commit

Permalink
Fixed RelCoordParam and added it to rulesets.
Browse files Browse the repository at this point in the history
  • Loading branch information
cahirwpz committed Aug 14, 2010
1 parent 9b0396a commit 8797de5
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 31 deletions.
10 changes: 8 additions & 2 deletions tp/server/rules/base/parameters/RelCoord.py
@@ -1,7 +1,9 @@
#!/usr/bin/env python

from sqlalchemy import *
from sqlalchemy.orm import mapper, relation
from sqlalchemy.orm import mapper, relation, composite

from tp.server.model import Vector3D

class RelCoordParam( object ):#{{{
@classmethod
Expand All @@ -13,9 +15,13 @@ def InitMapper( cls, metadata, Parameter, Object ):
Column('z', Integer, nullable = False ),
Column('parent_id', ForeignKey( Object.id ), nullable = True ))

cols = cls.__table__.c

mapper( cls, cls.__table__, inherits = Parameter, polymorphic_identity = 'RelCoord', properties = {
'parent' : relation( Object,
uselist = False )
uselist = False ),
# Object position in 3D space
'vector': composite( Vector3D, cols.x, cols.y, cols.z ),
})
#}}}

Expand Down
9 changes: 5 additions & 4 deletions tp/server/rules/minisec/__init__.py
Expand Up @@ -99,15 +99,16 @@ def loadModel( self ):

self.model.add_class( Ship, 'Design' )

from tp.server.rules.base.parameters import ( AbsCoordParam, TimeParam,
ObjectParam, PlayerParam, NumberParam, StringParam,
ResourceQuantity, ResourceQuantityParam, DesignQuantity,
DesignQuantityParam )
from tp.server.rules.base.parameters import ( AbsCoordParam,
RelCoordParam, TimeParam, ObjectParam, PlayerParam,
NumberParam, StringParam, ResourceQuantity,
ResourceQuantityParam, DesignQuantity, DesignQuantityParam )

self.model.add_class( DesignQuantity, 'Parameter', 'Design' )
self.model.add_class( ResourceQuantity, 'Parameter', 'ResourceType' )

self.model.add_parameter_class( AbsCoordParam )
self.model.add_parameter_class( RelCoordParam, 'Object' )
self.model.add_parameter_class( TimeParam )
self.model.add_parameter_class( ObjectParam, 'Object' )
self.model.add_parameter_class( PlayerParam, 'Player' )
Expand Down
49 changes: 24 additions & 25 deletions tp/server/rules/minisecplus/__init__.py
Expand Up @@ -22,31 +22,30 @@ class Ruleset( MinisecRuleset ):
def load___( self ):
from tp.server.rules.base.objects import Universe, Galaxy, StarSystem, Planet, Wormhole, Fleet

objs = self.model

objs.add_object_class( Universe )
objs.add_object_class( Galaxy )
objs.add_object_class( StarSystem )
objs.add_object_class( Planet )
objs.add_object_class( Fleet )
objs.add_object_class( Wormhole )

from tp.server.rules.base.parameters import ( AbsCoordParam, TimeParam,
ObjectParam, PlayerParam, NumberParam, StringParam,
ResourceQuantity, ResourceQuantityParam, DesignQuantity,
DesignQuantityParam )

objs.add_class( DesignQuantity, 'Parameter', 'Design' )
objs.add_class( ResourceQuantity, 'Parameter', 'ResourceType' )

objs.add_parameter_class( AbsCoordParam )
objs.add_parameter_class( TimeParam )
objs.add_parameter_class( ObjectParam, 'Object' )
objs.add_parameter_class( PlayerParam, 'Player' )
objs.add_parameter_class( NumberParam )
objs.add_parameter_class( StringParam )
objs.add_parameter_class( DesignQuantityParam, 'DesignQuantity' )
objs.add_parameter_class( ResourceQuantityParam, 'ResourceQuantity' )
self.model.add_object_class( Universe )
self.model.add_object_class( Galaxy )
self.model.add_object_class( StarSystem )
self.model.add_object_class( Planet )
self.model.add_object_class( Fleet )
self.model.add_object_class( Wormhole )

from tp.server.rules.base.parameters import ( AbsCoordParam,
RelCoordParam, TimeParam, ObjectParam, PlayerParam,
NumberParam, StringParam, ResourceQuantity,
ResourceQuantityParam, DesignQuantity, DesignQuantityParam )

self.model.add_class( DesignQuantity, 'Parameter', 'Design' )
self.model.add_class( ResourceQuantity, 'Parameter', 'ResourceType' )

self.model.add_parameter_class( AbsCoordParam )
self.model.add_parameter_class( RelCoordParam, 'Object' )
self.model.add_parameter_class( TimeParam )
self.model.add_parameter_class( ObjectParam, 'Object' )
self.model.add_parameter_class( PlayerParam, 'Player' )
self.model.add_parameter_class( NumberParam )
self.model.add_parameter_class( StringParam )
self.model.add_parameter_class( DesignQuantityParam, 'DesignQuantity' )
self.model.add_parameter_class( ResourceQuantityParam, 'ResourceQuantity' )

def createFleet( self, parent, name, owner = None):
Fleet, DesignQuantity, Design = self.model.use( 'Fleet', 'DesignQuantity', 'Design' )
Expand Down

0 comments on commit 8797de5

Please sign in to comment.