public void GenerateEncounterMap(SO_TileFieldToGen tileFieldToGen) { int totalWeight = 0; foreach (TileToPercentage elem in tileFieldToGen.tileToPercentage) { totalWeight += elem.percentage; } int val; SO_Tile tileType = null; for (int i = 0; i < tileFieldToGen.sizeX; i++) { for (int j = 0; j > -tileFieldToGen.sizeY; j--) { val = Random.Range(0, totalWeight); for (int k = 0; k < tileFieldToGen.tileToPercentage.Length; k++) { if (val < tileFieldToGen.tileToPercentage[k].percentage) { tileType = tileFieldToGen.tileToPercentage[k].tileType; break; } else { val -= tileFieldToGen.tileToPercentage[k].percentage; } } vectorsToTiles.Add(new Vector2(i, j), MakeTile(tilePrefab, tileType, new Vector2(i, j))); } } }
public void AssignTileData(SO_Tile tileSO) { this.tileImage = tileSO.tileImage; this.tileType = tileSO.tileType; this.impassible = tileSO.impassible; this.terrainDifficulty = tileSO.terrainDifficulty; neighbours = new List <Tile>(); transform.localScale = new Vector3(tileSO.xSizing, tileSO.ySizing, 1); GetComponent <SpriteRenderer>().sprite = tileSO.tileImage; GetComponent <SpriteRenderer>().sortingLayerName = "Terrain"; }
public Tile MakeTile(GameObject tilePrefab, SO_Tile tileData, Vector2 position) { GameObject tile = Instantiate(tilePrefab); tile.transform.SetParent(transform); Tile tileScript = tile.GetComponent <Tile>(); tileScript.AssignTileData(tileData); tileScript.SetIndex(position, 1.075f, 0.62f); //tile.GetComponent<SpriteRenderer>().sortingOrder = -1 * (int)position.y; return(tileScript); }
public TileToChoose AddTileToChoose(SO_Tile tileInfo) { GameObject tileToChoose = Instantiate(tileToChoosePrefab, content.transform); RectTransform rt = tileToChoose.GetComponent <RectTransform>(); rt.anchoredPosition = new Vector3(-160, -80 - 120 * numberOfItems); TileToChoose tileToChooseScript = tileToChoose.GetComponent <TileToChoose>(); tileToChooseScript.SetTileInfo(tileInfo); tileToChooseScript.SetTileChooser(this); numberOfItems++; return(tileToChooseScript); }
private Tile MakeTile(GameObject tilePrefab, SO_Tile tileData, Vector2 position) { GameObject tile = Instantiate(tilePrefab); tile.transform.SetParent(transform); Tile tileScript = tile.GetComponent <Tile>(); tileScript.AssignTileData(tileData); tileScript.SetIndex(position, tileWidth, tileHeight); tile.name = "Tile" + tileScript.Index; //tile.GetComponent<SpriteRenderer>().sortingOrder = -1 * (int)position.y; return(tileScript); }
public void SetTileInfo(SO_Tile tile) { tileInfo = tile; tileDescr.text = "Name: " + tile.tileName + "\n" + "Difficulty: " + tile.terrainDifficulty; tileButton.image.sprite = tile.tileImage; }
public void InvokeTileChosen(SO_Tile tileInfo) { tileChosenEvent.Invoke(tileInfo); }
public void HandleTileChosen(SO_Tile tileInfo) { terrainEditor.SetCurrentTileType(tileInfo.tileType); }