Example #1
0
    public static List <HeroCardData> DecodeHeroCards(JSONObject serializedHeroes)
    {
        List <HeroCardData> heroes = new List <HeroCardData>();

        foreach (JSONObject hero in serializedHeroes.GetField("heroes").list)
        {
            string name    = hero.GetField("hero_type").str;
            string ownerID = hero.GetField("owner_id").str;
            string UUID    = hero.GetField("id").str;

            int    health       = (int)hero.GetField("max_health").n;
            int    attack       = (int)hero.GetField("attack").n;
            int    defense      = (int)hero.GetField("defense").n;
            int    vision       = (int)hero.GetField("vision").n;
            int    movement     = (int)hero.GetField("movement").n;
            int    actionPoints = (int)hero.GetField("max_action_points").n;
            int    level        = (int)hero.GetField("level").n;
            Weapon wep          = DecodeWeapon(hero.GetField("weapon"));

            HeroCardData hcard = new HeroCardData();
            hcard.init(name, ownerID, UUID, health, attack, defense, vision, movement, actionPoints, wep, level);
            heroes.Add(hcard);
        }
        return(heroes);
    }
Example #2
0
    private void toggleHeroCard(GameObject clickedCard)
    {
        HeroCardData hero = clickedCard.GetComponent <HeroCardData>();

        if (hero != null)
        {
            if (selectedHeroes.ContainsKey(hero.UUID))
            {
                selectedHeroes.Remove(hero.UUID);
                clickedCard.GetComponent <Image>().color = unselectedColor;
            }
            else
            {
                if (selectedHeroes.Count < maxHeroes)
                {
                    selectedHeroes.Add(hero.UUID, hero);
                    clickedCard.GetComponent <Image>().color = selectedColor;
                }
            }
        }
        if (selectedHeroes.Count >= minimumSelectedHeroes)
        {
            HeroConfirmButton.SetActive(true);
        }
        else
        {
            HeroConfirmButton.SetActive(false);
        }
    }