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; } }