From 26dfebf1849c4505f9319deba6fb0a6607006cbe Mon Sep 17 00:00:00 2001 From: Danielle Church Date: Tue, 12 Jan 2021 01:42:07 -0500 Subject: [PATCH 1/2] Updating SatisfactorySaveEditor and SatisfactorySaveParser to .NET 5 and SDK-style csproj files --- SatisfactorySaveEditor/App.config | 3 - .../Cheats/CrateSummonCheat.cs | 1 - .../Cheats/KillPlayersCheat.cs | 1 - .../Cheats/MassDismantleWindow.xaml.cs | 1 - .../Model/SaveEntityModel.cs | 1 - SatisfactorySaveEditor/NLog.xsd | 3638 ----------------- .../SatisfactorySaveEditor.csproj | 439 +- .../View/Control/Vector2Control.xaml.cs | 3 +- .../View/Control/Vector3Control.xaml.cs | 3 +- .../View/Control/Vector4Control.xaml.cs | 3 +- SatisfactorySaveEditor/packages.config | 15 - .../SatisfactorySaveParser.csproj | 133 +- SatisfactorySaveParser/packages.config | 5 - 13 files changed, 71 insertions(+), 4175 deletions(-) delete mode 100644 SatisfactorySaveEditor/NLog.xsd delete mode 100644 SatisfactorySaveEditor/packages.config delete mode 100644 SatisfactorySaveParser/packages.config diff --git a/SatisfactorySaveEditor/App.config b/SatisfactorySaveEditor/App.config index 601c1414..4957157c 100644 --- a/SatisfactorySaveEditor/App.config +++ b/SatisfactorySaveEditor/App.config @@ -5,9 +5,6 @@
- - - diff --git a/SatisfactorySaveEditor/Cheats/CrateSummonCheat.cs b/SatisfactorySaveEditor/Cheats/CrateSummonCheat.cs index d050dc95..a3e41ff6 100644 --- a/SatisfactorySaveEditor/Cheats/CrateSummonCheat.cs +++ b/SatisfactorySaveEditor/Cheats/CrateSummonCheat.cs @@ -4,7 +4,6 @@ using SatisfactorySaveParser.PropertyTypes; using SatisfactorySaveParser.PropertyTypes.Structs; using SatisfactorySaveParser.Structures; -using System.Numerics; using System.Windows; namespace SatisfactorySaveEditor.Cheats diff --git a/SatisfactorySaveEditor/Cheats/KillPlayersCheat.cs b/SatisfactorySaveEditor/Cheats/KillPlayersCheat.cs index f8b2e4b5..8abe913e 100644 --- a/SatisfactorySaveEditor/Cheats/KillPlayersCheat.cs +++ b/SatisfactorySaveEditor/Cheats/KillPlayersCheat.cs @@ -4,7 +4,6 @@ using SatisfactorySaveParser.PropertyTypes; using SatisfactorySaveParser.PropertyTypes.Structs; using SatisfactorySaveParser.Structures; -using System.Numerics; using System.Windows; namespace SatisfactorySaveEditor.Cheats diff --git a/SatisfactorySaveEditor/Cheats/MassDismantleWindow.xaml.cs b/SatisfactorySaveEditor/Cheats/MassDismantleWindow.xaml.cs index f40a89dd..b6936693 100644 --- a/SatisfactorySaveEditor/Cheats/MassDismantleWindow.xaml.cs +++ b/SatisfactorySaveEditor/Cheats/MassDismantleWindow.xaml.cs @@ -2,7 +2,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Numerics; using System.Text; using System.Threading.Tasks; using System.Windows; diff --git a/SatisfactorySaveEditor/Model/SaveEntityModel.cs b/SatisfactorySaveEditor/Model/SaveEntityModel.cs index e518f511..0a3db38d 100644 --- a/SatisfactorySaveEditor/Model/SaveEntityModel.cs +++ b/SatisfactorySaveEditor/Model/SaveEntityModel.cs @@ -1,6 +1,5 @@ using SatisfactorySaveParser; using SatisfactorySaveParser.Structures; -using System.Numerics; namespace SatisfactorySaveEditor.Model { diff --git a/SatisfactorySaveEditor/NLog.xsd b/SatisfactorySaveEditor/NLog.xsd deleted file mode 100644 index 578682a8..00000000 --- a/SatisfactorySaveEditor/NLog.xsd +++ /dev/null @@ -1,3638 +0,0 @@ - - - - - - - - - - - - - - - Watch config file for changes and reload automatically. - - - - - Print internal NLog messages to the console. Default value is: false - - - - - Print internal NLog messages to the console error output. Default value is: false - - - - - Write internal NLog messages to the specified file. - - - - - Log level threshold for internal log messages. Default value is: Info. - - - - - Global log level threshold for application log messages. Messages below this level won't be logged. - - - - - Throw an exception when there is an internal error. Default value is: false. Not recommend to set to true in production! - - - - - Throw an exception when there is a configuration error. If not set, determined by throwExceptions. - - - - - Gets or sets a value indicating whether Variables should be kept on configuration reload. Default value is: false. - - - - - Write internal NLog messages to the System.Diagnostics.Trace. Default value is: false. - - - - - Write timestamps for internal NLog messages. Default value is: true. - - - - - Use InvariantCulture as default culture instead of CurrentCulture. Default value is: false. - - - - - Perform message template parsing and formatting of LogEvent messages (true = Always, false = Never, empty = Auto Detect). Default value is: empty. - - - - - - - - - - - - - - Make all targets within this section asynchronous (creates additional threads but the calling thread isn't blocked by any target writes). - - - - - - - - - - - - - - - - - Prefix for targets/layout renderers/filters/conditions loaded from this assembly. - - - - - Load NLog extensions from the specified file (*.dll) - - - - - Load NLog extensions from the specified assembly. Assembly name should be fully qualified. - - - - - - - - - - Filter on the name of the logger. May include wildcard characters ('*' or '?'). - - - - - Comma separated list of levels that this rule matches. - - - - - Minimum level that this rule matches. - - - - - Maximum level that this rule matches. - - - - - Level that this rule matches. - - - - - Comma separated list of target names. - - - - - Ignore further rules if this one matches. - - - - - Enable this rule. Note: disabled rules aren't available from the API. - - - - - Rule identifier to allow rule lookup with Configuration.FindRuleByName and Configuration.RemoveRuleByName. - - - - - - - - - - - - - - - Default action if none of the filters match. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the file to be included. You could use * wildcard. The name is relative to the name of the current config file. - - - - - Ignore any errors in the include file. - - - - - - - - Variable value. Note, the 'value' attribute has precedence over this one. - - - - - - Variable name. - - - - - Variable value. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Number of log events that should be processed in a batch by the lazy writer thread. - - - - - Whether to use the locking queue, instead of a lock-free concurrent queue The locking queue is less concurrent when many logger threads, but reduces memory allocation - - - - - Limit of full s to write before yielding into Performance is better when writing many small batches, than writing a single large batch - - - - - Action to be taken when the lazy writer thread request queue count exceeds the set limit. - - - - - Limit on the number of requests in the lazy writer thread request queue. - - - - - Time in milliseconds to sleep between batches. (1 or less means trigger on new activity) - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - - - - Delay the flush until the LogEvent has been confirmed as written - - - - - Condition expression. Log events who meet this condition will cause a flush on the wrapped target. - - - - - Only flush when LogEvent matches condition. Ignore explicit-flush, config-reload-flush and shutdown-flush - - - - - Name of the target. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Number of log events to be buffered. - - - - - Timeout (in milliseconds) after which the contents of buffer will be flushed if there's no write in the specified period of time. Use -1 to disable timed flushes. - - - - - Action to take if the buffer overflows. - - - - - Indicates whether to use sliding timeout. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Encoding to be used. - - - - - Instance of that is used to format log messages. - - - - - End of line value if a newline is appended at the end of log message . - - - - - Maximum message size in bytes. - - - - - Indicates whether to append newline at the end of log message. - - - - - Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP. - - - - - Network address. - - - - - Size of the connection cache (number of connections which are kept alive). - - - - - The number of seconds a connection will remain idle before the first keep-alive probe is sent - - - - - Maximum queue size. - - - - - Maximum current connections. 0 = no maximum. - - - - - Action that should be taken if the will be more connections than . - - - - - Action that should be taken if the message is larger than maxMessageSize. - - - - - Indicates whether to keep connection open whenever possible. - - - - - NDLC item separator. - - - - - Indicates whether to include source info (file name and line number) in the information sent over the network. - - - - - Renderer for log4j:event logger-xml-attribute (Default ${logger}) - - - - - Indicates whether to include NLog-specific extensions to log4j schema. - - - - - Indicates whether to include contents of the stack. - - - - - Indicates whether to include stack contents. - - - - - Indicates whether to include dictionary contents. - - - - - Indicates whether to include dictionary contents. - - - - - Indicates whether to include call site (class and method name) in the information sent over the network. - - - - - Option to include all properties from the log events - - - - - AppInfo field. By default it's the friendly name of the current AppDomain. - - - - - NDC item separator. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Layout that should be use to calculate the value for the parameter. - - - - - Viewer parameter name. - - - - - Whether an attribute with empty value should be included in the output - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Text to be rendered. - - - - - Header. - - - - - Footer. - - - - - Indicates whether to auto-check if the console is available. - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App) - - - - - Enables output using ANSI Color Codes - - - - - The encoding for writing messages to the . - - - - - Indicates whether the error stream (stderr) should be used instead of the output stream (stdout). - - - - - Indicates whether to auto-flush after - - - - - Indicates whether to auto-check if the console has been redirected to file - Disables coloring logic when System.Console.IsOutputRedirected = true - - - - - Indicates whether to use default row highlighting rules. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Condition that must be met in order to set the specified foreground and background color. - - - - - Background color. - - - - - Foreground color. - - - - - - - - - - - - - - - - - Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used. - - - - - Condition that must be met before scanning the row for highlight of words - - - - - Indicates whether to ignore case when comparing texts. - - - - - Regular expression to be matched. You must specify either text or regex. - - - - - Text to be matched. You must specify either text or regex. - - - - - Indicates whether to match whole words only. - - - - - Background color. - - - - - Foreground color. - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Text to be rendered. - - - - - Header. - - - - - Footer. - - - - - Indicates whether to auto-flush after - - - - - Indicates whether to auto-check if the console is available - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App) - - - - - The encoding for writing messages to the . - - - - - Indicates whether to send the log messages to the standard error instead of the standard output. - - - - - Whether to enable batch writing using char[]-buffers, instead of using - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Obsolete - value will be ignored! The logging code always runs outside of transaction. Gets or sets a value indicating whether to use database transactions. Some data providers require this. - - - - - Indicates whether to keep the database connection open between the log events. - - - - - Name of the database provider. - - - - - Database password. If the ConnectionString is not provided this value will be used to construct the "Password=" part of the connection string. - - - - - Database host name. If the ConnectionString is not provided this value will be used to construct the "Server=" part of the connection string. - - - - - Database user name. If the ConnectionString is not provided this value will be used to construct the "User ID=" part of the connection string. - - - - - Name of the connection string (as specified in <connectionStrings> configuration section. - - - - - Connection string. When provided, it overrides the values specified in DBHost, DBUserName, DBPassword, DBDatabase. - - - - - Database name. If the ConnectionString is not provided this value will be used to construct the "Database=" part of the connection string. - - - - - Connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used. - - - - - Configures isolated transaction batch writing. If supported by the database, then it will improve insert performance. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - Text of the SQL command to be run on each log level. - - - - - Type of the SQL command to be run on each log level. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Convert format of the property value - - - - - Culture used for parsing property string-value for type-conversion - - - - - Value to assign on the object-property - - - - - Name for the object-property - - - - - Type of the object-property - - - - - - - - - - - - - - Type of the command. - - - - - Connection string to run the command against. If not provided, connection string from the target is used. - - - - - Indicates whether to ignore failures. - - - - - Command text. - - - - - - - - - - - - - - - - - - Database parameter name. - - - - - Layout that should be use to calculate the value for the parameter. - - - - - Database parameter DbType. - - - - - Database parameter size. - - - - - Database parameter precision. - - - - - Database parameter scale. - - - - - Type of the parameter. - - - - - Convert format of the database parameter value. - - - - - Culture used for parsing parameter string-value for type-conversion - - - - - - - - - - - - - - - - Name of the target. - - - - - Text to be rendered. - - - - - Header. - - - - - Footer. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - Layout that renders event Category. - - - - - Optional entry type. When not set, or when not convertible to then determined by - - - - - Layout that renders event ID. - - - - - Name of the Event Log to write to. This can be System, Application or any user-defined name. - - - - - Name of the machine on which Event Log service is running. - - - - - Maximum Event log size in kilobytes. - - - - - Message length limit to write to the Event Log. - - - - - Value to be used as the event Source. - - - - - Action to take if the message is larger than the option. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Indicates whether to return to the first target after any successful write. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Text to be rendered. - - - - - Header. - - - - - Footer. - - - - - File encoding. - - - - - Line ending mode. - - - - - Maximum days of archive files that should be kept. - - - - - Indicates whether to compress archive files into the zip archive format. - - - - - Way file archives are numbered. - - - - - Name of the file to be used for an archive. - - - - - Is the an absolute or relative path? - - - - - Indicates whether to automatically archive log files every time the specified time passes. - - - - - Size in bytes above which log files will be automatically archived. Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. Choose: - - - - - Maximum number of archive files that should be kept. - - - - - Indicates whether the footer should be written only when the file is archived. - - - - - Maximum number of log file names that should be stored as existing. - - - - - Indicates whether to delete old log file on startup. - - - - - File attributes (Windows only). - - - - - Indicates whether to create directories if they do not exist. - - - - - Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. If set to false, nothing gets written when the filename is wrong. - - - - - Value of the file size threshold to archive old log file on startup. - - - - - Indicates whether to archive old log file on startup. - - - - - Value specifying the date format to use when archiving files. - - - - - Indicates whether to enable log file(s) to be deleted. - - - - - Indicates whether to write BOM (byte order mark) in created files - - - - - Indicates whether to replace file contents on each write instead of appending log message at the end. - - - - - Indicates whether file creation calls should be synchronized by a system global mutex. - - - - - Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. - - - - - Is the an absolute or relative path? - - - - - Name of the file to write to. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - Indicates whether concurrent writes to the log file by multiple processes on different network hosts. - - - - - Maximum number of seconds that files are kept open. If this number is negative the files are not automatically closed after a period of inactivity. - - - - - Number of files to be kept open. Setting this to a higher value may improve performance in a situation where a single File target is writing to many files (such as splitting by level or by logger). - - - - - Indicates whether to keep log file open instead of opening and closing it on each logging event. - - - - - Whether or not this target should just discard all data that its asked to write. Mostly used for when testing NLog Stack except final write - - - - - Indicates whether concurrent writes to the log file by multiple processes on the same host. - - - - - Number of times the write is appended on the file before NLog discards the log message. - - - - - Delay in milliseconds to wait before attempting to write to the file again. - - - - - Log file buffer size in bytes. - - - - - Maximum number of seconds before open files are flushed. If this number is negative or zero the files are not flushed by timer. - - - - - Indicates whether to automatically flush the file buffers after each log message. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Condition expression. Log events who meet this condition will be forwarded to the wrapped target. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Windows domain name to change context to. - - - - - Required impersonation level. - - - - - Type of the logon provider. - - - - - Logon Type. - - - - - User account password. - - - - - Indicates whether to revert to the credentials of the process instead of impersonating another user. - - - - - Username to change context to. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Interval in which messages will be written up to the number of messages. - - - - - Maximum allowed number of messages written per . - - - - - Name of the target. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Endpoint address. - - - - - Name of the endpoint configuration in WCF configuration file. - - - - - Indicates whether to use a WCF service contract that is one way (fire and forget) or two way (request-reply) - - - - - Client ID. - - - - - Indicates whether to include per-event properties in the payload sent to the server. - - - - - Indicates whether to use binary message encoding. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - Layout that should be use to calculate the value for the parameter. - - - - - Name of the parameter. - - - - - Type of the parameter. - - - - - Type of the parameter. Obsolete alias for - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Text to be rendered. - - - - - Header. - - - - - Footer. - - - - - Indicates whether NewLine characters in the body should be replaced with tags. - - - - - Priority used for sending mails. - - - - - Encoding to be used for sending e-mail. - - - - - BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). - - - - - CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). - - - - - Indicates whether to add new lines between log entries. - - - - - Indicates whether to send message as HTML instead of plain text. - - - - - Sender's email address (e.g. joe@domain.com). - - - - - Mail message body (repeated for each log message send in one mail). - - - - - Mail subject. - - - - - Recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - Indicates the SMTP client timeout. - - - - - SMTP Server to be used for sending. - - - - - SMTP Authentication mode. - - - - - Username used to connect to SMTP server (used when SmtpAuthentication is set to "basic"). - - - - - Password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic"). - - - - - Indicates whether SSL (secure sockets layer) should be used when communicating with SMTP server. - - - - - Port number that SMTP Server is listening on. - - - - - Indicates whether the default Settings from System.Net.MailSettings should be used. - - - - - Folder where applications save mail messages to be processed by the local SMTP server. - - - - - Specifies how outgoing email messages will be handled. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - Max number of items to have in memory - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Class name. - - - - - Method name. The method must be public and static. Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx e.g. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - Encoding to be used. - - - - - End of line value if a newline is appended at the end of log message . - - - - - Maximum message size in bytes. - - - - - Indicates whether to append newline at the end of log message. - - - - - Network address. - - - - - Size of the connection cache (number of connections which are kept alive). - - - - - The number of seconds a connection will remain idle before the first keep-alive probe is sent - - - - - Indicates whether to keep connection open whenever possible. - - - - - Maximum current connections. 0 = no maximum. - - - - - Maximum queue size. - - - - - Action that should be taken if the will be more connections than . - - - - - Action that should be taken if the message is larger than maxMessageSize. - - - - - Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Encoding to be used. - - - - - Instance of that is used to format log messages. - - - - - End of line value if a newline is appended at the end of log message . - - - - - Maximum message size in bytes. - - - - - Indicates whether to append newline at the end of log message. - - - - - Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP. - - - - - Network address. - - - - - Size of the connection cache (number of connections which are kept alive). - - - - - The number of seconds a connection will remain idle before the first keep-alive probe is sent - - - - - Maximum queue size. - - - - - Maximum current connections. 0 = no maximum. - - - - - Action that should be taken if the will be more connections than . - - - - - Action that should be taken if the message is larger than maxMessageSize. - - - - - Indicates whether to keep connection open whenever possible. - - - - - NDLC item separator. - - - - - Indicates whether to include source info (file name and line number) in the information sent over the network. - - - - - Renderer for log4j:event logger-xml-attribute (Default ${logger}) - - - - - Indicates whether to include NLog-specific extensions to log4j schema. - - - - - Indicates whether to include contents of the stack. - - - - - Indicates whether to include stack contents. - - - - - Indicates whether to include dictionary contents. - - - - - Indicates whether to include dictionary contents. - - - - - Indicates whether to include call site (class and method name) in the information sent over the network. - - - - - Option to include all properties from the log events - - - - - AppInfo field. By default it's the friendly name of the current AppDomain. - - - - - NDC item separator. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - Indicates whether to perform layout calculation. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Indicates whether performance counter should be automatically created. - - - - - Name of the performance counter category. - - - - - Counter help text. - - - - - Name of the performance counter. - - - - - Performance counter type. - - - - - The value by which to increment the counter. - - - - - Performance counter instance name. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Default filter to be applied when no specific rule matches. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - Condition to be tested. - - - - - Resulting filter to be applied when the condition matches. - - - - - - - - - - - - - Name of the target. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - Name of the target. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - Number of times to repeat each log message. - - - - - - - - - - - - - - - - - Name of the target. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - Number of retries that should be attempted on the wrapped target in case of a failure. - - - - - Time to wait between retries in milliseconds. - - - - - - - - - - - - - - - Name of the target. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - Name of the target. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - Forward to (Instead of ) - - - - - Always use independent of - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - Should we include the BOM (Byte-order-mark) for UTF? Influences the property. This will only work for UTF-8. - - - - - Web service method name. Only used with Soap. - - - - - Web service namespace. Only used with Soap. - - - - - Protocol to be used when calling web service. - - - - - Custom proxy address, include port separated by a colon - - - - - Encoding. - - - - - Web service URL. - - - - - Value whether escaping be done according to the old NLog style (Very non-standard) - - - - - Value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) - - - - - Indicates whether to pre-authenticate the HttpWebRequest (Requires 'Authorization' in parameters) - - - - - Name of the root XML element, if POST of XML document chosen. If so, this property must not be null. (see and ). - - - - - (optional) root namespace of the XML document, if POST of XML document chosen. (see and ). - - - - - Proxy configuration when calling web service - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Footer layout. - - - - - Header layout. - - - - - Body layout (can be repeated multiple times). - - - - - Custom column delimiter value (valid when ColumnDelimiter is set to 'Custom'). - - - - - Column delimiter. - - - - - Quote Character. - - - - - Quoting mode. - - - - - Indicates whether CVS should include header. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Layout of the column. - - - - - Name of the column. - - - - - Override of Quoting mode - - - - - - - - - - - - - - - - - - - - - Should forward slashes be escaped? If true, / will be converted to \/ - - - - - Option to render the empty object value {} - - - - - Option to suppress the extra spaces in the output json - - - - - List of property names to exclude when is true - - - - - Option to include all properties from the log event (as JSON) - - - - - Indicates whether to include contents of the dictionary. - - - - - Indicates whether to include contents of the dictionary. - - - - - Indicates whether to include contents of the dictionary. - - - - - How far should the JSON serializer follow object references before backing off - - - - - - - - - - - - - - - - - Layout that will be rendered as the attribute's value. - - - - - Name of the attribute. - - - - - Determines whether or not this attribute will be Json encoded. - - - - - Should forward slashes be escaped? If true, / will be converted to \/ - - - - - Indicates whether to escape non-ascii characters - - - - - Whether an attribute with empty value should be included in the output - - - - - - - - - - - - - - Footer layout. - - - - - Header layout. - - - - - Body layout (can be repeated multiple times). - - - - - - - - - - - - - - - - - - - - - Option to include all properties from the log events - - - - - Indicates whether to include call site (class and method name) in the information sent over the network. - - - - - Indicates whether to include contents of the dictionary. - - - - - Indicates whether to include contents of the dictionary. - - - - - Indicates whether to include contents of the stack. - - - - - Indicates whether to include contents of the stack. - - - - - Indicates whether to include source info (file name and line number) in the information sent over the network. - - - - - - - - - - - - - - Layout text. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - List of property names to exclude when is true - - - - - Option to include all properties from the log event (as XML) - - - - - Indicates whether to include contents of the dictionary. - - - - - Indicates whether to include contents of the dictionary. - - - - - How far should the XML serializer follow object references before backing off - - - - - XML element name to use for rendering IList-collections items - - - - - XML attribute name to use when rendering property-key When null (or empty) then key-attribute is not included - - - - - XML element name to use when rendering properties - - - - - XML attribute name to use when rendering property-value When null (or empty) then value-attribute is not included and value is formatted as XML-element-value - - - - - Name of the root XML element - - - - - Value inside the root XML element - - - - - Whether a ElementValue with empty value should be included in the output - - - - - Auto indent and create new lines - - - - - Determines whether or not this attribute will be Xml encoded. - - - - - - - - - - - - - - - Layout that will be rendered as the attribute's value. - - - - - Name of the attribute. - - - - - Determines whether or not this attribute will be Xml encoded. - - - - - Whether an attribute with empty value should be included in the output - - - - - - - - - - - - - - - - - - - - - - - - - Determines whether or not this attribute will be Xml encoded. - - - - - Name of the element - - - - - Value inside the element - - - - - Whether a ElementValue with empty value should be included in the output - - - - - Auto indent and create new lines - - - - - List of property names to exclude when is true - - - - - Option to include all properties from the log event (as XML) - - - - - Indicates whether to include contents of the dictionary. - - - - - Indicates whether to include contents of the dictionary. - - - - - How far should the XML serializer follow object references before backing off - - - - - XML element name to use for rendering IList-collections items - - - - - XML attribute name to use when rendering property-key When null (or empty) then key-attribute is not included - - - - - XML element name to use when rendering properties - - - - - XML attribute name to use when rendering property-value When null (or empty) then value-attribute is not included and value is formatted as XML-element-value - - - - - - - - - - - - - Action to be taken when filter matches. - - - - - Condition expression. - - - - - - - - - - - - - - - - - - - - - - - - - - Action to be taken when filter matches. - - - - - Indicates whether to ignore case when comparing strings. - - - - - Layout to be used to filter log messages. - - - - - Substring to be matched. - - - - - - - - - - - - - - - - - Action to be taken when filter matches. - - - - - String to compare the layout to. - - - - - Indicates whether to ignore case when comparing strings. - - - - - Layout to be used to filter log messages. - - - - - - - - - - - - - - - - - Action to be taken when filter matches. - - - - - Indicates whether to ignore case when comparing strings. - - - - - Layout to be used to filter log messages. - - - - - Substring to be matched. - - - - - - - - - - - - - - - - - Action to be taken when filter matches. - - - - - String to compare the layout to. - - - - - Indicates whether to ignore case when comparing strings. - - - - - Layout to be used to filter log messages. - - - - - - - - - - - - - - - - - - - - - - - - Action to be taken when filter matches. - - - - - Default number of unique filter values to expect, will automatically increase if needed - - - - - Applies the configured action to the initial logevent that starts the timeout period. Used to configure that it should ignore all events until timeout. - - - - - Layout to be used to filter log messages. - - - - - Max number of unique filter values to expect simultaneously - - - - - Max length of filter values, will truncate if above limit - - - - - How long before a filter expires, and logging is accepted again - - - - - Default buffer size for the internal buffers - - - - - Reuse internal buffers, and doesn't have to constantly allocate new buffers - - - - - Append FilterCount to the when an event is no longer filtered - - - - - Insert FilterCount value into when an event is no longer filtered - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/SatisfactorySaveEditor/SatisfactorySaveEditor.csproj b/SatisfactorySaveEditor/SatisfactorySaveEditor.csproj index f6f5d302..6dedfcae 100644 --- a/SatisfactorySaveEditor/SatisfactorySaveEditor.csproj +++ b/SatisfactorySaveEditor/SatisfactorySaveEditor.csproj @@ -1,409 +1,50 @@ - - - + + - Debug - AnyCPU - {1FE92AD6-7BAD-4239-8A85-2064F7B53999} WinExe + net5.0-windows + true + true + false SatisfactorySaveEditor SatisfactorySaveEditor - v4.7.2 - 512 - {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 4 - true - true - - - AnyCPU - true - full - false - bin\Debug\ + + DEBUG;TRACE - prompt - 4 - false - - - AnyCPU - none - true - bin\Release\ - TRACE - prompt - 4 - false + full + true + satisfactorysaveeditorlogo_powershard.ico + - - ..\packages\AsyncAwaitBestPractices.4.2.0\lib\netstandard1.0\AsyncAwaitBestPractices.dll - - - ..\packages\AsyncAwaitBestPractices.MVVM.4.2.0\lib\netstandard1.0\AsyncAwaitBestPractices.MVVM.dll - - - ..\packages\CommonServiceLocator.2.0.5\lib\net47\CommonServiceLocator.dll - - - ..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.dll - - - ..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.Extras.dll - - - ..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.Platform.dll - - - ..\packages\gong-wpf-dragdrop.2.2.0\lib\net47\GongSolutions.WPF.DragDrop.dll - - - ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll - - - ..\packages\NLog.4.7.2\lib\net45\NLog.dll - - - - - - - - - ..\packages\System.Runtime.CompilerServices.Unsafe.4.7.1\lib\net461\System.Runtime.CompilerServices.Unsafe.dll - - - - - ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll - - - - ..\packages\MvvmLightLibs.5.4.1.1\lib\net45\System.Windows.Interactivity.dll - - - - - - - - - 4.0 - - - - - - - - MSBuild:Compile - Designer - - - - - - - - - - - - - - MassDismantleWindow.xaml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vector2Control.xaml - - - FillWindow.xaml - - - StringPromptWindow.xaml - - - CheatInventoryWindow.xaml - - - LinearColorPicker.xaml - - - ColorPicker.xaml - - - PropertiesControl.xaml - - - PreferencesWindow.xaml - - - UpdateWindow.xaml - - - MSBuild:Compile - Designer - - - Designer - MSBuild:Compile - - - MSBuild:Compile - Designer - - - MSBuild:Compile - Designer - - - MSBuild:Compile - Designer - - - MSBuild:Compile - Designer - - - Designer - MSBuild:Compile - - - MSBuild:Compile - Designer - - - Designer - MSBuild:Compile - - - MSBuild:Compile - Designer - - - App.xaml - Code - - - AddWindow.xaml - - - Vector4Control.xaml - - - Vector3Control.xaml - - - MainWindow.xaml - Code - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - - - Code - - + True True Resources.resx - + True Settings.settings True - + ResXFileCodeGenerator Resources.Designer.cs - - Designer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PreserveNewest - - Designer - - SettingsSingleFileGenerator Settings.Designer.cs - - - - - - - - {f76082b9-33c6-4e13-baaa-071ac7e53d7b} - SatisfactorySaveParser - + @@ -411,12 +52,42 @@ PreserveNewest - - - - if "$(ConfigurationName)" == "Release" ( - del "$(TargetDir)GalaSoft*.xml","$(TargetDir)GongSolutions*.xml", "$(TargetDir)Newtonsoft*.xml", "$(TargetDir)NLog*.xml", "$(TargetDir)DotNetZip*.xml", "$(TargetDir)AsyncAwaitBestPractices*.xml", "$(TargetDir)System.*.xml" - del "$(TargetDir)*.pdb" -) - - \ No newline at end of file + + + + + + 4.2.0 + + + 4.2.0 + + + 2.0.5 + + + 2.2.0 + + + 5.4.1.1 + + + 5.4.1.1 + + + 12.0.3 + + + 4.7.6 + + + 4.7.6 + + + 4.7.6 + + + + + + diff --git a/SatisfactorySaveEditor/View/Control/Vector2Control.xaml.cs b/SatisfactorySaveEditor/View/Control/Vector2Control.xaml.cs index d5ba7aff..27b9ce11 100644 --- a/SatisfactorySaveEditor/View/Control/Vector2Control.xaml.cs +++ b/SatisfactorySaveEditor/View/Control/Vector2Control.xaml.cs @@ -1,5 +1,4 @@ -using System.Numerics; -using System.Windows; +using System.Windows; using System.Windows.Controls; using SatisfactorySaveParser.Structures; diff --git a/SatisfactorySaveEditor/View/Control/Vector3Control.xaml.cs b/SatisfactorySaveEditor/View/Control/Vector3Control.xaml.cs index b39606c2..25224f53 100644 --- a/SatisfactorySaveEditor/View/Control/Vector3Control.xaml.cs +++ b/SatisfactorySaveEditor/View/Control/Vector3Control.xaml.cs @@ -1,5 +1,4 @@ -using System.Numerics; -using System.Windows; +using System.Windows; using System.Windows.Controls; using SatisfactorySaveParser.Structures; diff --git a/SatisfactorySaveEditor/View/Control/Vector4Control.xaml.cs b/SatisfactorySaveEditor/View/Control/Vector4Control.xaml.cs index d38fefaf..883c143c 100644 --- a/SatisfactorySaveEditor/View/Control/Vector4Control.xaml.cs +++ b/SatisfactorySaveEditor/View/Control/Vector4Control.xaml.cs @@ -1,5 +1,4 @@ -using System.Numerics; -using System.Windows; +using System.Windows; using System.Windows.Controls; using SatisfactorySaveParser.Structures; diff --git a/SatisfactorySaveEditor/packages.config b/SatisfactorySaveEditor/packages.config deleted file mode 100644 index 40d93e5d..00000000 --- a/SatisfactorySaveEditor/packages.config +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/SatisfactorySaveParser/SatisfactorySaveParser.csproj b/SatisfactorySaveParser/SatisfactorySaveParser.csproj index 028e051d..d4f17ed4 100644 --- a/SatisfactorySaveParser/SatisfactorySaveParser.csproj +++ b/SatisfactorySaveParser/SatisfactorySaveParser.csproj @@ -1,118 +1,18 @@ - - - + + - Debug - AnyCPU - {F76082B9-33C6-4E13-BAAA-071AC7E53D7B} - Library - Properties + net5.0 + false SatisfactorySaveParser SatisfactorySaveParser - v4.7.2 - 512 - true - - - true - full - false - bin\Debug\ + + DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 + full + true - - - ..\packages\DotNetZip.1.13.4\lib\net40\DotNetZip.dll - - - ..\packages\NLog.4.6.2\lib\net45\NLog.dll - - - - - - - - - - - - - - - - - - - Research.xsd - - - ResourcesUnfiltered.xsd - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + PreserveNewest @@ -121,17 +21,10 @@ PreserveNewest + - - Designer - - - Designer - - - - - + + - + \ No newline at end of file diff --git a/SatisfactorySaveParser/packages.config b/SatisfactorySaveParser/packages.config deleted file mode 100644 index 0e73acae..00000000 --- a/SatisfactorySaveParser/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file From 0b7c50b7bc10fa1bcd0f2aed41269fbabdd7375e Mon Sep 17 00:00:00 2001 From: Danielle Church Date: Wed, 27 Jan 2021 16:53:03 -0500 Subject: [PATCH 2/2] Further updates for .NET 5 Migrating dependency on out-of-support MvvmLightLibs to prerelease of Microsoft.Toolkit.Mvvm, and from CommonServiceLocator to Microsoft.Extensions.DependencyInjection --- .../Model/SaveComponentModel.cs | 4 +-- .../Model/SaveEntityModel.cs | 14 ++++---- .../Model/SaveObjectModel.cs | 16 ++++----- SatisfactorySaveEditor/Model/SaveRootModel.cs | 12 +++---- .../SatisfactorySaveEditor.csproj | 18 ++-------- SatisfactorySaveEditor/View/MainWindow.xaml | 11 +++--- .../ViewModel/AddViewModel.cs | 30 ++++++++++------ .../ViewModel/CheatInventoryViewModel.cs | 10 +++--- .../ViewModel/FillViewModel.cs | 13 ++++--- .../ViewModel/MainViewModel.cs | 22 ++++++------ .../ViewModel/PreferencesWindowViewModel.cs | 22 +++++++----- .../Property/ArrayPropertyViewModel.cs | 4 +-- .../Property/BoolPropertyViewModel.cs | 2 +- .../Property/BytePropertyViewModel.cs | 4 +-- .../Property/EnumPropertyViewModel.cs | 2 +- .../Property/FloatPropertyViewModel.cs | 2 +- .../Property/Int64PropertyViewModel.cs | 2 +- .../Property/Int8PropertyViewModel.cs | 2 +- .../Property/IntPropertyViewModel.cs | 2 +- .../Property/InterfacePropertyViewModel.cs | 4 +-- .../Property/NamePropertyViewModel.cs | 2 +- .../Property/ObjectPropertyViewModel.cs | 4 +-- .../Property/SerializedPropertyViewModel.cs | 8 +++-- .../Property/SetPropertyViewModel.cs | 4 +-- .../Property/StrPropertyViewModel.cs | 2 +- .../Property/StructPropertyViewModel.cs | 2 +- .../Property/TextPropertyViewModel.cs | 4 +-- .../ViewModel/StringPromptViewModel.cs | 14 ++++---- .../Struct/DynamicStructDataViewModel.cs | 4 +-- .../ViewModel/UpdateWindowViewModel.cs | 6 ++-- .../ViewModel/ViewModelLocator.cs | 34 ++++++++++--------- .../SatisfactorySaveParser.Tests.csproj | 2 +- 32 files changed, 144 insertions(+), 138 deletions(-) diff --git a/SatisfactorySaveEditor/Model/SaveComponentModel.cs b/SatisfactorySaveEditor/Model/SaveComponentModel.cs index 934ebcb8..e9110d55 100644 --- a/SatisfactorySaveEditor/Model/SaveComponentModel.cs +++ b/SatisfactorySaveEditor/Model/SaveComponentModel.cs @@ -3,7 +3,7 @@ using System.Globalization; using System.Linq; using System.Windows; -using GalaSoft.MvvmLight.Command; +using Microsoft.Toolkit.Mvvm.Input; using SatisfactorySaveEditor.View; using SatisfactorySaveEditor.ViewModel; using SatisfactorySaveEditor.ViewModel.Property; @@ -20,7 +20,7 @@ public class SaveComponentModel : SaveObjectModel public string ParentEntityName { get => parentEntityName; - set { Set(() => ParentEntityName, ref parentEntityName, value); } + set { SetProperty(ref parentEntityName, value); } } public RelayCommand FillInventoryCommand => new RelayCommand(FillInventory); diff --git a/SatisfactorySaveEditor/Model/SaveEntityModel.cs b/SatisfactorySaveEditor/Model/SaveEntityModel.cs index 0a3db38d..a4a9f2a0 100644 --- a/SatisfactorySaveEditor/Model/SaveEntityModel.cs +++ b/SatisfactorySaveEditor/Model/SaveEntityModel.cs @@ -16,42 +16,42 @@ public class SaveEntityModel : SaveObjectModel public bool NeedTransform { get => needTransform; - set { Set(() => NeedTransform, ref needTransform, value); } + set { SetProperty(ref needTransform, value); } } public bool WasPlacedInLevel { get => wasPlacedInLevel; - set { Set(() => WasPlacedInLevel, ref wasPlacedInLevel, value); } + set { SetProperty(ref wasPlacedInLevel, value); } } public Vector4 Rotation { get => rotation; - set { Set(() => Rotation, ref rotation, value); } + set { SetProperty(ref rotation, value); } } public Vector3 Position { get => position; - set { Set(() => Position, ref position, value); } + set { SetProperty(ref position, value); } } public Vector3 Scale { get => scale; - set { Set(() => Scale, ref scale, value); } + set { SetProperty(ref scale, value); } } public string ParentObjectRoot { get => parentObjectRoot; - set { Set(() => ParentObjectRoot, ref parentObjectRoot, value); } + set { SetProperty(ref parentObjectRoot, value); } } public string ParentObjectName { get => parentObjectName; - set { Set(() => ParentObjectName, ref parentObjectName, value); } + set { SetProperty(ref parentObjectName, value); } } public SaveEntityModel(SaveEntity ent) : base(ent) diff --git a/SatisfactorySaveEditor/Model/SaveObjectModel.cs b/SatisfactorySaveEditor/Model/SaveObjectModel.cs index abe956b6..72c428da 100644 --- a/SatisfactorySaveEditor/Model/SaveObjectModel.cs +++ b/SatisfactorySaveEditor/Model/SaveObjectModel.cs @@ -4,8 +4,8 @@ using System.Globalization; using System.Linq; using System.Windows; -using GalaSoft.MvvmLight; -using GalaSoft.MvvmLight.Command; +using Microsoft.Toolkit.Mvvm.ComponentModel; +using Microsoft.Toolkit.Mvvm.Input; using SatisfactorySaveEditor.Util; using SatisfactorySaveEditor.View; using SatisfactorySaveEditor.ViewModel; @@ -14,7 +14,7 @@ namespace SatisfactorySaveEditor.Model { - public class SaveObjectModel : ViewModelBase + public class SaveObjectModel : ObservableObject { private string title; private string rootObject; @@ -66,31 +66,31 @@ public List DescendantSelfViewModel public string Title { get => title; - set { Set(() => Title, ref title, value); } + set { SetProperty(ref title, value); } } public string RootObject { get => rootObject; - set { Set(() => RootObject, ref rootObject, value); } + set { SetProperty(ref rootObject, value); } } public string Type { get => type; - set { Set(() => Type, ref type, value); } + set { SetProperty(ref type, value); } } public bool IsSelected { get => isSelected; - set { Set(() => IsSelected, ref isSelected, value); } + set { SetProperty(ref isSelected, value); } } public bool IsExpanded { get => isExpanded; - set { Set(() => IsExpanded, ref isExpanded, value); } + set { SetProperty(ref isExpanded, value); } } public SaveObject Model { get; } diff --git a/SatisfactorySaveEditor/Model/SaveRootModel.cs b/SatisfactorySaveEditor/Model/SaveRootModel.cs index 8d9a5074..fadd01bb 100644 --- a/SatisfactorySaveEditor/Model/SaveRootModel.cs +++ b/SatisfactorySaveEditor/Model/SaveRootModel.cs @@ -20,25 +20,25 @@ public class SaveRootModel : SaveObjectModel public string MapName { get => mapName; - set { Set(() => MapName, ref mapName, value); } + set { SetProperty(ref mapName, value); } } public string MapOptions { get => mapOptions; - set { Set(() => MapOptions, ref mapOptions, value); } + set { SetProperty(ref mapOptions, value); } } public string SessionName { get => sessionName; - set { Set(() => SessionName, ref sessionName, value); } + set { SetProperty(ref sessionName, value); } } public int PlayDuration { get => playDuration; - set { Set(() => PlayDuration, ref playDuration, value); } + set { SetProperty(ref playDuration, value); } } public bool HasSessionVisibility => HeaderVersion >= SaveHeaderVersion.AddedSessionVisibility; @@ -46,13 +46,13 @@ public int PlayDuration public ESessionVisibility SessionVisibility { get => sessionVisibility; - set { Set(() => SessionVisibility, ref sessionVisibility, value); } + set { SetProperty(ref sessionVisibility, value); } } public long SaveDateTime { get => saveDateTime; - set { Set(() => SaveDateTime, ref saveDateTime, value); } + set { SetProperty(ref saveDateTime, value); } } public SaveRootModel(FSaveHeader header) : base(header.SessionName) diff --git a/SatisfactorySaveEditor/SatisfactorySaveEditor.csproj b/SatisfactorySaveEditor/SatisfactorySaveEditor.csproj index 6dedfcae..b379122e 100644 --- a/SatisfactorySaveEditor/SatisfactorySaveEditor.csproj +++ b/SatisfactorySaveEditor/SatisfactorySaveEditor.csproj @@ -53,6 +53,8 @@ + + @@ -62,30 +64,16 @@ 4.2.0 - - 2.0.5 - 2.2.0 - - 5.4.1.1 - - - 5.4.1.1 - + 12.0.3 4.7.6 - - 4.7.6 - - - 4.7.6 - diff --git a/SatisfactorySaveEditor/View/MainWindow.xaml b/SatisfactorySaveEditor/View/MainWindow.xaml index e9e18806..6059c0c8 100644 --- a/SatisfactorySaveEditor/View/MainWindow.xaml +++ b/SatisfactorySaveEditor/View/MainWindow.xaml @@ -2,9 +2,8 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" + xmlns:i="http://schemas.microsoft.com/xaml/behaviors" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:command="http://www.galasoft.ch/mvvmlight" xmlns:model="clr-namespace:SatisfactorySaveEditor.Model" xmlns:converter="clr-namespace:SatisfactorySaveEditor.Converter" xmlns:util="clr-namespace:SatisfactorySaveEditor.Util" @@ -18,10 +17,10 @@ WindowStartupLocation="Manual" DataContext="{Binding MainViewModel, Source={StaticResource Locator}, Mode=OneTime}" Closed="MainWindow_OnClosed" - Title="{Binding FileName, StringFormat='Satisfactory Save Editor{0}'}"> + Title="{Binding FileName, StringFormat='Satisfactory Save Editor{0}'}" d:DesignWidth="1280" d:DesignHeight="720"> - + @@ -134,7 +133,7 @@ - +