logo

Perlin_MapBehavior

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Collections.Generic;
using System.IO;
//------------------------------------------------------------------------
//Perlin Noise Agents v1.0 - Map Behavior Class
//--Class Controls the enabling and disabling of the Behavioral Map Texture and display--Class is a component of the Map_Geometry Game Object which contains a single mesh quad
//Mode Lab - Written by Luis Quinones
//------------------------------------------------------------------------
public class MapBehavior : MonoBehaviour {
    public GameObject planeBehavior;
    private Renderer rend;
    public Texture2D texture;
    public Scrollbar toggleImage;
    private bool turnOn;
    private float toggleImageVal;
    public string updatePath;
    public bool runIt;

    void Start () {
        if (runIt) {
            runIt = false;
            turnOn = false;
            planeBehavior.GetComponent<MeshRenderer> ().enabled = false; //Turns off mesh rendered component to keep mesh hidden
            rend = GetComponent<Renderer> ();
            texture = new Texture2D (1024, 768); //Creates a new texture with the specified pixels        
            toggleImage.onValueChanged.AddListener (delegate {
                toggleImageVal = toggleImage.value; //Checks if we changed the scrollbar to display the mesh and texture
            });
            if(updatePath.Length != 0){    
                var bytes = File.ReadAllBytes(updatePath);
                texture.LoadImage(bytes); //Loads image
                rend.material.mainTexture = texture; //Assigns it to instance of material
                turnOn = true; //Turns on the mesh and texture            
            }else{
                return;
            }
        }
    }
    void Update () {
        if (runIt) {
            Start();
        }
        //turns on and off the mesh based on the display scrollbar value which has a listener attached to it in the start function
        if (Mathf.RoundToInt(toggleImageVal) == 1) {
            planeBehavior.GetComponent<MeshRenderer> ().enabled = true;
            //plane.GetComponent<MeshCollider> ().enabled = true;
        } else {
            planeBehavior.GetComponent<MeshRenderer> ().enabled = false;
            //plane.GetComponent<MeshCollider> ().enabled = false;
        }
    }
}
Update
  • Share