public virtual void receiveActions(string actions) { ObjectJSON actionsJSON = new ObjectJSON(actions); ArrayJSON actions0JSON = actionsJSON.getArrayJSON("actions0"); for (int i = 0; i < actions0JSON.Length; i++) { ObjectJSON actionJSON = actions0JSON.getObjectJSONAt(i); Data.Action action = Data.Action.fromJSON(actionJSON); actions0.Add(action); } ArrayJSON actions1JSON = actionsJSON.getArrayJSON("actions1"); for (int i = 0; i < actions1JSON.Length; i++) { ObjectJSON actionJSON = actions1JSON.getObjectJSONAt(i); Data.Action action = Data.Action.fromJSON(actionJSON); actions1.Add(action); } ArrayJSON actions2JSON = actionsJSON.getArrayJSON("actions2"); for (int i = 0; i < actions2JSON.Length; i++) { ObjectJSON actionJSON = actions2JSON.getObjectJSONAt(i); Data.Action action = Data.Action.fromJSON(actionJSON); actions2.Add(action); } }
public static MapData buildMap(ObjectJSON map) { MapData output = new MapData(); output.id = map.getString("id"); output.name = map.getString("name"); output.width = map.getInt("width"); output.height = map.getInt("height"); output.cells = buildMapCells(map.getArrayJSON("cells")); output.spawns = buildMapSpawns(map.getArrayJSON("spawns")); output.buildCellDataIdList(); return(output); }
public void SetLoadoutJSON(string json) { ObjectJSON obj = new ObjectJSON(json); ArrayJSON array = obj.getArrayJSON("spells"); for (int i = 0; i < array.Length; i++) { SetSpell(i, array.getStringAt(i)); } }
public static BuffData buildBuff(ObjectJSON buff) { BuffData output = new BuffData(); output.id = buff.getString("id"); output.name = buff.getString("name"); output.iconPath = buff.getString("iconPath"); output.description = buff.getString("description"); output.effects = buildEffectBuffs(buff.getArrayJSON("effects")); return(output); }
new public static MovementAction fromJSON(ObjectJSON json) { MovementAction output = new MovementAction(); output.entityId = json.getInt("entityId"); ArrayJSON path = json.getArrayJSON("path"); output.path = new int[path.Length]; for (int i = 0; i < path.Length; i++) { output.path[i] = path.getIntAt(i); } return(output); }
public static EffectSpell buildEffectSpell(ObjectJSON effect) { EffectSpell output = new EffectSpell(); output.affectAlly = effect.getBoolArray("affectAlly"); output.affectEnemy = effect.getBoolArray("affectEnemy"); output.affectSelf = effect.getBoolArray("affectSelf"); output.affectCell = effect.getBoolArray("affectCell"); output.minArea = effect.getIntArray("minArea"); output.maxArea = effect.getIntArray("maxArea"); output.areaType = SpellData.stringToRangeAreaType(effect.getStringArray("areaType")); output.quickHandler = buildEffectHandler(effect.getObjectJSON("quickHandler")); output.slowHandler = buildEffectHandler(effect.getObjectJSON("slowHandler")); output.conditions = buildEffectConditions(effect.getArrayJSON("conditions")); return(output); }
public static SpellData buildSpell(ObjectJSON spell) { SpellData output = new SpellData(); output.id = spell.getString("id"); output.name = spell.getString("name"); output.iconPath = spell.getString("iconPath"); output.description = spell.getStringArray("description"); output.cost = spell.getIntArray("cost"); output.cooldown = spell.getIntArray("cooldown"); output.minRange = spell.getIntArray("minRange"); output.maxRange = spell.getIntArray("maxRange"); output.rangeType = SpellData.stringToRangeAreaType(spell.getStringArray("rangeType")); output.priority = spell.getIntArray("priority"); output.effects = buildEffectSpells(spell.getArrayJSON("effects")); return(output); }
public static EffectBuff buildEffectBuff(ObjectJSON effect) { EffectBuff output = new EffectBuff(); output.affectAlly = effect.getBool("affectAlly"); output.affectEnemy = effect.getBool("affectEnemy"); output.affectSelf = effect.getBool("affectSelf"); output.affectCell = effect.getBool("affectCell"); output.minArea = effect.getInt("minArea", 0); output.maxArea = effect.getInt("maxArea", 0); output.areaType = SpellData.stringToRangeAreaType(effect.getString("areaType", "")); output.onGainedHandler = buildEffectHandler(effect.getObjectJSON("onGainedHandler")); output.onLostHandler = buildEffectHandler(effect.getObjectJSON("onLostHandler")); output.onDamageHandler = buildEffectHandler(effect.getObjectJSON("onDamageHandler")); output.onHealHandler = buildEffectHandler(effect.getObjectJSON("onHealHandler")); output.onSpellHandler = buildEffectHandler(effect.getObjectJSON("onSpellHandler")); output.onBuffedHandler = buildEffectHandler(effect.getObjectJSON("onBuffedHandler")); output.onEnterHandler = buildEffectHandler(effect.getObjectJSON("onEnterHandler")); output.onLeaveHandler = buildEffectHandler(effect.getObjectJSON("onLeaveHandler")); output.onTurnStartHandler = buildEffectHandler(effect.getObjectJSON("onTurnStartHandler")); output.onTurnEndHandler = buildEffectHandler(effect.getObjectJSON("onTurnEndHandler")); output.conditions = buildEffectConditions(effect.getArrayJSON("conditions")); return(output); }
public static void loadDataJSON() { ObjectJSON data = ParserJSON.getObjectJSONFromAsset("DATA"); ArrayJSON buffs = data.getArrayJSON("buffs"); ArrayJSON spells = data.getArrayJSON("spells"); ArrayJSON cellTypes = data.getArrayJSON("cellTypes"); ArrayJSON maps = data.getArrayJSON("maps"); // parse and save data foreach (SpellData s in buildSpells(spells)) { if (s != null) { DataManager.registerData(s.id, s); } } foreach (BuffData b in buildBuffs(buffs)) { if (b != null) { DataManager.registerData(b.id, b); } } foreach (CellData ct in buildCellTypes(cellTypes)) { if (ct != null) { DataManager.registerData(ct.id, ct); } } foreach (MapData m in buildMaps(maps)) { if (m != null) { DataManager.registerData(m.id, m); } } // fill description macro foreach (SpellData s in DataManager.SPELL_DATA.Values) { for (int i = 0; i < 2; i++) { string macro = StringParsingTool.getNextMacro(s.description[i]); while (macro != "") { s.description[i] = s.description[0].Replace(macro, getMacroContent(StringParsingTool.getBetweenMacro(macro))); macro = StringParsingTool.getNextMacro(s.description[i]); } } } foreach (BuffData b in DataManager.BUFF_DATA.Values) { string macro = StringParsingTool.getNextMacro(b.description); while (macro != "") { b.description = b.description.Replace(macro, getMacroContent(StringParsingTool.getBetweenMacro(macro))); macro = StringParsingTool.getNextMacro(b.description); } } }