Exemplo n.º 1
0
    private PatronGroup AddGroup()
    {
        PatronGroup group = ScriptableObject.CreateInstance <PatronGroup>();

        m_patronGroups.Add(group);

        return(group);
    }
Exemplo n.º 2
0
    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;
        }
    }
Exemplo n.º 3
0
 public void SetGroup(PatronGroup group)
 {
     m_group = group;
 }