private void SpawnMans(GameObject placeholder, GameObject manager, GameObject squadParent) { GameObject spawnedMan = Instantiate(manType, placeholder.transform.position, placeholder.transform.rotation); spawnedMan.transform.SetParent(squadParent.transform); placeholder.GetComponent <PlaceHolderInfo>().PlaceholderObject = spawnedMan; placeholder.GetComponent <PlaceHolderInfo>().Empty = false; InvokeRepeating("UpdateStatus", 0.0f, 0.01f); SquadMemberManager manSettings = spawnedMan.GetComponent <SquadMemberManager>(); manSettings.SetMyManager(manager); manSettings.Team = secondInfo.Team; manSettings.Setup(manSpawnTime); }
public void UpdateSquadMembers() //updates members and sets up manager { SquadMembers.Clear(); GameObject squadParent = null; float squadSpeedTemp = 100000f; //declare a temp speed foreach (var go in GetComponentsInChildren <Transform>()) { if (go.name == "SquadMembers") { squadParent = go.gameObject; } } foreach (var member in squadParent.GetComponentsInChildren <Transform>()) { if (member.GetComponent <SquadMemberManager>() != null) { SquadMembers.Add(member.gameObject); } } int i = 0; foreach (var member in SquadMembers) //search for slowest man in squaad and setup members { SquadMemberManager memberManager = member.GetComponent <SquadMemberManager>(); if (memberManager.speed < squadSpeedTemp) //is it slower than others? { squadSpeedTemp = memberManager.speed; } memberManager.SetPlaceholder(Placeholders[i]); //set default positin memberManager.GoPosition(); //send him to position memberManager.Team = Team; memberManager.SetMyManager(gameObject); //set his manager i++; } SetSquadSpeed(squadSpeedTemp); //set everyones speed to slowest man in squad SetSquadTeam(Team); manCount = squadMembers.Count; Alive = true; }