Пример #1
0
	def __init__(self, sequence, \
			id,	slot, subtype, turns, resources, *args, **kw):
		Describable.__init__(self, sequence)

		self.length = \
			4 + 4 + 4 + 4 + \
			4 + len(resources)*(4+4)

		self.id        = id
		self.slot      = slot
		self._subtype  = subtype
		self.turns     = turns
		self.resources = resources

		if self.__class__ == Order \
				or str(self.__class__.__name__).endswith("Order_Insert") \
				or str(self.__class__.__name__).endswith("Order_Probe"):
			try:
				if kw.has_key('force'):
					cls = kw['force']
					del kw['force']
				else:
					from OrderDesc import descriptions
					cls = descriptions()[subtype]

				self.__class__ = cls
				if len(args) > 0:
					self.__init__(sequence, id,	slot, subtype, turns, resources, *args, **kw)
			except KeyError, e:
				raise DescriptionError(sequence, subtype)
Пример #2
0
	def __init__(self, sequence, \
			id, subtype, name, \
			size, \
			posx, posy, posz, \
			velx, vely, velz, \
			contains, \
			order_types, \
			order_number, \
			modify_time, \
			*args, **kw):
		Describable.__init__(self, sequence)

		self.length = \
			4 + 4 + \
			4 + len(name) + \
			8 + 3*8 + 3*8 + \
			4 + len(contains)*4 + \
			4 + len(order_types)*4 + \
			4 + 8 + 8

		self.id           = id
		self._subtype     = subtype
		self.name         = name
		self.size         = size
		self.pos          = (posx, posy, posz)
		self.vel          = (velx, vely, velz)
		self.contains     = contains
		self.order_types  = order_types
		self.order_number = order_number
		self.modify_time  = modify_time

		if self.__class__ == Object:
			try:
				if kw.has_key('force'):
					cls = kw['force']
				else:
					cls = descriptions()[subtype]
				self.__class__ = cls

				if len(args) > 0:
					self.__init__(sequence, \
									id, subtype, name, \
									size, \
									posx, posy, posz, \
									velx, vely, velz, \
									contains, \
									order_types, \
									order_number, \
									modify_time, *args)
			except KeyError, e:
				raise DescriptionError(sequence, subtype)
Пример #3
0
	def __init__(self, sequence, \
			id, subtype, name, \
			desc, \
			parent, \
			contains, \
			modify_time, \
			*args, **kw):
		Describable.__init__(self, sequence)

		self.length = \
			4 + 4 + \
			4 + len(name) + \
			4 + len(desc) + \
			4 + \
			4 + len(contains)*4 + \
			8 + 16

		self.id           = id
		self._subtype     = subtype
		self.name         = name
		self.desc         = desc
		self.parent       = parent
		self.contains     = contains
		self.modify_time  = modify_time

		if self.__class__ == Object:
			try:
				if kw.has_key('force'):
					cls = kw['force']
					del kw['force']
				else:
					from ObjectDesc import descriptions
					cls = descriptions()[subtype]

				self.__class__ = cls
				if len(args) > 0:
					self.__init__(sequence, \
									id, subtype, name, \
									desc, \
									parent, \
									contains, \
									modify_time, \
									*args)

			except KeyError, e:
				raise DescriptionError(sequence, subtype)
Пример #4
0
	def __str__(self):
		output = Describable.__str__(self)
		output += pack(self.struct, \
				self.id, \
				self._subtype, \
				self.name, \
				self.desc, \
				self.parent, \
				self.contains, \
				self.modify_time)
		return output
Пример #5
0
	def __str__(self):
		output = Describable.__str__(self)
		output += pack(self.struct, \
				self.id, \
				self._subtype, \
				self.name, \
				self.size, \
				self.pos[0], \
				self.pos[1], \
				self.pos[2], \
				self.vel[0], \
				self.vel[1], \
				self.vel[2], \
				self.contains, \
				self.order_types, \
				self.order_number, \
				self.modify_time)
		return output
Пример #6
0
	def __str__(self):
		output = Describable.__str__(self)
		output += pack(self.struct, self.id, self.slot, self._subtype, self.turns, self.resources)
		return output