using System.Collections; using System.Collections.Generic; using UnityEngine; public class SpawnManager : MonoBehaviour { public List enemyList = new List(); public List spawnPoints = new List(); public int enemyNumber = 10; public GameObject Sun = new GameObject(); bool night = false; bool alreadySpawn = false; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { float sunRotationX = Sun.transform.localEulerAngles.x; sunRotationX = (sunRotationX > 180) ? sunRotationX - 360 : sunRotationX; Debug.Log(sunRotationX.ToString()); if (sunRotationX < 0) { Debug.Log("It is a Night"); night = true; } else { Debug.Log("It is a Day"); night = false; } if (!night) { alreadySpawn = false; } if (!alreadySpawn && night) { for (int i = 0; i < enemyNumber; i++) { int randomSpawnPoint = Random.Range(0, (spawnPoints.Count - 1)); int random = Random.Range(0, (enemyList.Count - 1)); GameObject randomSpawnPointGO = spawnPoints[randomSpawnPoint].gameObject; Instantiate(enemyList[random], new Vector3(randomSpawnPointGO.transform.position.x, randomSpawnPointGO.transform.position.y, randomSpawnPointGO.transform.position.z), Quaternion.identity); alreadySpawn = true; } } } public static float Clamp0360(float eulerAngles) { float result = eulerAngles - Mathf.CeilToInt(eulerAngles / 360f) * 360f; if (result < 0) { result += 360f; } return result; } }