Question by 
               ykchris2002 · Mar 12, 2019 at 03:18 AM · 
                c#unity 5random.range  
              
 
              set Random
i want set some startpoints, random instanaiate. How and make it?
using System.Collections; using System.Collections.Generic; using UnityEngine;
public abstract class DataReceiver : MonoBehaviour { public abstract void RecieveData(ImageData recievedData); }
public class ObjectGenerator : DataReceiver { protected List GeneratedObjects = new List();
 public int MaxGenerationNumber = 10;
 public GameObject Prefab;
 public string Name;
 public Vector3[] startpoint;
 private void Start()
 {
 }
 public override void RecieveData(ImageData recievedData)
 {
     if (recievedData != null && recievedData.name == Name)
     {
         Texture2D image;
         image = new Texture2D(recievedData.width, recievedData.height);
         image.LoadImage(recievedData.image);
         image.Apply(false, true);
         GameObject obj = Instantiate(Prefab);
        
         if (GeneratedObjects.Count >= MaxGenerationNumber)
         {
             obj = GeneratedObjects[0];
             GeneratedObjects.RemoveAt(0);
          obj.transform.position =startpoint;
                      //Debug.Log("11!");
         }
         else
         {
             obj = Instantiate(Prefab, startpoint, Quaternion.identity);
         }
        GeneratedObjects.Add(obj);
         SkinnedMeshRenderer skinnedRenderer = obj.GetComponentInChildren<SkinnedMeshRenderer>();
         if (skinnedRenderer)
         {
             foreach (Material mat in skinnedRenderer.materials)
                 mat.SetTexture("_MainTex", image);
         }
         MeshRenderer renderer = obj.GetComponentInChildren<MeshRenderer>();
         if (renderer)
         {
             renderer.material.mainTexture = image;
         }
     }
     //#if UNITY_EDITOR
     if (recievedData == null)
     {
         GameObject obj;
         if (GeneratedObjects.Count >= MaxGenerationNumber)
         {
             obj = GeneratedObjects[0];
             GeneratedObjects.RemoveAt(0);
         }
         else
         {
             obj = Instantiate(Prefab);
         }
         GeneratedObjects.Add(obj);
     }
     //#endif
 }
 public virtual void Update()
 {
     if (Input.GetKeyDown(KeyCode.Delete))
     {
         foreach (GameObject obj in GeneratedObjects)
         {
             Destroy(obj);
         }
         GeneratedObjects.Clear();
     }
 }
 
               }
               Comment
              
 
               
              Your answer