Exemplo n.º 1
0
 public Part( Part p)
 {
     PartName = p.PartName;
     Title = p.Title;
     Description = p.Description;
     Cost = p.Cost;
     TechRequired = p.TechRequired;
     Category = p.Category;
     Icon = p.Icon;
     ModName = p.ModName;
     _fileName = p.FileName;
 }
        public void PopulateParts(
			PartCollectionViewModel pc,
			TreeType type = TreeType.TechMananger)
        {
            switch (type)
            {
                case TreeType.ATC:
                    foreach (var part in pc.PartCollection)
                    {
                        if (part.TechRequired == TechId)
                        {
                            _parts.Add(part);
                        }
                    }
                    break;

                case TreeType.TechMananger:
                    var partTable = new Dictionary<string, PartViewModel>();

                    foreach (var part in pc.PartCollection)
                    {
                        try
                        {
                            if (!partTable.ContainsKey(part.PartName))
                            {
                                partTable.Add(part.PartName, part);
                            }
                            else
                            {
                                var duplicate = partTable[part.PartName];
                                var existString = String.Format(" - Existing part: {0} ({1})", duplicate.PartName, duplicate.FileName);
                                Logger.Error(
                                             "PartLoader: Error while storing part \"{0}\" " +
                                             "({1}) into PartCollection - {2}{3}",
                                             part.PartName,
                                             part.FileName,
                                             "Part already exists",
                                             existString);
                            }
                        }
                        catch (Exception e)
                        {
                            Logger.Error(
                                         "PartLoader: Error while storing part \"{0}\" " +
                                         "({1}) into PartCollection - {2}",
                                         part.PartName,
                                         part.FileName,
                                         e.Message);
                        }
                    }

                    foreach (var part in _techNode.Parts)
                    {
                        if (partTable.ContainsKey(part))
                        {
                            _parts.Add(partTable[part]);
                            pc.PartCollection.Remove(partTable[part]);
                        }
                        else
                        {
                            var tmpPart = new Part(part)
                                          {
                                              Title = part,
                                              TechRequired = TechId,
                                              Category = "(Unknown)"
                                          };
                            _parts.Add(new PartViewModel(tmpPart));
                        }
                    }
                    break;
            }
        }
Exemplo n.º 3
0
 public PartViewModel(Part part)
 {
     Part = new Part(part);
 }
        public override void PopulateParts(PartCollectionViewModel pc, TechTreeViewModel ttvm)
        {
            // Create and init part table with name => partviewmodel
            var partTable = new Dictionary<string, PartViewModel>();
            foreach (PartViewModel part in pc.PartCollection)
            {
                try
                {
                    if (!partTable.ContainsKey(part.PartName))
                    {
                        partTable.Add(part.PartName, part);
                    }
                    else
                    {
                        var duplicate = partTable[part.PartName];
                        var existString = String.Format(" - Existing part: {0} ({1})", duplicate.PartName, duplicate.FileName);
                        Logger.Error("PartLoader: Error while storing part \"{0}\" " + "({1}) into PartCollection - {2}{3}", part.PartName, part.FileName, "Part already exists", existString);
                    }
                }
                catch (Exception e)
                {
                    Logger.Error("PartLoader: Error while storing part \"{0}\" " + "({1}) into PartCollection - {2}", part.PartName, part.FileName, e.Message);
                }
            }

            foreach( var node in ttvm.TechTree )
            {
                foreach (String part in node.TechNode.Parts)
                {
                    if (partTable.ContainsKey(part))
                    {
                        node.Parts.Add(partTable[part]);
                        pc.PartCollection.Remove(partTable[part]);
                    }
                    else
                    {
                        var tmpPart = new Part(part) { Title = part, TechRequired = node.Id, Category = "(Unknown)" };
                        node.Parts.Add(new PartViewModel(tmpPart));
                    }
                }
            }
        }
Exemplo n.º 5
0
 public PartViewModel()
 {
     Part = new Part();
 }