Пример #1
0
        public void Load(string fileName)
        {
            using (Stream stream = File.Open(fileName, FileMode.Open))
            {

                var bformatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();

                List<InteractiveModel> salesman = (List<InteractiveModel>)bformatter.Deserialize(stream);
                listBox2.DataSource = null;
                if(salesman==CreatorController.models)
                {
                    return;
                }
                foreach(InteractiveModel model in salesman)
                {

                switch(model.GetType().Name)
                {
                    case "AntPeasant":
                       AntPeasant p = new AntPeasant(null);
                     p.Model = new LoadModel(CreatorController.content.Load<Model>("Models/ant"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device,CreatorController.content);
                     p.Model.switchAnimation("Idle");
                     CreatorController.models.Add(p);
                     _items.Add(p.ToString());

                        break;
                    case "Log":

                           Log g = new Log(null,((Log)model).ClusterSize);
                           g.Model = new LoadModel(CreatorController.content.Load<Model>("Models/apple_pack"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device);

                     CreatorController.models.Add(g);
                     _items.Add(g.ToString());

                        break;
                    case "Rock":

                           Rock q = new Rock(null,((Rock)model).ClusterSize);
                           q.Model = new LoadModel(CreatorController.content.Load<Model>("Models/stone2"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device);

                     CreatorController.models.Add(q);
                     _items.Add(q.ToString());

                        break;
                    case "BuildingPlace":

                        BuildingPlace w = new BuildingPlace(null);
                        w.Model = new LoadModel(CreatorController.content.Load<Model>("Models/buildRing"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device);

                        CreatorController.models.Add(w);
                        _items.Add(w.ToString());

                        break;
                    case "AntGranary":

                        AntGranary ad = new AntGranary(null);
                        ad.Model = new LoadModel(CreatorController.content.Load<Model>("Models/buildingPlace"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device);

                        CreatorController.models.Add(ad);
                        _items.Add(ad.ToString());

                        break;

                    case "TownCenter":

                        Logic.Building.AntBuildings.TownCenter ag = new Logic.Building.AntBuildings.TownCenter(null);
                        ag.Model = new LoadModel(CreatorController.content.Load<Model>("Models/buildingPlace"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device);

                        CreatorController.models.Add(ag);
                        _items.Add(ag.ToString());

                        break;
                    case "Spider":

                        Spider s = new Spider(new LoadModel(CreatorController.content.Load<Model>("Models//spider"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device, CreatorController.content));
                        s.Model.switchAnimation("Idle");
                        CreatorController.models.Add(s);
                        _items.Add(s.ToString());

                        break;
                    case "Tree":

                        Tree t = new Tree(null);
                        t.Model = new LoadModel(CreatorController.content.Load<Model>("Models//tree1"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device);

                        CreatorController.models.Add(t);
                        _items.Add(t.ToString());

                        break;
                    case "Tree2":

                        Tree2 t2 = new Tree2(null);
                        t2.Model = new LoadModel(CreatorController.content.Load<Model>("Models//tree2"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device);

                        CreatorController.models.Add(t2);
                        _items.Add(t2.ToString());

                        break;

                    case "Cone":

                        Cone c = new Cone(null);
                        c.Model = new LoadModel(CreatorController.content.Load<Model>("Models//Szyszka1"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device);

                        CreatorController.models.Add(c);
                        _items.Add(c.ToString());

                        break;
                    case "Cone1":

                        Cone1 c2 = new Cone1(null);
                        c2.Model = new LoadModel(CreatorController.content.Load<Model>("Models//Szyszka2"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device);

                        CreatorController.models.Add(c2);
                        _items.Add(c2.ToString());

                        break;
                    case "Grass":

                        Grass gr = new Grass(null);
                        gr.Model = new LoadModel(CreatorController.content.Load<Model>("Models//grass3d"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device);

                        CreatorController.models.Add(gr);
                        _items.Add(gr.ToString());

                        break;
                    case "Beetle":

                        Beetle bt = new Beetle(new LoadModel(CreatorController.content.Load<Model>("Models//beetle"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device,CreatorController.content));
                        bt.Model.switchAnimation("Idle");
                        CreatorController.models.Add(bt);
                        _items.Add(bt.ToString());

                        break;

                    case "GrassHopper":

                        //GrassH konik = new Beetle(new LoadModel(CreatorController.content.Load<Model>("Models//beetle"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device, CreatorController.content));
                        GrassHopper konik = new GrassHopper(new LoadModel(CreatorController.content.Load<Model>("Models//grasshopper"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device, CreatorController.content));
                        konik.Model.switchAnimation("Idle");
                        CreatorController.models.Add(konik);
                        _items.Add(konik.ToString());

                        break;
                    case "Queen" :

                        Queen queen = new Queen(new LoadModel(CreatorController.content.Load<Model>("Models//queen"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device, CreatorController.content));
                        queen.Model.switchAnimation("Idle");
                        CreatorController.models.Add(queen);
                        _items.Add(queen.ToString());
                        break;

                    case "AntSpitter":

                        AntSpitter spitter = new AntSpitter(new LoadModel(CreatorController.content.Load<Model>("Models//plujka"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device, CreatorController.content));
                        spitter.Model.switchAnimation("Idle");
                        CreatorController.models.Add(spitter);
                        _items.Add(spitter.ToString());
                        break;
                    case "StrongAnt":

                        AntSpitter strongAnt = new AntSpitter(new LoadModel(CreatorController.content.Load<Model>("Models//strongAnt"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device, CreatorController.content));
                        strongAnt.Model.switchAnimation("Idle");
                        CreatorController.models.Add(strongAnt);
                        _items.Add(strongAnt.ToString());
                        break;
                    case "GrassHopperBuilding":

                        GrassHopperBuilding ghb = new GrassHopperBuilding(new LoadModel(CreatorController.content.Load<Model>("Models/h3"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device));
                        CreatorController.models.Add(ghb);
                        _items.Add(ghb.ToString());

                        break;
                    case "BeetleBuilding":

                        BeetleBuilding bb = new BeetleBuilding(new LoadModel(CreatorController.content.Load<Model>("Models/h4"), model.Model.Position, model.Model.Rotation, model.Model.Scale, CreatorController.device));
                        CreatorController.models.Add(bb);
                        _items.Add(bb.ToString());

                        break;

                }

            }
                listBox2.DataSource = _items;
            }
        }