// Use this for initialization void Awake() { // Destroy if trial manager already exists if (GameObject.FindGameObjectsWithTag("TrialManager").Length > 1) { Destroy(gameObject); } DontDestroyOnLoad(this.gameObject); groupFormationToTestSetting = groupFormationToTest; useDeltaTimeSetting = useDeltaTime; }
// Use this for initialization void Start() { if (spawnFormation == groupFormation.Random) { spawnFormation = (groupFormation)Random.Range(1, 3); } int pedestrianInitialID = 0; // Quick fix for spawner facing other way if (transform.rotation.y == 1) { pedestrianInitialID += 3; spacing_z = -spacing_z; } if (spawnFormation == groupFormation.Trial) { spawnFormation = TrialManager.groupFormationToTestSetting; } switch (spawnFormation) { case groupFormation.Concave_V: Rigidbody concavepedestrianClone = (Rigidbody)Instantiate(pedestrian, new Vector3(transform.position.x, transform.position.y, transform.position.z - spacing_z), transform.rotation); concavepedestrianClone.gameObject.GetComponent <PedestrianMovement>().pedestrianID = pedestrianInitialID; Rigidbody concavepedestrianClone2 = (Rigidbody)Instantiate(pedestrian, new Vector3(transform.position.x + spacing_x, transform.position.y, transform.position.z), transform.rotation); concavepedestrianClone2.gameObject.GetComponent <PedestrianMovement>().pedestrianID = pedestrianInitialID + 1; Rigidbody concavepedestrianClone3 = (Rigidbody)Instantiate(pedestrian, new Vector3(transform.position.x - spacing_x, transform.position.y, transform.position.z), transform.rotation); concavepedestrianClone3.gameObject.GetComponent <PedestrianMovement>().pedestrianID = pedestrianInitialID + 2; break; case groupFormation.Convex_V: Rigidbody convexPedestrianClone = (Rigidbody)Instantiate(pedestrian, transform.position, transform.rotation); convexPedestrianClone.gameObject.GetComponent <PedestrianMovement>().pedestrianID = pedestrianInitialID; Rigidbody convexPedestrianClone2 = (Rigidbody)Instantiate(pedestrian, new Vector3(transform.position.x + spacing_x, transform.position.y, transform.position.z - spacing_z), transform.rotation); convexPedestrianClone2.gameObject.GetComponent <PedestrianMovement>().pedestrianID = pedestrianInitialID + 1; Rigidbody convexPedestrianClone3 = (Rigidbody)Instantiate(pedestrian, new Vector3(transform.position.x - spacing_x, transform.position.y, transform.position.z - spacing_z), transform.rotation); convexPedestrianClone3.gameObject.GetComponent <PedestrianMovement>().pedestrianID = pedestrianInitialID + 2; break; case groupFormation.Side_By_Side: Rigidbody sidePedestrianClone = (Rigidbody)Instantiate(pedestrian, transform.position, transform.rotation); sidePedestrianClone.gameObject.GetComponent <PedestrianMovement>().pedestrianID = pedestrianInitialID; Rigidbody sidePedestrianClone2 = (Rigidbody)Instantiate(pedestrian, new Vector3(transform.position.x + spacing_x, transform.position.y, transform.position.z), transform.rotation); sidePedestrianClone2.gameObject.GetComponent <PedestrianMovement>().pedestrianID = pedestrianInitialID + 1; Rigidbody sidePedestrianClone3 = (Rigidbody)Instantiate(pedestrian, new Vector3(transform.position.x - spacing_x, transform.position.y, transform.position.z), transform.rotation); sidePedestrianClone3.gameObject.GetComponent <PedestrianMovement>().pedestrianID = pedestrianInitialID + 2; break; } Destroy(gameObject); }