### CivPlayer class by Baldyr
from CvPythonExtensins import *
import PyHelpers
import DataStorage
# constants
gc = CyGlobalContext()
Game = CyGame()
Map = CyMap()
Interface = CyInterface()
playerID, CyPlayer, teamID, CyTeam, PyPlayer = range(5)
lPlayers = range(Game.countCivPlayersEverAlive())
# main class definition
class CivPlayer:
def __init__(self, ePlayer):
pPlayer = gc.getPlayer(ePlayer)
eTeam = pPlayer.getTeam()
pTeam = gc.getTeam(eTeam)
player = PyHelpers.PyPlayer(ePlayer)
self.tIndex = ePlayer, pPlayer, eTeam, pTeam, player
def get(self, iIndex):
return self.tIndex[iIndex]
@classmethod
def playerID(cls, name):
return Civilizations[name].get(playerID)
@classmethod
def CyPlayer(cls, name):
return Civilizations[name].get(pPlayer)
@classmethod
def eTeam(cls, name):
return Civilizations[name].get(teamID)
@classmethod
def CyTeam(cls, name):
return Civilizations[name].get(CyTeam)
@classmethod
def PyPlayer(cls, name):
return Civilizations[name].get(PyPlayer)
def getScriptDict(self):
return DataStorage.sd.lPlayerData[self.get(playerID)]
def setData(self, key, value):
DataStorage.setPlayerData(self.playerID(), key, value)
def getData(self, key):
return DataStorage.getPlayerData(self.get(playerID), key)
# assorted functions
def setup():
CivPlayer.Civilizations = dict()
for ePlayer in lPlayers:
pCivPlayer = CivPlayer(ePlayer)
name = pCivPlayer.get(pPlayer).getCivilizationShortDescription()
CivPlayer.Civilizations[name] = pCivPlayer
def Civ(name):
return CivPlayer.Civilizations[name]
def pointer(name, iIndex):
return CivPlayer.Civilizations[name].get(iIndex)[/SPOILER]