Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
    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));
        }
    }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        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);
                }
            }
        }