Browse Source

Commented scripts

Marcel Zickler 3 years ago
parent
commit
5e40bba9e1

+ 33 - 8
Assets/Scripts/TrafficSimulation/IntersectionSituation/CarSituationSpawner.cs

@@ -29,50 +29,75 @@ namespace TrafficSimulation{
         void OnDestroy() {
             StopSpawning();
         }
+        /// <summary>
+        /// Use this method to active the spawner
+        /// </summary>
         public void StartSpawner(){
-            Debug.Log("Start Spawner");
             this.isActive = true;
             StartSpawns();
         }
+
+        /// <summary>
+        /// Use this method to deactive the spawner
+        /// </summary>
         public void StopSpawner(){
             this.isActive = false;
             StopSpawning();
             DespawnAllCars();
         }
+        /// <summary>
+        /// Check every set despawn area if cars have to be despawned
+        /// </summary>
         private void CheckDespawns(){
-            Debug.Log("Check for despawn");
             foreach(PresetTrigger despawn in despawns){
                 if(despawn.checkLastTrigger()){
                     DespawnCar(despawn.getLastCollider());
                 }
             }
         }
+        /// <summary>
+        /// Start a coroutine to spawn cars at every given spawn point
+        /// </summary>
         private void StartSpawns(){
-            Debug.Log("Start Spawns");
             foreach(Transform spawnPos in spawns){
                 IEnumerator coroutine = AutoSpawning(spawnPos);
                 this.coroutines.Add(coroutine);
                 StartCoroutine(coroutine);
             }
         }
+        /// <summary>
+        /// Despawn all cars used from this spawner since it was active
+        /// </summary>
         private void DespawnAllCars(){
-            foreach(GameObject car in this.cars){
-                DespawnCar(car);
-            }
+            this.cars.ForEach(car => DespawnCar(car));
         }
+        /// <summary>
+        /// Stop all coroutines
+        /// </summary>
         private void StopSpawning(){
             foreach(IEnumerator coroutine in this.coroutines){
                 StopCoroutine(coroutine);
             }
         }
+        /// <summary>
+        /// Spawn a car on the given transform
+        /// </summary>
+        /// <param name="carSpawn">Transform</param>
         void SpawnCar(Transform carSpawn){
-            Debug.Log("despawnCars");
             this.cars.Add(this.carPool.SpawnCar(carSpawn));
         }
+        /// <summary>
+        /// Despawn the given car
+        /// </summary>
+        /// <param name="car">GameObject</param>
         void DespawnCar(GameObject car){
-            Debug.Log("despawnCars");
             this.carPool.despawnCar(car);
         }
+        /// <summary>
+        /// IEnumerator for the coroutine which spawns a car at the given position in the set spawnRate
+        /// </summary>
+        /// <param name="position">Transform</param>
+        /// <returns></returns>
         public IEnumerator AutoSpawning(Transform position){
             while(true){
                 SpawnCar(position);

+ 20 - 10
Assets/Scripts/TrafficSimulation/IntersectionSituation/IntersectionPreset.cs

@@ -33,27 +33,36 @@ namespace TrafficSimulation{
             }
         }
 
-        void HandleInTrigger(){
+        /// <summary>
+        /// Starts preset it not already running
+        /// </summary>
+        private void HandleInTrigger(){
             Debug.Log("In Trigger");
 
             if(this.presetRunning){
                 Debug.Log("Preset already running");
                 return;
             }
-            SpawnCars();
             this.presetRunning = true;
+            SpawnCars();
         }
-        void handleOutTrigger(){
+        /// <summary>
+        /// Ends the preset if it was running
+        /// </summary>
+        private void handleOutTrigger(){
             Debug.Log("Out Trigger");
             if(!this.presetRunning){
                 Debug.Log("Preset wasn´t running, so couldn´t be ended.");
                 return;
             }
-            DespawnCars();
             this.presetRunning = false;
+            DespawnCars();
         }
 
-        void SpawnCars(){
+        /// <summary>
+        /// If Cars are set, they will be spawned on the given positions. If a carSpawner is set, it will be activated
+        /// </summary>
+        private void SpawnCars(){
             if(this.cars == null){
                 Debug.Log("Found no Car Object. Can´t init preset");
                 return;
@@ -67,12 +76,13 @@ namespace TrafficSimulation{
                 this.carSpawner.StartSpawner();
             }
         }
-        void DespawnCars(){
+        /// <summary>
+        /// Each car, used from this preset will be despawned, if set the carspawner will be stopped
+        /// </summary>
+        private void DespawnCars(){
             Debug.Log("despawnCars");
-            foreach (GameObject car in this.activeCars)
-            {
-                this.carPool.despawnCar(car);
-            }
+            this.activeCars.ForEach(car => this.carPool.despawnCar(car));
+            this.activeCars.Clear();
             if(this.carSpawner != null){
                 this.carSpawner.StopSpawner();
             }