public SpawnType(SpawnType type)
 {
     objectType = type.objectType;
     objectName = type.objectName;
     appearanceRate = type.appearanceRate;
 }
        public SpawnerGroup(Spawner[] spawners, SpawnType[] spawnTypes)
        {
            m_spawners = spawners;
            m_spawnTypes = spawnTypes;

            Gene[] genes = new Gene[spawners.Length];
            for(int i = 0; i < m_spawners.Length; ++i)
                genes[i] = m_spawners[i].Gene;
            m_chromosome = new Chromosome(genes);

            float totalAppearanceRates = 0;
            for (int i = 0; i < spawnTypes.Length; ++i)
                totalAppearanceRates += m_spawnTypes[i].appearanceRate;
            m_spawnTypes[0].appearanceRate = m_spawnTypes[0].appearanceRate / totalAppearanceRates;
            for (int i = 1; i < spawnTypes.Length; ++i)
                m_spawnTypes[i].appearanceRate = m_spawnTypes[i].appearanceRate / totalAppearanceRates + m_spawnTypes[i - 1].appearanceRate;

            #if DEBUG
            string debugstring = "Ratios : ";

            for (int i = 0; i < spawnTypes.Length; ++i)
                debugstring += " " + m_spawnTypes[i].appearanceRate / totalAppearanceRates;

            #endif
        }
 public SpawnerGroup(SpawnerGroup groupToCopy)
 {
     m_spawners = new Spawner[groupToCopy.m_spawners.Length];
     for (int i = 0; i < m_spawners.Length; ++i)
         m_spawners[i] = new Spawner(groupToCopy.m_spawners[i]);
     m_spawnTypes = new SpawnType[groupToCopy.m_spawnTypes.Length];
     for (int i = 0; i < m_spawnTypes.Length; ++i)
         m_spawnTypes[i] = new SpawnType(groupToCopy.m_spawnTypes[i]);
 }