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); }
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); } }