Beispiel #1
0
        public override MyObjectBuilder_DefinitionBase GetObjectBuilder()
        {
            MyObjectBuilder_BarbarianWaveEventDefinition objectBuilder = base.GetObjectBuilder() as MyObjectBuilder_BarbarianWaveEventDefinition;

            objectBuilder.Waves = new MyObjectBuilder_BarbarianWaveEventDefinition.WaveDef[this.m_waves.Count];
            int index = 0;

            foreach (KeyValuePair <int, Wave> pair in this.m_waves)
            {
                MyObjectBuilder_BarbarianWaveEventDefinition.WaveDef def = new MyObjectBuilder_BarbarianWaveEventDefinition.WaveDef {
                    Day  = pair.Key,
                    Bots = new MyObjectBuilder_BarbarianWaveEventDefinition.BotDef[pair.Value.Bots.Count]
                };
                int num2 = 0;
                foreach (MyDefinitionId id in pair.Value.Bots)
                {
                    def.Bots[num2] = new MyObjectBuilder_BarbarianWaveEventDefinition.BotDef {
                        SubtypeName = id.SubtypeName
                    };
                    num2++;
                }
                objectBuilder.Waves[index] = def;
                index++;
            }
            return(objectBuilder);
        }
 public Wave(MyObjectBuilder_BarbarianWaveEventDefinition.WaveDef waveOb)
 {
     foreach (var botDef in waveOb.Bots)
     {
         MyObjectBuilderType botType;
         if (!MyObjectBuilderType.TryParse(botDef.TypeName, out botType))
             botType = typeof(MyObjectBuilder_HumanoidBot);
         Bots.Add(new MyDefinitionId(botType, botDef.SubtypeName));
     }
 }