Beispiel #1
0
    GameObject SpawnStructure(GameObject prefab)
    {
        int tries = 0;

        GameObject go = null;

        while (tries++ < 5)
        {
            SpawningArea spawnArea    = spawningAreas[Random.Range(0, spawningAreas.Count)];
            Rect         spawningArea = spawnArea.area;
            Vector2      spawnPoint   = spawningTrees ? spawnArea.GetRandomSpawnPoint() : spawnArea.GetEdgeSpawnPoint();

            Point p = new Point {
                x = spawnPoint.x,
                y = spawnPoint.y
            };
            if (previouslySpawnedBuildings.Contains(p))
            {
                continue;
            }

            go = Instantiate(prefab, Jitter(spawnPoint), Quaternion.identity, transform);
            previouslySpawnedBuildings.Add(p);
            break;
        }
        return(go);
    }
Beispiel #2
0
 private void Awake()
 {
     if (instance != null && instance != this)
     {
         Destroy(this.gameObject);
         return;
     }
     else
     {
         instance = this;
         //DontDestroyOnLoad(Instance);
     }
 }