private void RegisterCitizenConfig(CitizenAssetFolderRuleXml config, CitizenInfo info)
 {
     if (config.AssetName?.Split(new char[] { '.' }, 2)?[1] == info.name?.Split(new char[] { '.' }, 2)?[1])
     {
         config.AssetName = info.name;
         config.Source    = RuleSource.ASSET;
         m_colorConfigDataCitizens[info.name] = config;
     }
 }
Ejemplo n.º 2
0
 private void OnExportLocal() => SafeObtain((ref CitizenCityDataRuleXml x) =>
 {
     FileUtils.EnsureFolderCreation(ACEController.FOLDER_PATH_GENERAL_CONFIG);
     string filename          = Path.Combine(ACEController.FOLDER_PATH_GENERAL_CONFIG, ACELoadedDataContainer.DEFAULT_XML_NAME_CITIZEN);
     string currentDataSerial = GetRuleSerialized();
     CitizenAssetFolderRuleXml asAssetRule = XmlUtils.DefaultXmlDeserialize <CitizenAssetFolderRuleXml>(currentDataSerial);
     ACERulesetContainer <CitizenAssetFolderRuleXml> container = File.Exists(filename) ? XmlUtils.DefaultXmlDeserialize <ACERulesetContainer <CitizenAssetFolderRuleXml> >(File.ReadAllText(filename)) : new ACERulesetContainer <CitizenAssetFolderRuleXml>();
     container.m_dataArray = container.m_dataArray.Where(y => y.AssetName != asAssetRule.AssetName).Union(new CitizenAssetFolderRuleXml[] { asAssetRule }).ToArray();
     File.WriteAllText(filename, XmlUtils.DefaultXmlSerialize(container));
 }
                                            );
Ejemplo n.º 3
0
 private void OnExport() => SafeObtain((ref CitizenCityDataRuleXml x) => FileUtils.DoInPrefabFolder(x.AssetName,
                                                                                                    (folder) =>
 {
     string currentDataSerial = GetRuleSerialized();
     CitizenAssetFolderRuleXml asAssetRule = XmlUtils.DefaultXmlDeserialize <CitizenAssetFolderRuleXml>(currentDataSerial);
     var container = new ACERulesetContainer <CitizenAssetFolderRuleXml>
     {
         m_dataArray = new CitizenAssetFolderRuleXml[]
         {
             asAssetRule
         }
     };
     string targetData = XmlUtils.DefaultXmlSerialize(container);
     File.WriteAllText(Path.Combine(folder, ACELoadedDataContainer.DEFAULT_XML_NAME_CITIZEN), targetData);
 })
                                       );