private PatronGroup AddGroup() { PatronGroup group = ScriptableObject.CreateInstance <PatronGroup>(); m_patronGroups.Add(group); return(group); }
private void Update() { m_timer += Time.deltaTime; if (m_spawningPatrons && (m_timer >= m_patronSpawnTime)) { float randGroup = Random.Range(0.0f, 100.0f); if (randGroup <= m_patronGroupSpawnChance) { PatronGroup group = ScriptableObject.CreateInstance <PatronGroup>(); group.GenerateGroupSize(m_maxNumberOfPatrons - m_patrons.Count); for (int i = 0; i < group.GroupSize; ++i) { Patron patron = Instantiate(m_patronInstance, m_spawnPoint.position, Quaternion.identity, transform) as Patron; m_patrons.Add(patron); group.AddPatronToGroup(patron); patron.SetGroup(group); } group.SyncMovementSpeed(); } else { Patron patron = Instantiate(m_patronInstance, m_spawnPoint.position, Quaternion.identity, transform) as Patron; m_patrons.Add(patron); } m_timer = 0.0f; Mall.Instance.Population = m_patrons.Count; if (m_patrons.Count == m_maxNumberOfPatrons) { m_spawningPatrons = false; } } if (m_patrons.Count < m_spawnPatronsWhenLessThanThis) { m_spawningPatrons = true; } }
public void SetGroup(PatronGroup group) { m_group = group; }