diff --git a/src/Artemis.Core/MVVM/CorePropertyChanged.cs b/src/Artemis.Core/MVVM/CorePropertyChanged.cs index bcd1e0e69..b9bd735e0 100644 --- a/src/Artemis.Core/MVVM/CorePropertyChanged.cs +++ b/src/Artemis.Core/MVVM/CorePropertyChanged.cs @@ -28,7 +28,7 @@ namespace Artemis.Core /// Value to apply. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - protected virtual bool RequiresUpdate(ref T storage, T value) + protected bool RequiresUpdate(ref T storage, T value) { return !Equals(storage, value); } @@ -46,7 +46,7 @@ namespace Artemis.Core /// /// true if the value was changed, false if the existing value matched the desired value. [NotifyPropertyChangedInvocator] - protected virtual bool SetAndNotify(ref T storage, T value, [CallerMemberName] string? propertyName = null) + protected bool SetAndNotify(ref T storage, T value, [CallerMemberName] string? propertyName = null) { if (!RequiresUpdate(ref storage, value)) return false; @@ -64,7 +64,7 @@ namespace Artemis.Core /// and can be provided automatically when invoked from compilers that support /// . /// - protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null) + protected void OnPropertyChanged([CallerMemberName] string? propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } diff --git a/src/Artemis.Core/Models/ProfileConfiguration/ProfileConfiguration.cs b/src/Artemis.Core/Models/ProfileConfiguration/ProfileConfiguration.cs index 2ed2cc21e..f993e3ae5 100644 --- a/src/Artemis.Core/Models/ProfileConfiguration/ProfileConfiguration.cs +++ b/src/Artemis.Core/Models/ProfileConfiguration/ProfileConfiguration.cs @@ -11,15 +11,21 @@ namespace Artemis.Core /// public class ProfileConfiguration : BreakableModel, IStorageModel, IDisposable { - private ProfileCategory _category; private bool _disposed; - private bool _isMissingModule; - private bool _isSuspended; - private Module? _module; private string _name; private int _order; + private bool _isSuspended; + private bool _isMissingModule; + private ProfileCategory _category; + private ProfileConfigurationHotkeyMode _hotkeyMode; + private Hotkey? _enableHotkey; + private Hotkey? _disableHotkey; + private ActivationBehaviour _activationBehaviour; + private bool _activationConditionMet; + private bool _isBeingEdited; private Profile? _profile; + private Module? _module; internal ProfileConfiguration(ProfileCategory category, string name, string icon) { @@ -91,31 +97,60 @@ namespace Artemis.Core internal set => SetAndNotify(ref _category, value); } - /// - /// Gets the icon configuration - /// - public ProfileConfigurationIcon Icon { get; } - /// /// Gets or sets the used to determine hotkey behaviour /// - public ProfileConfigurationHotkeyMode HotkeyMode { get; set; } + public ProfileConfigurationHotkeyMode HotkeyMode + { + get => _hotkeyMode; + set => SetAndNotify(ref _hotkeyMode, value); + } /// /// Gets or sets the hotkey used to enable or toggle the profile /// - public Hotkey? EnableHotkey { get; set; } + public Hotkey? EnableHotkey + { + get => _enableHotkey; + set => SetAndNotify(ref _enableHotkey, value); + } /// /// Gets or sets the hotkey used to disable the profile /// - public Hotkey? DisableHotkey { get; set; } + public Hotkey? DisableHotkey + { + get => _disableHotkey; + set => SetAndNotify(ref _disableHotkey, value); + } /// - /// Gets the ID of the profile of this profile configuration + /// Gets or sets the behaviour of when this profile is activated /// - public Guid ProfileId => Entity.ProfileId; + public ActivationBehaviour ActivationBehaviour + { + get => _activationBehaviour; + set => SetAndNotify(ref _activationBehaviour, value); + } + /// + /// Gets a boolean indicating whether the activation conditions where met during the last call + /// + public bool ActivationConditionMet + { + get => _activationConditionMet; + private set => SetAndNotify(ref _activationConditionMet, value); + } + + /// + /// Gets or sets a boolean indicating whether this profile configuration is being edited + /// + public bool IsBeingEdited + { + get => _isBeingEdited; + set => SetAndNotify(ref _isBeingEdited, value); + } + /// /// Gets the profile of this profile configuration /// @@ -125,17 +160,6 @@ namespace Artemis.Core internal set => SetAndNotify(ref _profile, value); } - /// - /// Gets or sets the behaviour of when this profile is activated - /// - public ActivationBehaviour ActivationBehaviour { get; set; } - - /// - /// Gets the data model condition that must evaluate to for this profile to be activated - /// alongside any activation requirements of the , if set - /// - public NodeScript ActivationCondition { get; } - /// /// Gets or sets the module this profile uses /// @@ -144,25 +168,31 @@ namespace Artemis.Core get => _module; set { - _module = value; + SetAndNotify(ref _module, value); IsMissingModule = false; } } - + /// - /// Gets a boolean indicating whether the activation conditions where met during the last call + /// Gets the icon configuration /// - public bool ActivationConditionMet { get; private set; } - + public ProfileConfigurationIcon Icon { get; } + /// - /// Gets or sets a boolean indicating whether this profile configuration is being edited + /// Gets the data model condition that must evaluate to for this profile to be activated + /// alongside any activation requirements of the , if set /// - public bool IsBeingEdited { get; set; } + public NodeScript ActivationCondition { get; } /// /// Gets the entity used by this profile config /// public ProfileConfigurationEntity Entity { get; } + + /// + /// Gets the ID of the profile of this profile configuration + /// + public Guid ProfileId => Entity.ProfileId; /// /// Updates this configurations activation condition status @@ -243,7 +273,7 @@ namespace Artemis.Core if (Entity.ActivationCondition != null) ActivationCondition.LoadFromEntity(Entity.ActivationCondition); - + EnableHotkey = Entity.EnableHotkey != null ? new Hotkey(Entity.EnableHotkey) : null; DisableHotkey = Entity.DisableHotkey != null ? new Hotkey(Entity.DisableHotkey) : null; } diff --git a/src/Artemis.UI.Shared/packages.lock.json b/src/Artemis.UI.Shared/packages.lock.json index 6dd5bf165..35d097aec 100644 --- a/src/Artemis.UI.Shared/packages.lock.json +++ b/src/Artemis.UI.Shared/packages.lock.json @@ -17,6 +17,18 @@ "System.ValueTuple": "4.5.0" } }, + "Avalonia.Diagnostics": { + "type": "Direct", + "requested": "[0.10.15, )", + "resolved": "0.10.15", + "contentHash": "s3TSl7vmMXv3EzJPzsa69PshiPp9ajoMeVGP9FAfYopR6iuq60MxikEZTscjhsJ+BySCALXN83F1Gwz8o3oGJA==", + "dependencies": { + "Avalonia": "0.10.15", + "Avalonia.Controls.DataGrid": "0.10.15", + "Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0", + "System.Reactive": "5.0.0" + } + }, "Avalonia.ReactiveUI": { "type": "Direct", "requested": "[0.10.15, )", @@ -317,6 +329,75 @@ "resolved": "0.10.4", "contentHash": "enc2U+/1UnF3rtocxb5ofcg7cJSmJI4adbYPr8DZa5bQzvhqA/VbjlcalxoqjI3CR2RvM5WWpjKT0p3BriFJjw==" }, + "Microsoft.CodeAnalysis.Analyzers": { + "type": "Transitive", + "resolved": "2.9.6", + "contentHash": "Kmms3TxGQMNb95Cu/3K+0bIcMnV4qf/phZBLAB0HUi65rBPxP4JO3aM2LoAcb+DFS600RQJMZ7ZLyYDTbLwJOQ==" + }, + "Microsoft.CodeAnalysis.Common": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "3ncA7cV+iXGA1VYwe2UEZXcvWyZSlbexWjM9AvocP7sik5UD93qt9Hq0fMRGk0jFRmvmE4T2g+bGfXiBVZEhLw==", + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": "2.9.6", + "System.Collections.Immutable": "1.5.0", + "System.Memory": "4.5.3", + "System.Reflection.Metadata": "1.6.0", + "System.Runtime.CompilerServices.Unsafe": "4.5.2", + "System.Text.Encoding.CodePages": "4.5.1", + "System.Threading.Tasks.Extensions": "4.5.3" + } + }, + "Microsoft.CodeAnalysis.CSharp": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "/LsTtgcMN6Tu1oo7/WYbRAHL4/ubXC/miEakwTpcZKJKtFo7D0AK95Hw0dbGxul6C8WJu60v6NP2435TDYZM+Q==", + "dependencies": { + "Microsoft.CodeAnalysis.Common": "[3.4.0]" + } + }, + "Microsoft.CodeAnalysis.CSharp.Scripting": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "tLgqc76qXHmONUhWhxo7z3TcL/LmGFWIUJm1exbQmVJohuQvJnejUMxmVkdxDfMuMZU1fIyJXPZ6Fkp4FEneAg==", + "dependencies": { + "Microsoft.CSharp": "4.3.0", + "Microsoft.CodeAnalysis.CSharp": "[3.4.0]", + "Microsoft.CodeAnalysis.Common": "[3.4.0]", + "Microsoft.CodeAnalysis.Scripting.Common": "[3.4.0]" + } + }, + "Microsoft.CodeAnalysis.Scripting.Common": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "+b6I3DZL2zvck+B/E/aiOveakj5U2G2BcYODQxcGh2IDbatNU3XXxGT1HumkWB5uIZI2Leu0opBgBpjScmjGMA==", + "dependencies": { + "Microsoft.CodeAnalysis.Common": "[3.4.0]" + } + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "P+MBhIM0YX+JqROuf7i306ZLJEjQYA9uUyRDE+OqwUI5sh41e2ZbPQV3LfAPh+29cmceE1pUffXsGfR4eMY3KA==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0" + } + }, "Microsoft.DotNet.PlatformAbstractions": { "type": "Transitive", "resolved": "3.1.6", @@ -665,6 +746,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "1.5.0", + "contentHash": "EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==" + }, "System.Collections.NonGeneric": { "type": "Transitive", "resolved": "4.3.0", @@ -1398,6 +1484,15 @@ "System.Runtime": "4.3.0" } }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==", + "dependencies": { + "Microsoft.NETCore.Platforms": "2.1.2", + "System.Runtime.CompilerServices.Unsafe": "4.5.2" + } + }, "System.Text.Encoding.Extensions": { "type": "Transitive", "resolved": "4.3.0", @@ -1438,13 +1533,8 @@ }, "System.Threading.Tasks.Extensions": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } + "resolved": "4.5.3", + "contentHash": "+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==" }, "System.Threading.Timer": { "type": "Transitive", diff --git a/src/Artemis.UI.Windows/packages.lock.json b/src/Artemis.UI.Windows/packages.lock.json index b78a3b4b9..1ec8d286a 100644 --- a/src/Artemis.UI.Windows/packages.lock.json +++ b/src/Artemis.UI.Windows/packages.lock.json @@ -30,6 +30,18 @@ "Avalonia.X11": "0.10.15" } }, + "Avalonia.Diagnostics": { + "type": "Direct", + "requested": "[0.10.15, )", + "resolved": "0.10.15", + "contentHash": "s3TSl7vmMXv3EzJPzsa69PshiPp9ajoMeVGP9FAfYopR6iuq60MxikEZTscjhsJ+BySCALXN83F1Gwz8o3oGJA==", + "dependencies": { + "Avalonia": "0.10.15", + "Avalonia.Controls.DataGrid": "0.10.15", + "Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0", + "System.Reactive": "5.0.0" + } + }, "Avalonia.ReactiveUI": { "type": "Direct", "requested": "[0.10.15, )", @@ -345,6 +357,75 @@ "resolved": "0.10.4", "contentHash": "enc2U+/1UnF3rtocxb5ofcg7cJSmJI4adbYPr8DZa5bQzvhqA/VbjlcalxoqjI3CR2RvM5WWpjKT0p3BriFJjw==" }, + "Microsoft.CodeAnalysis.Analyzers": { + "type": "Transitive", + "resolved": "2.9.6", + "contentHash": "Kmms3TxGQMNb95Cu/3K+0bIcMnV4qf/phZBLAB0HUi65rBPxP4JO3aM2LoAcb+DFS600RQJMZ7ZLyYDTbLwJOQ==" + }, + "Microsoft.CodeAnalysis.Common": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "3ncA7cV+iXGA1VYwe2UEZXcvWyZSlbexWjM9AvocP7sik5UD93qt9Hq0fMRGk0jFRmvmE4T2g+bGfXiBVZEhLw==", + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": "2.9.6", + "System.Collections.Immutable": "1.5.0", + "System.Memory": "4.5.3", + "System.Reflection.Metadata": "1.6.0", + "System.Runtime.CompilerServices.Unsafe": "4.5.2", + "System.Text.Encoding.CodePages": "4.5.1", + "System.Threading.Tasks.Extensions": "4.5.3" + } + }, + "Microsoft.CodeAnalysis.CSharp": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "/LsTtgcMN6Tu1oo7/WYbRAHL4/ubXC/miEakwTpcZKJKtFo7D0AK95Hw0dbGxul6C8WJu60v6NP2435TDYZM+Q==", + "dependencies": { + "Microsoft.CodeAnalysis.Common": "[3.4.0]" + } + }, + "Microsoft.CodeAnalysis.CSharp.Scripting": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "tLgqc76qXHmONUhWhxo7z3TcL/LmGFWIUJm1exbQmVJohuQvJnejUMxmVkdxDfMuMZU1fIyJXPZ6Fkp4FEneAg==", + "dependencies": { + "Microsoft.CSharp": "4.3.0", + "Microsoft.CodeAnalysis.CSharp": "[3.4.0]", + "Microsoft.CodeAnalysis.Common": "[3.4.0]", + "Microsoft.CodeAnalysis.Scripting.Common": "[3.4.0]" + } + }, + "Microsoft.CodeAnalysis.Scripting.Common": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "+b6I3DZL2zvck+B/E/aiOveakj5U2G2BcYODQxcGh2IDbatNU3XXxGT1HumkWB5uIZI2Leu0opBgBpjScmjGMA==", + "dependencies": { + "Microsoft.CodeAnalysis.Common": "[3.4.0]" + } + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "P+MBhIM0YX+JqROuf7i306ZLJEjQYA9uUyRDE+OqwUI5sh41e2ZbPQV3LfAPh+29cmceE1pUffXsGfR4eMY3KA==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0" + } + }, "Microsoft.DotNet.PlatformAbstractions": { "type": "Transitive", "resolved": "3.1.6", @@ -747,6 +828,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "1.5.0", + "contentHash": "EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==" + }, "System.Collections.NonGeneric": { "type": "Transitive", "resolved": "4.3.0", @@ -1529,13 +1615,8 @@ }, "System.Threading.Tasks.Extensions": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } + "resolved": "4.5.3", + "contentHash": "+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==" }, "System.Threading.Timer": { "type": "Transitive", @@ -1668,6 +1749,7 @@ "Avalonia": "0.10.15", "Avalonia.Controls.PanAndZoom": "10.14.0", "Avalonia.Desktop": "0.10.15", + "Avalonia.Diagnostics": "0.10.15", "Avalonia.ReactiveUI": "0.10.15", "Avalonia.Xaml.Behaviors": "0.10.14", "DynamicData": "7.8.6", @@ -1688,6 +1770,7 @@ "dependencies": { "Artemis.Core": "1.0.0", "Avalonia": "0.10.15", + "Avalonia.Diagnostics": "0.10.15", "Avalonia.ReactiveUI": "0.10.15", "Avalonia.Xaml.Behaviors": "0.10.14", "DynamicData": "7.8.6", diff --git a/src/Artemis.UI/Screens/Sidebar/SidebarCategoryView.axaml b/src/Artemis.UI/Screens/Sidebar/SidebarCategoryView.axaml index 870a4b5a0..172b34d08 100644 --- a/src/Artemis.UI/Screens/Sidebar/SidebarCategoryView.axaml +++ b/src/Artemis.UI/Screens/Sidebar/SidebarCategoryView.axaml @@ -104,36 +104,38 @@ - - - - - - - + + + + + + + + - - - - - - - + + + + + + + + diff --git a/src/Artemis.UI/Screens/Sidebar/SidebarProfileConfigurationViewModel.cs b/src/Artemis.UI/Screens/Sidebar/SidebarProfileConfigurationViewModel.cs index 656092d9c..b89eb75c9 100644 --- a/src/Artemis.UI/Screens/Sidebar/SidebarProfileConfigurationViewModel.cs +++ b/src/Artemis.UI/Screens/Sidebar/SidebarProfileConfigurationViewModel.cs @@ -21,8 +21,7 @@ namespace Artemis.UI.Screens.Sidebar private readonly IProfileService _profileService; private readonly IProfileEditorService _profileEditorService; private readonly IWindowService _windowService; - private ObservableAsPropertyHelper? _isSuspended; - public ProfileConfiguration ProfileConfiguration { get; } + private ObservableAsPropertyHelper? _isDisabled; public SidebarProfileConfigurationViewModel(SidebarViewModel sidebarViewModel, ProfileConfiguration profileConfiguration, @@ -44,11 +43,13 @@ namespace Artemis.UI.Screens.Sidebar ExportProfile = ReactiveCommand.CreateFromTask(ExecuteExportProfile); DuplicateProfile = ReactiveCommand.Create(ExecuteDuplicateProfile); - this.WhenActivated(d => { _isSuspended = ProfileConfiguration.WhenAnyValue(c => c.IsSuspended).ToProperty(this, vm => vm.IsSuspended).DisposeWith(d); }); + this.WhenActivated(d => _isDisabled = ProfileConfiguration.WhenAnyValue(c => c.IsSuspended, c => c.ActivationConditionMet, (suspended, met) => suspended || !met) + .ToProperty(this, vm => vm.IsDisabled) + .DisposeWith(d)); _profileService.LoadProfileConfigurationIcon(ProfileConfiguration); } - + public ProfileConfiguration ProfileConfiguration { get; } public ReactiveCommand EditProfile { get; } public ReactiveCommand ToggleSuspended { get; } public ReactiveCommand ResumeAll { get; } @@ -57,7 +58,7 @@ namespace Artemis.UI.Screens.Sidebar public ReactiveCommand ExportProfile { get; } public ReactiveCommand DuplicateProfile { get; } - public bool IsSuspended => _isSuspended?.Value ?? false; + public bool IsDisabled => _isDisabled?.Value ?? false; private async Task ExecuteEditProfile() { diff --git a/src/Artemis.UI/packages.lock.json b/src/Artemis.UI/packages.lock.json index 3db35c77d..11811f43e 100644 --- a/src/Artemis.UI/packages.lock.json +++ b/src/Artemis.UI/packages.lock.json @@ -39,6 +39,18 @@ "Avalonia.X11": "0.10.15" } }, + "Avalonia.Diagnostics": { + "type": "Direct", + "requested": "[0.10.15, )", + "resolved": "0.10.15", + "contentHash": "s3TSl7vmMXv3EzJPzsa69PshiPp9ajoMeVGP9FAfYopR6iuq60MxikEZTscjhsJ+BySCALXN83F1Gwz8o3oGJA==", + "dependencies": { + "Avalonia": "0.10.15", + "Avalonia.Controls.DataGrid": "0.10.15", + "Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0", + "System.Reactive": "5.0.0" + } + }, "Avalonia.ReactiveUI": { "type": "Direct", "requested": "[0.10.15, )", @@ -371,6 +383,75 @@ "resolved": "0.10.4", "contentHash": "enc2U+/1UnF3rtocxb5ofcg7cJSmJI4adbYPr8DZa5bQzvhqA/VbjlcalxoqjI3CR2RvM5WWpjKT0p3BriFJjw==" }, + "Microsoft.CodeAnalysis.Analyzers": { + "type": "Transitive", + "resolved": "2.9.6", + "contentHash": "Kmms3TxGQMNb95Cu/3K+0bIcMnV4qf/phZBLAB0HUi65rBPxP4JO3aM2LoAcb+DFS600RQJMZ7ZLyYDTbLwJOQ==" + }, + "Microsoft.CodeAnalysis.Common": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "3ncA7cV+iXGA1VYwe2UEZXcvWyZSlbexWjM9AvocP7sik5UD93qt9Hq0fMRGk0jFRmvmE4T2g+bGfXiBVZEhLw==", + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": "2.9.6", + "System.Collections.Immutable": "1.5.0", + "System.Memory": "4.5.3", + "System.Reflection.Metadata": "1.6.0", + "System.Runtime.CompilerServices.Unsafe": "4.5.2", + "System.Text.Encoding.CodePages": "4.5.1", + "System.Threading.Tasks.Extensions": "4.5.3" + } + }, + "Microsoft.CodeAnalysis.CSharp": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "/LsTtgcMN6Tu1oo7/WYbRAHL4/ubXC/miEakwTpcZKJKtFo7D0AK95Hw0dbGxul6C8WJu60v6NP2435TDYZM+Q==", + "dependencies": { + "Microsoft.CodeAnalysis.Common": "[3.4.0]" + } + }, + "Microsoft.CodeAnalysis.CSharp.Scripting": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "tLgqc76qXHmONUhWhxo7z3TcL/LmGFWIUJm1exbQmVJohuQvJnejUMxmVkdxDfMuMZU1fIyJXPZ6Fkp4FEneAg==", + "dependencies": { + "Microsoft.CSharp": "4.3.0", + "Microsoft.CodeAnalysis.CSharp": "[3.4.0]", + "Microsoft.CodeAnalysis.Common": "[3.4.0]", + "Microsoft.CodeAnalysis.Scripting.Common": "[3.4.0]" + } + }, + "Microsoft.CodeAnalysis.Scripting.Common": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "+b6I3DZL2zvck+B/E/aiOveakj5U2G2BcYODQxcGh2IDbatNU3XXxGT1HumkWB5uIZI2Leu0opBgBpjScmjGMA==", + "dependencies": { + "Microsoft.CodeAnalysis.Common": "[3.4.0]" + } + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "P+MBhIM0YX+JqROuf7i306ZLJEjQYA9uUyRDE+OqwUI5sh41e2ZbPQV3LfAPh+29cmceE1pUffXsGfR4eMY3KA==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0" + } + }, "Microsoft.DotNet.PlatformAbstractions": { "type": "Transitive", "resolved": "3.1.6", @@ -724,6 +805,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "1.5.0", + "contentHash": "EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==" + }, "System.Collections.NonGeneric": { "type": "Transitive", "resolved": "4.3.0", @@ -1506,13 +1592,8 @@ }, "System.Threading.Tasks.Extensions": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } + "resolved": "4.5.3", + "contentHash": "+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==" }, "System.Threading.Timer": { "type": "Transitive", @@ -1641,6 +1722,7 @@ "dependencies": { "Artemis.Core": "1.0.0", "Avalonia": "0.10.15", + "Avalonia.Diagnostics": "0.10.15", "Avalonia.ReactiveUI": "0.10.15", "Avalonia.Xaml.Behaviors": "0.10.14", "DynamicData": "7.8.6", diff --git a/src/Artemis.VisualScripting/packages.lock.json b/src/Artemis.VisualScripting/packages.lock.json index c8e349afa..c604a4f44 100644 --- a/src/Artemis.VisualScripting/packages.lock.json +++ b/src/Artemis.VisualScripting/packages.lock.json @@ -116,6 +116,17 @@ "Avalonia.X11": "0.10.15" } }, + "Avalonia.Diagnostics": { + "type": "Transitive", + "resolved": "0.10.15", + "contentHash": "s3TSl7vmMXv3EzJPzsa69PshiPp9ajoMeVGP9FAfYopR6iuq60MxikEZTscjhsJ+BySCALXN83F1Gwz8o3oGJA==", + "dependencies": { + "Avalonia": "0.10.15", + "Avalonia.Controls.DataGrid": "0.10.15", + "Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0", + "System.Reactive": "5.0.0" + } + }, "Avalonia.FreeDesktop": { "type": "Transitive", "resolved": "0.10.15", @@ -327,6 +338,75 @@ "resolved": "0.10.4", "contentHash": "enc2U+/1UnF3rtocxb5ofcg7cJSmJI4adbYPr8DZa5bQzvhqA/VbjlcalxoqjI3CR2RvM5WWpjKT0p3BriFJjw==" }, + "Microsoft.CodeAnalysis.Analyzers": { + "type": "Transitive", + "resolved": "2.9.6", + "contentHash": "Kmms3TxGQMNb95Cu/3K+0bIcMnV4qf/phZBLAB0HUi65rBPxP4JO3aM2LoAcb+DFS600RQJMZ7ZLyYDTbLwJOQ==" + }, + "Microsoft.CodeAnalysis.Common": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "3ncA7cV+iXGA1VYwe2UEZXcvWyZSlbexWjM9AvocP7sik5UD93qt9Hq0fMRGk0jFRmvmE4T2g+bGfXiBVZEhLw==", + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": "2.9.6", + "System.Collections.Immutable": "1.5.0", + "System.Memory": "4.5.3", + "System.Reflection.Metadata": "1.6.0", + "System.Runtime.CompilerServices.Unsafe": "4.5.2", + "System.Text.Encoding.CodePages": "4.5.1", + "System.Threading.Tasks.Extensions": "4.5.3" + } + }, + "Microsoft.CodeAnalysis.CSharp": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "/LsTtgcMN6Tu1oo7/WYbRAHL4/ubXC/miEakwTpcZKJKtFo7D0AK95Hw0dbGxul6C8WJu60v6NP2435TDYZM+Q==", + "dependencies": { + "Microsoft.CodeAnalysis.Common": "[3.4.0]" + } + }, + "Microsoft.CodeAnalysis.CSharp.Scripting": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "tLgqc76qXHmONUhWhxo7z3TcL/LmGFWIUJm1exbQmVJohuQvJnejUMxmVkdxDfMuMZU1fIyJXPZ6Fkp4FEneAg==", + "dependencies": { + "Microsoft.CSharp": "4.3.0", + "Microsoft.CodeAnalysis.CSharp": "[3.4.0]", + "Microsoft.CodeAnalysis.Common": "[3.4.0]", + "Microsoft.CodeAnalysis.Scripting.Common": "[3.4.0]" + } + }, + "Microsoft.CodeAnalysis.Scripting.Common": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "+b6I3DZL2zvck+B/E/aiOveakj5U2G2BcYODQxcGh2IDbatNU3XXxGT1HumkWB5uIZI2Leu0opBgBpjScmjGMA==", + "dependencies": { + "Microsoft.CodeAnalysis.Common": "[3.4.0]" + } + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "P+MBhIM0YX+JqROuf7i306ZLJEjQYA9uUyRDE+OqwUI5sh41e2ZbPQV3LfAPh+29cmceE1pUffXsGfR4eMY3KA==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0" + } + }, "Microsoft.DotNet.PlatformAbstractions": { "type": "Transitive", "resolved": "3.1.6", @@ -676,6 +756,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "1.5.0", + "contentHash": "EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==" + }, "System.Collections.NonGeneric": { "type": "Transitive", "resolved": "4.3.0", @@ -1409,6 +1494,15 @@ "System.Runtime": "4.3.0" } }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==", + "dependencies": { + "Microsoft.NETCore.Platforms": "2.1.2", + "System.Runtime.CompilerServices.Unsafe": "4.5.2" + } + }, "System.Text.Encoding.Extensions": { "type": "Transitive", "resolved": "4.3.0", @@ -1449,13 +1543,8 @@ }, "System.Threading.Tasks.Extensions": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } + "resolved": "4.5.3", + "contentHash": "+MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ==" }, "System.Threading.Timer": { "type": "Transitive", @@ -1584,6 +1673,7 @@ "dependencies": { "Artemis.Core": "1.0.0", "Avalonia": "0.10.15", + "Avalonia.Diagnostics": "0.10.15", "Avalonia.ReactiveUI": "0.10.15", "Avalonia.Xaml.Behaviors": "0.10.14", "DynamicData": "7.8.6",