private void CreateStreet(Vector2Int coords, DirectionalTileType type) { var streetBlockInfo = this.TilesetPrefabs.Get(type); Transform streetBlock = GameObject.Instantiate <Transform>(streetBlockInfo.Item, StreetsParent); streetBlock.rotation = Quaternion.Euler(0f, streetBlockInfo.Rotation, 0f); streetBlock.position = new Vector3(coords.x * 69.8f, 0, coords.y * 69.8f); streetBlock.name = coords.ToString() + type.ToString(); }
public static bool?HasFace(this DirectionalTileType t, Faces matchFace) { if (t == DirectionalTileType.Unknown) { return(null); } else { return(facings[t].Contains(matchFace)); } }
private void SetImage(Vector2Int coords, DirectionalTileType type) { var t = CityStreetPanel.Find(coords.ToString()); if (t != null) { GameObject.Destroy(t); } var tile = this.TilesetIcons.Get(type); RectTransform r = GameObject.Instantiate <RectTransform>(tile.Item, CityStreetPanel); if (Math.Abs(tile.Rotation) == 90) { tile.Rotation = -tile.Rotation; } r.rotation = Quaternion.Euler(0, 0, tile.Rotation); r.anchoredPosition = new Vector3(coords.x * 100, coords.y * 100); r.name = coords.ToString() + type.ToString(); }
public void SetType(int x, int y, DirectionalTileType t) { map[x + MaxRadius, y + MaxRadius] = t; }
public DirectionalTile <T> Get(DirectionalTileType t) { if (t == DirectionalTileType.Intersection) { return new DirectionalTile <T>() { Item = Intersection } } ; else { switch (t) { case DirectionalTileType.StraightHorizontal: return(new DirectionalTile <T>() { Item = Straight }); case DirectionalTileType.StraightVertical: return(new DirectionalTile <T>() { Item = Straight, Rotation = 90 }); case DirectionalTileType.TJunctionTop: return(new DirectionalTile <T>() { Item = TJunction, Rotation = -90 }); case DirectionalTileType.TJunctionRight: return(new DirectionalTile <T>() { Item = TJunction }); case DirectionalTileType.TJunctionBottom: return(new DirectionalTile <T>() { Item = TJunction, Rotation = 90 }); case DirectionalTileType.TJunctionLeft: return(new DirectionalTile <T>() { Item = TJunction, Rotation = 180 }); case DirectionalTileType.EndcapTop: return(new DirectionalTile <T>() { Item = Endcap, Rotation = 90 }); case DirectionalTileType.EndcapRight: return(new DirectionalTile <T>() { Item = Endcap, Rotation = 180 }); case DirectionalTileType.EndcapBottom: return(new DirectionalTile <T>() { Item = Endcap, Rotation = -90 }); case DirectionalTileType.EndcapLeft: return(new DirectionalTile <T>() { Item = Endcap }); } Debug.Log("Can't find a tile for " + t); return(null); } }
public static Faces[] GetFaces(this DirectionalTileType t) { return(facings[t]); }