Skip to content

Instantly share code, notes, and snippets.

@nothingalike
Created February 3, 2018 19:22
Show Gist options
  • Save nothingalike/38b37d1ce1c8966613468e23a62b605f to your computer and use it in GitHub Desktop.
Save nothingalike/38b37d1ce1c8966613468e23a62b605f to your computer and use it in GitHub Desktop.
Randomize Tiles
public class PrisonTile : Tile {
[SerializeField]
private Sprite[] prisonSprites;
[SerializeField]
private Sprite preview;
public override void GetTileData(Vector3Int position, ITilemap tilemap, ref TileData tileData)
{
var floor2 = 15.0f;
var floor3 = 30.0f;
var floor4 = 32.0f;
var floor5 = 34.0f;
var floor6 = 36.0f;
var floor7 = 38.0f;
var choosen = Random.Range(0.0f, 300.0f);
if (choosen >= 0f && choosen < floor2)
{
tileData.sprite = prisonSprites[1];
}
else if (choosen >= floor2 && choosen < floor3)
{
tileData.sprite = prisonSprites[2];
}
else if (choosen >= floor3 && choosen < floor4)
{
tileData.sprite = prisonSprites[3];
}
else if (choosen >= floor4 && choosen < floor5)
{
tileData.sprite = prisonSprites[4];
}
else if (choosen >= floor5 && choosen < floor6)
{
tileData.sprite = prisonSprites[5];
}
else if (choosen >= floor6 && choosen <= floor7)
{
tileData.sprite = prisonSprites[6];
}else
{
tileData.sprite = prisonSprites[0];
}
}
#if UNITY_EDITOR
[MenuItem("Assets/Create/Tiles/PrisonTile")]
public static void CreatePrisonTile()
{
string path = EditorUtility.SaveFilePanelInProject("Save Prisontile", "New PrisonTile", "asset", "Save prison tile", "Assets");
if(path == "")
{
return;
}
AssetDatabase.CreateAsset(ScriptableObject.CreateInstance<PrisonTile>(), path);
}
#endif
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment