GUI implementation of alpha clone switching

This commit is contained in:
blitzman
2016-12-11 22:51:48 -05:00
parent 90c1033437
commit a954759012
5 changed files with 65 additions and 5 deletions

View File

@@ -109,6 +109,12 @@ def getAlphaClone(lookfor, eager=None):
return item
def getAlphaCloneList(eager=None):
eager = processEager(eager)
clones = gamedata_session.query(AlphaClone).options(*eager).all()
return clones
groupNameMap = {}

View File

@@ -33,11 +33,12 @@ characters_table = Table("characters", saveddata_meta,
Column("defaultChar", Integer),
Column("chars", String, nullable=True),
Column("defaultLevel", Integer, nullable=True),
Column("alphaClone", Integer, nullable=True),
Column("alphaCloneID", Integer, nullable=True),
Column("ownerID", ForeignKey("users.ID"), nullable=True))
mapper(Character, characters_table,
properties={
"_Character__alphaCloneID": characters_table.c.alphaCloneID,
"savedName": characters_table.c.name,
"_Character__owner": relation(
User,

View File

@@ -99,6 +99,7 @@ class Character(object):
self.__skills = []
self.__skillIdMap = {}
self.dirtySkills = set()
self.alphaClone = None
if initSkills:
for item in self.getSkillList():
@@ -115,8 +116,10 @@ class Character(object):
self.__skillIdMap[skill.itemID] = skill
self.dirtySkills = set()
if self.alphaClone:
self.alphaClone = eos.db.getAlphaClone(self.alphaClone)
self.alphaClone = None
if self.alphaCloneID:
self.alphaClone = eos.db.getAlphaClone(self.alphaCloneID)
def apiUpdateCharSheet(self, skills):
del self.__skills[:]
@@ -144,6 +147,15 @@ class Character(object):
def name(self, name):
self.savedName = name
@property
def alphaCloneID(self):
return self.__alphaCloneID
@alphaCloneID.setter
def alphaCloneID(self, cloneID):
self.__alphaCloneID = cloneID
self.alphaClone = eos.db.getAlphaClone(cloneID) if cloneID is not None else None
@property
def skills(self):
return self.__skills