Exemplo n.º 1
0
        private void LoadContent(
            StringReader mbg,
            uint bulletEmitterCount,
            uint lazerEmitterCount,
            uint maskEmitterCount,
            uint reflexBoardCount,
            uint forceFieldCount)
        {
            var linkers = new List <Action>();

            BulletEmitters = new List <BulletEmitter>();
            for (uint i = 0; i < bulletEmitterCount; ++i)
            {
                var result = BulletEmitter.ParseFrom(mbg.ReadLine(), this);
                linkers.Add(result.Item2);
                BulletEmitters.Add(result.Item1);
            }


            LazerEmitters = new List <LazerEmitter>();
            for (uint i = 0; i < lazerEmitterCount; ++i)
            {
                var result = LazerEmitter.ParseFrom(mbg.ReadLine(), this);
                linkers.Add(result.Item2);
                LazerEmitters.Add(result.Item1);
            }

            Masks = new List <Mask>();
            for (uint i = 0; i < maskEmitterCount; ++i)
            {
                var result = Mask.ParseFrom(mbg.ReadLine(), this);
                linkers.Add(result.Item2);
                Masks.Add(result.Item1);
            }

            ReflexBoards = new List <ReflexBoard>();
            for (uint i = 0; i < reflexBoardCount; ++i)
            {
                ReflexBoards.Add(ReflexBoard.ParseFrom(mbg.ReadLine()));
            }

            ForceFields = new List <ForceField>();
            for (uint i = 0; i < forceFieldCount; ++i)
            {
                ForceFields.Add(ForceField.ParseFrom(mbg.ReadLine()));
            }

            foreach (var l in linkers)
            {
                l();
            }
        }