Esempio n. 1
0
        internal void ReloadVehicle()
        {
            m_middleBar.isVisible = !(CurrentVehicleInfo is null);
            m_containerSelectionDescription.isVisible = !(CurrentVehicleInfo is null);
            if (!(CurrentVehicleInfo is null))
            {
                WTSVehicleTextsSingleton.GetTargetDescriptor(CurrentVehicleInfo.name, out ConfigurationSource source, out LayoutDescriptorVehicleXml target);
                m_labelSelectionDescription.text   = (CurrentVehicleInfo.name?.EndsWith("_Data") ?? false) ? Locale.Get("VEHICLE_TITLE", CurrentVehicleInfo.name) + "\n" : $"{CurrentVehicleInfo.name}\n";
                m_labelSelectionDescription.suffix = $"{Locale.Get("K45_WTS_CURRENTLY_USING")}: {Locale.Get("K45_WTS_CONFIGURATIONSOURCE", source.ToString())}";
                EditingInstance            = target;
                CurrentConfigurationSource = source;
                EventOnVehicleSelectionChanged?.Invoke(EditingInstance, CurrentConfigurationSource);

                m_btnNew.isVisible        = CurrentConfigurationSource != ConfigurationSource.CITY;
                m_btnCopyToCity.isVisible = CurrentConfigurationSource != ConfigurationSource.CITY && CurrentConfigurationSource != ConfigurationSource.NONE;
                m_btnDelete.isVisible     = CurrentConfigurationSource == ConfigurationSource.CITY;
                m_btnExport.isVisible     = CurrentConfigurationSource == ConfigurationSource.CITY;
                m_btnSteam.isVisible      = CurrentConfigurationSource == ConfigurationSource.CITY && CurrentVehicleInfo.name.EndsWith("_Data");
                OnTabChange(0);
            }
            m_editArea.isVisible     = !(CurrentVehicleInfo is null) && CurrentConfigurationSource == ConfigurationSource.CITY;
            m_cantEditText.isVisible = CurrentConfigurationSource == ConfigurationSource.ASSET || CurrentConfigurationSource == ConfigurationSource.GLOBAL;
            m_plusButton.isVisible   = !(CurrentVehicleInfo is null) && CurrentConfigurationSource == ConfigurationSource.CITY;
            m_editTabstrip.isVisible = !(CurrentVehicleInfo is null) && CurrentConfigurationSource != ConfigurationSource.NONE;
            m_btnCopy.isVisible      = !(CurrentVehicleInfo is null);
            m_btnPaste.isVisible     = m_clipboard != null && CurrentConfigurationSource == ConfigurationSource.CITY;
        }
Esempio n. 2
0
        private void ExportTo(string output)
        {
            if (!(CurrentVehicleInfo is null))
            {
                var assetId             = CurrentVehicleInfo.name.Split('.')[0] + ".";
                var descriptorsToExport = new List <LayoutDescriptorVehicleXml>();
                foreach (string assetName in VehiclesIndexes.instance.PrefabsLoaded
                         .Where((x) => x.Value.name.StartsWith(assetId) || x.Value.name == CurrentVehicleInfo.name)
                         .Select(x => x.Value.name))
                {
                    WTSVehicleTextsSingleton.GetTargetDescriptor(assetName, out _, out LayoutDescriptorVehicleXml target);
                    if (target != null)
                    {
                        target.VehicleAssetName = assetName;
                        descriptorsToExport.Add(target);
                    }
                }
                if (descriptorsToExport.Count > 0)
                {
                    var exportableLayouts = new ExportableLayoutDescriptorVehicleXml
                    {
                        Descriptors = descriptorsToExport.ToArray()
                    };
                    File.WriteAllText(output, XmlUtils.DefaultXmlSerialize(exportableLayouts));

                    WriteTheSignsMod.Controller?.VehicleTextsSingleton?.LoadAllVehiclesConfigurations();
                }
            }
        }