public ChargingPad GetChargingPad() { foreach (GameObject chargingPadObj in _chargingPads) { ChargingPad chargingPad = chargingPadObj.GetComponent <ChargingPad>(); if (chargingPad.Available) { return(chargingPad); } } return(null); }
private void Update() { _timer += Time.deltaTime; if (_timer >= spawnTime) { ChargingPad pad = ChargingPadManager.Instance.GetChargingPad(); if (ChargingPadManager.Instance.SlotsInUse < ChargingPadManager.Instance.TotalSlots) { if (carPrefabs.Length > 0) { GameObject prefab = carPrefabs[(int)Random.Range(0, carPrefabs.Length)]; Instantiate(prefab, transform.position, prefab.transform.rotation); } } _timer = 0f; } }
private void Awake() { _exit = GameObject.FindGameObjectWithTag("Finish").transform; currentEnergy = Random.Range(20f, batteryCapacity - 50f); _destinationPad = ChargingPadManager.Instance.GetChargingPad(); _destinationPad.Available = false; _getInPoints.Enqueue(new Vector3(transform.position.x, 0f, _destinationPad.EntryPoint.position.z)); _getInPoints.Enqueue(_destinationPad.EntryPoint.position); _getInPoints.Enqueue(_destinationPad.transform.position); _getOutPoints.Enqueue(_destinationPad.EntryPoint.position); _getOutPoints.Enqueue(new Vector3(_exit.position.x, 0f, _destinationPad.EntryPoint.position.z)); _getOutPoints.Enqueue(_exit.position); _nextPoint = _getInPoints.Dequeue(); _initalRotation = transform.rotation; }