// show the result to the screen private void getDisplay() { MapData mapData = GenerateMap(Vector2.zero); if (FindObjectOfType <MapDisplay>()) { MapDisplay display = FindObjectOfType <MapDisplay>(); if (mode == DrawMode.Noise) { display.drawTexture2D(GenerateTexture.TextureFromNoiseMap(mapData.noiseMap)); } else if (mode == DrawMode.Color) { display.drawTexture2D(GenerateTexture.textureFromColorMap(mapChunkSize , mapChunkSize, mapData.colorMap)); } else if (mode == DrawMode.Mesh) { display.drawMesh(MashGenerator.GenerateMash(mapData.noiseMap, heightMultiplier, meshHeightCurve, previewLOD), GenerateTexture.textureFromColorMap(mapChunkSize , mapChunkSize, mapData.colorMap)); } } else { print("Not found"); } }
/// <summary> /// Gets the sprite used for the given type /// </summary> public static Sprite GetSprite(BlockType type) { Texture2D texture = GenerateTexture.CreateRandomTexture(GenerateTexture.GetAvailableColors(GenerateTexture.GetPallete(type)), 10, 10); return(Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f), Mathf.Max(new int[2] { texture.height, texture.width }))); }
// Use this for initialization public void Initialize() { palleteColors = GenerateTexture.GetAvailableColors(color); render = gameObject.GetComponent <SpriteRenderer> (); Texture2D texture = GenerateTexture.CreateRandomTexture(palleteColors, textureSize, textureSize); render.sprite = Sprite.Create(texture, new Rect(0, 1, texture.width, texture.height), new Vector2(0.5f, 0.5f), Mathf.Max(new int[2] { texture.width, texture.height })); }
void OnMapDataReceived(MapData mapData) { //mapGenerator.RequestMeshData (mapData, OnMeshDataReceived); this.mapData = mapData; mapDataReceived = true; Texture2D texture = GenerateTexture.textureFromColorMap(MapGenerator.mapChunkSize, MapGenerator.mapChunkSize, mapData.colorMap); meshRenderer.material.mainTexture = texture; UpdateTerrainChunk(); }
public void SetColor(GenerateTexture.PalleteType color) { this.color = color; palleteColors = GenerateTexture.GetAvailableColors(color); render.sprite.texture.SetPixels(GenerateTexture.CreateRandomTexture(palleteColors, textureSize, textureSize).GetPixels()); render.sprite.texture.Apply(); if (color == GenerateTexture.PalleteType.sand || color == GenerateTexture.PalleteType.grey) { flowingTexture = false; } else { flowingTexture = true; } }
public override void OnInspectorGUI() { GenerateTexture mapGen = (GenerateTexture)target; if (DrawDefaultInspector()) { if (mapGen.autoUpdate) { mapGen.UpdateTexture(); } } if (GUILayout.Button("Generate")) { mapGen.UpdateTexture(); } }
// Update is called once per frame protected void CallOnFixedUpdate() { if (flowingTexture) { updatesSinceLastMove++; updatesSinceLastCleanup++; if (updatesSinceLastMove >= requiredUpdatesSinceLastMove) { if (updatesSinceLastCleanup >= requiredUpdatesSinceLastCleanup) { GenerateTexture.ProgressTexture(render.sprite.texture, true, palleteColors); updatesSinceLastCleanup = Random.Range(0, 20); } else { GenerateTexture.ProgressTexture(render.sprite.texture, false, palleteColors); } updatesSinceLastMove = 0; } } }
/// <summary> /// Displays a block with the blocks type at position x,y. If the block is already displayed, the previous displayer will be destroyed /// </summary> public void DisplayObject(int x, int y) { if (visualiser == null) { SpriteRenderer renderer = MonoBehaviour.Instantiate(visualiserPrefab) as SpriteRenderer; renderer.transform.position = new Vector3((float)x, (float)y, 0); if (parent == null) { parent = new GameObject().transform; parent.gameObject.name = "Blocks"; } if (type == BlockType.player) { renderer.name = "PLAYER"; } renderer.transform.SetParent(parent); BlockVisualManager manager = renderer.GetComponent <BlockVisualManager>(); manager.block = this; manager.posx = x; manager.posy = y; visualiser = renderer; Sprite sprite = GetSprite(type); visualiser.sprite = sprite; visualiser.gameObject.GetComponent <RandomlyTexturedObjectController>().Initialize(); visualiser.gameObject.GetComponent <RandomlyTexturedObjectController> ().SetColor(GenerateTexture.GetPallete(type)); } }
/// <summary> /// Sets the type of the block, and updates it's display (if any) to reflect the new type /// </summary> public void SetType(BlockType newType) { if (newType != type) { if (isAlsoGoal && newType == BlockType.background) { type = BlockType.goal; if (visualiser != null) { visualiser.sprite = GetSprite(BlockType.goal); } return; } type = newType; if (visualiser != null) { visualiser.sprite = GetSprite(type); visualiser.gameObject.GetComponent <RandomlyTexturedObjectController> ().SetColor(GenerateTexture.GetPallete(type)); } } }