public TileDef(ETile id, string name, TileResourceDef tileResourceDef, TileProperties tileProperties) { Id = id; Name = name; Resource = tileResourceDef; Properties = tileProperties; }
private void UpdateText() { if (!GameManager.Instance) { return; } // Update all texts for now for (int i = 0; i < NumInventorySlots; ++i) { ItemCount ic = GameManager.Instance.MainPlayer.Inventory.GetSlotInformation(i); InventorySlotUI isu = m_inventorySlot[i]; if (ic.Count == 0) { isu.m_count.text = ""; } else { isu.m_count.text = ic.Count.ToString(); } isu.m_title.color = (i == m_selectSlotIndex) ? new Color(48 / 255f, 255 / 255f, 42 / 255f) : new Color(1f, 1f, 1f); // set what is owned by this inventory slot if (ic.Item == EItem.None) { isu.m_icon.sprite = null; isu.m_icon.color = new Color(1f, 1f, 1f, 0f); } else { if (isu.m_icon.sprite == null) { TileResourceDef tileResourceDef = TileMapping.GetTileResourceDef((ETile)ic.Item); Texture2D tex = tileResourceDef != null ? Resources.Load(tileResourceDef.Filename) as Texture2D : null; if (tex) { Sprite sprite = Sprite.Create(tex, tileResourceDef.Rect, Vector2.zero); isu.m_icon.sprite = sprite; isu.m_icon.color = ItemInstance.GetColorForItem(ic.Item); isu.m_icon.rectTransform.SetWidth(Mathf.Min(tileResourceDef.Rect.width, 32)); isu.m_icon.rectTransform.SetHeight(Mathf.Min(tileResourceDef.Rect.height, 32)); } } } } }
private static bool BuildFromJSON(JSONNode rootNode) { m_tilesDef.Clear(); JSONNode tilesInfo = rootNode["tilesInfo"]; if (tilesInfo == null) { return(false); } foreach (var tileNode in tilesInfo.Childs) { JSONNode resNode = tileNode["resource"]; if (resNode == null) { continue; } string filename = resNode["file"]; int x = resNode["x"].AsInt; int y = resNode["y"].AsInt; int w = resNode["w"].AsInt; int h = resNode["h"].AsInt; int count = resNode["count"].AsInt; TileResourceDef trd = new TileResourceDef(filename, new Rect(x, y, w, h), count); ETile id = (ETile)tileNode["id"].AsInt; string name = tileNode["name"]; TileProperties tileProperties = new TileProperties(tileNode["properties"]); TileDef td = new TileDef(id, name, trd, tileProperties); if (m_tilesDef.ContainsKey(id)) { Debug.Log(string.Format("Ignoring duplicate id {0}", id)); continue; } m_tilesDef.Add(id, td); } return(true); }
private ItemInstance SpawnItem(EItem item) { if (!m_itemInstancePrefab) { return(null); } TileResourceDef tileResourceDef = TileMapping.GetTileResourceDef((ETile)item); if (tileResourceDef == null) { return(null); } GameObject obj = Instantiate(m_itemInstancePrefab); if (obj == null) { return(null); } Transform tr = obj.GetComponent <Transform>(); ItemInstance ii = obj.GetComponent <ItemInstance>(); MeshRenderer mr = obj.GetComponent <MeshRenderer>(); if (mr) { Texture tex = Resources.Load(tileResourceDef.Filename) as Texture; if (tex) { mr.material.mainTexture = tex; mr.material.color = ItemInstance.GetColor32ForItem(item); //float scale = (float) (Screen.height / 2.0) / Camera.main.orthographicSize; //tr.localScale = new Vector3((float)tex.width / scale, (float)tex.height / scale, tr.localScale.z); tr.localScale = new Vector3(1.0f, 1.0f, tr.localScale.z); } ii.SetType(item); } return(ii); }