void spawnNewGroup(RouteScript targetRoute) { List<UnitGroupEnemy> listAvailableGroups = new List<UnitGroupEnemy>(); foreach(GameObject group in unitGroupList) { UnitGroupEnemy temp = group.GetComponent<UnitGroupEnemy>(); if(temp.possibleRoutes.Contains(targetRoute.gameObject.name) && temp.spawnTimeLimit <= TotalSpawnTime) { listAvailableGroups.Add (temp); } } if(listAvailableGroups.Count < 1) { return; } int x = Random.Range (0, listAvailableGroups.Count); while(TotalSpawnTime < listAvailableGroups[x].spawnTimeLimit) { x = Random.Range (0, listAvailableGroups.Count); } //GameObject newgroup = Instantiate(listAvailableGroups[x].gameObject, transform.position, Quaternion.identity) as GameObject; //newgroup.GetComponent<UnitGroupEnemy>().setRoute(targetRoute); StartCoroutine(createNewGroup(listAvailableGroups[x], targetRoute, listAvailableGroups[x].productionTime)); targetRoute.isOccupied = true; }
public void setRoute(RouteScript route) { myRoute = route; foreach(UnitBase unit in myUnitList) { unit.currentRoute = route; } }
IEnumerator createNewGroup(UnitGroupEnemy groupToSpawn, RouteScript targetRoute, float delayTime) { yield return new WaitForSeconds(delayTime); GameObject newgroup = Instantiate(groupToSpawn.gameObject, transform.position, Quaternion.identity) as GameObject; newgroup.GetComponent<UnitGroupEnemy>().setRoute(targetRoute); }
void spawnNewGroup(RouteScript targetRoute) { List <EnemyGroupAttributes> listAvailableGroups = new List <EnemyGroupAttributes>(); foreach (GameObject group in unitGroupList) { EnemyGroupAttributes temp = group.GetComponent <EnemyGroupAttributes>(); if (temp.possibleRoutes.Contains(targetRoute.gameObject.name) && temp.spawnTimeLimit <= TotalSpawnTime) { listAvailableGroups.Add(temp); } } if (listAvailableGroups.Count < 1) { return; } int x = Random.Range(0, listAvailableGroups.Count); while (TotalSpawnTime < listAvailableGroups[x].spawnTimeLimit) { x = Random.Range(0, listAvailableGroups.Count); } StartCoroutine(createNewGroup(listAvailableGroups[x], targetRoute, listAvailableGroups[x].productionTime)); targetRoute.isOccupied = true; }
// Start is called before the first frame update void Start() { ChangeDirection(); StartCoroutine(Whim()); controller = GameObject.Find("GameController").GetComponent <GameController>(); routeScript = GetComponent <RouteScript>(); }
public void setRoute(RouteScript route) { myRoute = route; foreach (UnitBase unit in myUnitList) { unit.currentRoute = route; } }
IEnumerator createNewGroup(EnemyGroupAttributes groupToSpawn, RouteScript targetRoute, float delayTime) { yield return(new WaitForSeconds(delayTime)); GameObject newgroup = Instantiate(groupToSpawn.gameObject, transform.position, Quaternion.identity) as GameObject; newgroup.GetComponent <EnemyGroupAttributes>().routeScript = targetRoute; }
public void Start() { base.Start(); enemyGroupAttributes = transform.parent.GetComponent <EnemyGroupAttributes>(); routeScript = enemyGroupAttributes.routeScript; if (routeScript != null) { currentWayPoint = 0; } }
// Use this for initialization void Start() { m_RouteMaster = GameObject.FindGameObjectWithTag(m_RouteTag); m_GameManager = GameObject.FindGameObjectWithTag("GameController").GetComponent <SMRTGameManager>(); m_RouteComp = m_RouteMaster.GetComponent <RouteScript>(); m_Renderer = gameObject.GetComponent <Renderer>(); m_DistanceTravelled = 0.0f; m_TimeInStation = 0.0f; m_CurrentStationIndex = 0; m_IncreaseToNextStation = true; m_Collidied = false; m_LookAtCache = GetGoToVector().normalized; UpdateTrain(GetCurrentStation(), GetGoToVector()); }
private void Awake() { //Find Object (for Prefab) GameController = GameObject.Find("GameController"); player = GameObject.Find("Player").transform; controller = GameController.GetComponent <GameController>(); TargetObj1 = Instantiate(TargetPrefab, transform.position, Quaternion.identity); TargetObj1.transform.parent = GameObject.Find("Target").transform; //TargetObj1.GetComponent<Renderer>().material.color = Color.blue; TargetObj2 = Instantiate(TargetPrefab, transform.position, Quaternion.identity); TargetObj2.transform.parent = GameObject.Find("Target").transform; //TargetObj2.GetComponent<Renderer>().material.color = Color.red; routeScript = gameObject.GetComponent <RouteScript>(); //Debug.Log("routeScript" + routeScript.ToString()); }
void spawnNewGroup(RouteScript targetRoute) { List<EnemyGroupAttributes> listAvailableGroups = new List<EnemyGroupAttributes>(); foreach(GameObject group in unitGroupList) { EnemyGroupAttributes temp = group.GetComponent<EnemyGroupAttributes>(); if(temp.possibleRoutes.Contains(targetRoute.gameObject.name) && temp.spawnTimeLimit <= TotalSpawnTime) { listAvailableGroups.Add (temp); } } if(listAvailableGroups.Count < 1) { return; } int x = Random.Range (0, listAvailableGroups.Count); while(TotalSpawnTime < listAvailableGroups[x].spawnTimeLimit) { x = Random.Range (0, listAvailableGroups.Count); } StartCoroutine(createNewGroup(listAvailableGroups[x], targetRoute, listAvailableGroups[x].productionTime)); targetRoute.isOccupied = true; }
public void Start() { base.Start(); enemyGroupAttributes = transform.parent.GetComponent<EnemyGroupAttributes>(); routeScript = enemyGroupAttributes.routeScript; if(routeScript != null) { currentWayPoint = 0; } }