Example #1
0
        private Dictionary <int, List <FleetTemplate> > GetFleetTemplatesByFactionId(IDbConnection connection,
                                                                                     Dictionary <int, List <ShipTemplate> > factionShipMap,
                                                                                     Dictionary <int, List <int> > fleetShipMap)
        {
            Dictionary <int, List <FleetTemplate> > factionTemplateMap =
                new Dictionary <int, List <FleetTemplate> >();
            IDbCommand command = connection.CreateCommand();

            command.CommandText = "SELECT * FROM FleetTemplate";
            var reader = command.ExecuteReader();

            while (reader.Read())
            {
                int    id        = reader.GetInt32(0);
                int    factionId = reader.GetInt32(1);
                string name      = reader[2].ToString();

                List <ShipTemplate> baseList = factionShipMap[factionId];
                List <ShipTemplate> fleetShipTemplateList = new List <ShipTemplate>();
                foreach (int shipTemplateId in fleetShipMap[id])
                {
                    fleetShipTemplateList.Add(baseList.First(st => st.Id == shipTemplateId));
                }

                FleetTemplate fleetTemplate = new FleetTemplate(id, name, fleetShipTemplateList);
                if (!factionTemplateMap.ContainsKey(factionId))
                {
                    factionTemplateMap[factionId] = new List <FleetTemplate>();
                }
                factionTemplateMap[factionId].Add(fleetTemplate);
            }
            return(factionTemplateMap);
        }
Example #2
0
        public void Serialize_Deserialize()
        {
            FleetTemplate fleetTemplate = new FleetTemplate();

            fleetTemplate.Add(new AGVTemplate()
            {
                IPV4String = "192.168.0.1", PoseDataString = "0,0,90"
            });
            fleetTemplate.Add(new AGVTemplate()
            {
                IPV4String = "192.168.0.2", PoseDataString = "10,0,90"
            });

            string json = fleetTemplate.ToJson();

            Assert.IsNotNull(json);

            string filePath = Path.GetTempFileName();

            File.WriteAllText(filePath, json);

            FleetTemplate fleetTemplateLoaded = JsonFactory.FleetTemplateFromFile(filePath);

            Assert.IsNotNull(fleetTemplateLoaded);
            CollectionAssert.IsNotEmpty(fleetTemplateLoaded.AGVTemplates);
        }
        private void HandleLoad()
        {
            OpenFileDialog dialog = DialogFactory.GetOpenJsonDialog();

            if (dialog.ShowDialog() == true)
            {
                FleetTemplate parsedTemplate = JsonFactory.FleetTemplateFromFile(dialog.FileName);

                if (parsedTemplate != null)
                {
                    if (Model != null)
                    {
                        Model.FleetTemplate = parsedTemplate;
                    }

                    TemplateUpdatedMessage message = new TemplateUpdatedMessage(parsedTemplate);
                    Messenger.Default.Send(message);
                }
            }
        }
Example #4
0
 public TemplateUpdatedMessage(FleetTemplate fleetTemplate)
 {
     FleetTemplate = fleetTemplate;
 }