Exemple #1
0
 void PrefabRemove(Vector3 hitPos, RaycastHit hit)
 {
     if (useRadius)
     {
         PrefabPainted[] prefabsInRadius;
         prefabsInRadius = GameObject.FindObjectsOfType <PrefabPainted> ();
         float thresh = radius * radius;
         foreach (PrefabPainted p in prefabsInRadius)
         {
             float dist = Vector3.SqrMagnitude(hitPos - p.transform.position);
             if (dist <= thresh)
             {
                 Undo.DestroyObjectImmediate(p.gameObject);
             }
         }
     }
     else
     {
         PrefabPainted p = hit.collider.GetComponent <PrefabPainted>();
         if (p != null)
         {
             Undo.DestroyObjectImmediate(p.gameObject);
         }
     }
 }
Exemple #2
0
 void PrefabRemove(Collider hitCollider)
 {
     if (drawMode == DrawMode.Field || drawMode == DrawMode.RandomArea)
     {
         float           thresh          = radius * radius;
         PrefabPainted[] prefabsInRadius = GameObject.FindObjectsOfType <PrefabPainted> ();
         foreach (var p in prefabsInRadius)
         {
             if (Vector3.SqrMagnitude(hitPos - p.transform.position) <= thresh)
             {
                 Undo.DestroyObjectImmediate(p.gameObject);
             }
         }
     }
     else
     {
         PrefabPainted p = hitCollider.GetComponent <PrefabPainted>();
         if (p != null)
         {
             Undo.DestroyObjectImmediate(p.gameObject);
         }
     }
 }