package com.kolakcc.loljclient.model;
import java.util.ArrayList;
import com.gvaneyck.rtmp.encoding.TypedObject;
import com.kolakcc.loljclient.util.TOUtils;
public class Summoner extends ModelFromTO {
String summonerName;
SummonerSpell classicDefaultSpell1, classicDefaultSpell2,
dominionDefaultSpell1, dominionDefaultSpell2,
aramDefaultSpell1, aramDefaultSpell2,
tutorialDefaultSpell1, tutorialDefaultSpell2;
double accountID, summonerID;
ArrayList<RunePage> runePages;
MasteryBook masteryBook;
int dataVersion;
Object futureData;
SummonerTalentsAndPoints summonerTalentsAndPoints;
SummonerLevelAndPoints summonerLevelAndPoints;
SummonerLevel summonerLevel;
public Summoner(TypedObject allSummonerData) {
super(allSummonerData);
if ((!allSummonerData.type.equals("com.riotgames.platform.summoner.AllSummonerData")) && (!allSummonerData.type.equals("com.riotgames.platform.summoner.AllPublicSummonerDataDTO"))) {
new Exception("Expected com.riotgames.platform.summoner.AllSummonerData got " + allSummonerData.type).printStackTrace();
} else {
runePages = new ArrayList<RunePage>();
for (TypedObject runePage : TOUtils.ArrayToTOArray(getTO("spellBook").getArray("bookPages"))) {
runePages.add(new RunePage(runePage));
}
accountID = allSummonerData.getTO("summoner").getDouble("acctId");
summonerID = allSummonerData.getTO("summoner").getDouble("sumId");
summonerName = allSummonerData.getTO("summoner").getString("name");
TypedObject defaultSpellMap = getTO("summonerDefaultSpells").getTO("summonerDefaultSpellMap");
if (defaultSpellMap.containsKey("CLASSIC")) {
classicDefaultSpell1 = SummonerSpell.getSpell(defaultSpellMap.getTO("CLASSIC").getInt("spell1Id"));
classicDefaultSpell2 = SummonerSpell.getSpell(defaultSpellMap.getTO("CLASSIC").getInt("spell2Id"));
} else if (defaultSpellMap.containsKey("ODIN")) {
dominionDefaultSpell1 = SummonerSpell.getSpell(defaultSpellMap.getTO("ODIN").getInt("spell1Id"));
dominionDefaultSpell2 = SummonerSpell.getSpell(defaultSpellMap.getTO("ODIN").getInt("spell2Id"));
}
if (containsKey("masteryBook")) masteryBook = new MasteryBook(getTO("masteryBook"));
//TODO: find out where the public mastery book info is
//futureData = getProbablyNull("futureData"); //why is this commented out?
//dataVersion = getInt("dataVersion");
summonerTalentsAndPoints = new SummonerTalentsAndPoints(getTO("summonerTalentsAndPoints"));
summonerLevelAndPoints = new SummonerLevelAndPoints(getTO("summonerLevelAndPoints"));
summonerLevel = new SummonerLevel(getTO("summonerLevel"));
checkFields();
}
}
public String getSummonerName() {
return summonerName;
}
public SummonerSpell getClassicDefaultSpell1() {
return classicDefaultSpell1;
}
public SummonerSpell getClassicDefaultSpell2() {
return classicDefaultSpell2;
}
public SummonerSpell getDominionDefaultSpell1() {
return dominionDefaultSpell1;
}
public SummonerSpell getDominionDefaultSpell2() {
return dominionDefaultSpell2;
}
public SummonerSpell getAramDefaultSpell1() {
return aramDefaultSpell1;
}
public SummonerSpell getAramDefaultSpell2() {
return aramDefaultSpell2;
}
public SummonerSpell getTutorialDefaultSpell1() {
return tutorialDefaultSpell1;
}
public SummonerSpell getTutorialDefaultSpell2() {
return tutorialDefaultSpell2;
}
public double getAccountID() {
return accountID;
}
public ArrayList<RunePage> getRunePages() {
return runePages;
}
public MasteryBook getMasteryBook() {
return masteryBook;
}
public double getSummonerID() {
return summonerID;
}
public int getDataVersion() {
return dataVersion;
}
public Object getFutureData() {
return futureData;
}
public SummonerTalentsAndPoints getSummonerTalentsAndPoints() {
return summonerTalentsAndPoints;
}
public SummonerLevelAndPoints getSummonerLevelAndPoints() {
return summonerLevelAndPoints;
}
public SummonerLevel getSummonerLevel() {
return summonerLevel;
}
}