public void UpdateMaps(IEnumerable <Hashtable> mapsData) { _maps = new Dictionary <string, Map>(); foreach (var mapData in mapsData) { var id = mapData.GetString("id"); var portals = new List <MapPortal>(); var portalsData = mapData.GetArrayList("portals"); for (var i = 0; i < portalsData.Count; i++) { var portalData = portalsData.GetHashtable(i); // Get the portal effect var effect = (PortalEffect)Enum.Parse( typeof(PortalEffect), portalData["effect"].ToString(), true); // Get the portal's position var positionData = portalData.GetArrayList("position"); var position = new Vector3(positionData.GetFloat(0), positionData.GetFloat(1), 0); // Get the positions of the cards var cardPositions = new List <Vector3>(); var cardPositionsData = portalData.GetArrayList("cards"); for (var j = 0; j < cardPositionsData.Count; j++) { var cardPositionData = cardPositionsData.GetArrayList(j); cardPositions.Add(new Vector3(cardPositionData.GetFloat(0), cardPositionData.GetFloat(1), 0)); } // Get the portal color var colorData = portalData.GetArrayList("color"); var color = new Color(colorData.GetFloat(0), colorData.GetFloat(1), colorData.GetFloat(2)); var deck = portalData["deck"].ToString(); var icon = ResourcesManager.GetSpriteForMapPortal(portalData["icon"].ToString()); portals.Add(new MapPortal(effect, deck, position, cardPositions, icon, color)); } _maps.Add( id, new Map(id, portals)); } }
private void BuildModsButton() { Button modsButton = Instantiate(purgeButton); modsButton.transform.SetParent(purgeButton.transform.parent); modsButton.transform.localScale = new Vector3(1, 1, 1); modsButton.transform.SetSiblingIndex(4); modsButton.GetComponentInChildren <TextMeshProUGUI>().text = "MODS"; foreach (var image in modsButton.GetComponentsInChildren <Image>()) { if (image.name == "TokenArt") { image.sprite = ResourcesManager.GetSpriteForAspect("knock"); } } modsButton.onClick = new Button.ButtonClickedEvent(); modsButton.onClick.AddListener(ShowModsPanel); modsButton.gameObject.SetActive(true); }