From 1784d2b8b5feb27091633ea5b27345d9a7aad4df Mon Sep 17 00:00:00 2001 From: Robert Date: Sat, 9 Oct 2021 23:51:42 +0200 Subject: [PATCH] UI - Added Avalonia projects --- src/.idea/.idea.Artemis/.idea/.gitignore | 13 + src/.idea/.idea.Artemis/.idea/.name | 1 + src/.idea/.idea.Artemis/.idea/avalonia.xml | 17 + src/.idea/.idea.Artemis/.idea/encodings.xml | 4 + src/.idea/.idea.Artemis/.idea/indexLayout.xml | 8 + src/.idea/.idea.Artemis/.idea/vcs.xml | 6 + .../Extensions/SKColorExtensions.cs | 4 +- .../Abstract/DataModelConditionPart.cs | 2 +- .../Conditional/ConditionalDataBinding.cs | 2 +- .../DataBindings/Modes/DirectDataBinding.cs | 2 +- .../Profile/LayerProperties/LayerProperty.cs | 2 +- .../LayerProperties/LayerPropertyKeyFrame.cs | 2 +- .../Models/Profile/LayerPropertyGroup.cs | 4 +- .../Models/Profile/ProfileCategory.cs | 4 +- .../Models/Profile/ProfileElement.cs | 2 +- .../Models/Profile/RenderProfileElement.cs | 2 +- src/Artemis.Core/Models/Profile/Timeline.cs | 6 +- .../LayerBrushes/LayerBrushProvider.cs | 2 +- .../LayerEffects/LayerEffectProvider.cs | 2 +- src/Artemis.Core/Plugins/Modules/DataModel.cs | 4 +- src/Artemis.Core/Plugins/Modules/Module.cs | 4 +- src/Artemis.Core/Plugins/Plugin.cs | 4 +- .../Plugins/Profiling/ProfilingMeasurement.cs | 2 +- .../ScriptingProviders/ScriptingProvider.cs | 2 +- .../ColorQuantizer/ColorQuantizerService.cs | 4 +- .../Services/PluginManagementService.cs | 2 +- src/Artemis.Core/Services/ScriptingService.cs | 2 +- .../Artemis.UI.Avalonia.Shared.csproj | 25 + .../Controls/DeviceVisualizer.cs | 120 ++ .../Controls/ProfileConfigurationIcon.axaml | 7 + .../ProfileConfigurationIcon.axaml.cs | 100 + src/Artemis.UI.Avalonia.Shared/nuget.config | 11 + .../packages.lock.json | 1440 ++++++++++++++ src/Artemis.UI.Avalonia/App.axaml | 21 + src/Artemis.UI.Avalonia/App.axaml.cs | 43 + .../Artemis.UI.Avalonia.csproj | 76 + .../Assets/Images/Logo/bow-black.ico | Bin 0 -> 67917 bytes .../Assets/Images/Logo/bow-white.ico | Bin 0 -> 20740 bytes .../Assets/Images/Logo/bow-white.svg | 12 + .../Assets/Images/Logo/bow.ico | Bin 0 -> 47090 bytes .../Assets/Images/Logo/bow.svg | 43 + .../Assets/avalonia-logo.ico | Bin 0 -> 176111 bytes .../ColorToSolidColorBrushConverter.cs | 31 + .../Converters/EnumToCollectionConverter.cs | 48 + .../Converters/LedIdToStringConverter.cs | 28 + .../NormalizedPercentageConverter.cs | 29 + .../Converters/UriToFileNameConverter.cs | 22 + .../Converters/ValuesAdditionConverter.cs | 18 + src/Artemis.UI.Avalonia/MainWindow.axaml | 14 + src/Artemis.UI.Avalonia/MainWindow.axaml.cs | 23 + .../Ninject/Factories/IVMFactory.cs | 15 + src/Artemis.UI.Avalonia/Ninject/UIModule.cs | 43 + src/Artemis.UI.Avalonia/Program.cs | 29 + .../Screens/Home/ViewModels/HomeViewModel.cs | 15 + .../Screens/MainScreenViewModel.cs | 7 + .../Screens/Root/ViewModels/RootViewModel.cs | 27 + .../ViewModels/SidebarCategoryViewModel.cs | 72 + .../SidebarProfileConfigurationViewModel.cs | 31 + .../Root/ViewModels/SidebarScreenViewModel.cs | 31 + .../Root/ViewModels/SidebarViewModel.cs | 63 + .../Screens/Root/Views/RootView.axaml | 29 + .../Screens/Root/Views/RootView.axaml.cs | 19 + .../Root/Views/SidebarCategoryView.axaml | 136 ++ .../Root/Views/SidebarCategoryView.axaml.cs | 29 + .../SidebarProfileConfigurationView.axaml | 124 ++ .../SidebarProfileConfigurationView.axaml.cs | 18 + .../Root/Views/SidebarScreenView.axaml | 12 + .../Root/Views/SidebarScreenView.axaml.cs | 18 + .../Screens/Root/Views/SidebarView.axaml | 114 ++ .../Screens/Root/Views/SidebarView.axaml.cs | 18 + .../ViewModels/SurfaceEditorViewModel.cs | 10 + .../ViewModels/SurfaceEditorViewModel.cs | 10 + .../Workshop/ViewModels/WorkshopViewModel.cs | 10 + src/Artemis.UI.Avalonia/Styles/Button.axaml | 55 + src/Artemis.UI.Avalonia/Styles/Sidebar.axaml | 20 + src/Artemis.UI.Avalonia/ViewLocator.cs | 26 + src/Artemis.UI.Avalonia/ViewModelBase.cs | 15 + src/Artemis.UI.Avalonia/packages.lock.json | 1682 +++++++++++++++++ src/Artemis.UI.Shared/packages.lock.json | 2 +- src/Artemis.sln | 32 + 80 files changed, 4901 insertions(+), 31 deletions(-) create mode 100644 src/.idea/.idea.Artemis/.idea/.gitignore create mode 100644 src/.idea/.idea.Artemis/.idea/.name create mode 100644 src/.idea/.idea.Artemis/.idea/avalonia.xml create mode 100644 src/.idea/.idea.Artemis/.idea/encodings.xml create mode 100644 src/.idea/.idea.Artemis/.idea/indexLayout.xml create mode 100644 src/.idea/.idea.Artemis/.idea/vcs.xml create mode 100644 src/Artemis.UI.Avalonia.Shared/Artemis.UI.Avalonia.Shared.csproj create mode 100644 src/Artemis.UI.Avalonia.Shared/Controls/DeviceVisualizer.cs create mode 100644 src/Artemis.UI.Avalonia.Shared/Controls/ProfileConfigurationIcon.axaml create mode 100644 src/Artemis.UI.Avalonia.Shared/Controls/ProfileConfigurationIcon.axaml.cs create mode 100644 src/Artemis.UI.Avalonia.Shared/nuget.config create mode 100644 src/Artemis.UI.Avalonia.Shared/packages.lock.json create mode 100644 src/Artemis.UI.Avalonia/App.axaml create mode 100644 src/Artemis.UI.Avalonia/App.axaml.cs create mode 100644 src/Artemis.UI.Avalonia/Artemis.UI.Avalonia.csproj create mode 100644 src/Artemis.UI.Avalonia/Assets/Images/Logo/bow-black.ico create mode 100644 src/Artemis.UI.Avalonia/Assets/Images/Logo/bow-white.ico create mode 100644 src/Artemis.UI.Avalonia/Assets/Images/Logo/bow-white.svg create mode 100644 src/Artemis.UI.Avalonia/Assets/Images/Logo/bow.ico create mode 100644 src/Artemis.UI.Avalonia/Assets/Images/Logo/bow.svg create mode 100644 src/Artemis.UI.Avalonia/Assets/avalonia-logo.ico create mode 100644 src/Artemis.UI.Avalonia/Converters/ColorToSolidColorBrushConverter.cs create mode 100644 src/Artemis.UI.Avalonia/Converters/EnumToCollectionConverter.cs create mode 100644 src/Artemis.UI.Avalonia/Converters/LedIdToStringConverter.cs create mode 100644 src/Artemis.UI.Avalonia/Converters/NormalizedPercentageConverter.cs create mode 100644 src/Artemis.UI.Avalonia/Converters/UriToFileNameConverter.cs create mode 100644 src/Artemis.UI.Avalonia/Converters/ValuesAdditionConverter.cs create mode 100644 src/Artemis.UI.Avalonia/MainWindow.axaml create mode 100644 src/Artemis.UI.Avalonia/MainWindow.axaml.cs create mode 100644 src/Artemis.UI.Avalonia/Ninject/Factories/IVMFactory.cs create mode 100644 src/Artemis.UI.Avalonia/Ninject/UIModule.cs create mode 100644 src/Artemis.UI.Avalonia/Program.cs create mode 100644 src/Artemis.UI.Avalonia/Screens/Home/ViewModels/HomeViewModel.cs create mode 100644 src/Artemis.UI.Avalonia/Screens/MainScreenViewModel.cs create mode 100644 src/Artemis.UI.Avalonia/Screens/Root/ViewModels/RootViewModel.cs create mode 100644 src/Artemis.UI.Avalonia/Screens/Root/ViewModels/SidebarCategoryViewModel.cs create mode 100644 src/Artemis.UI.Avalonia/Screens/Root/ViewModels/SidebarProfileConfigurationViewModel.cs create mode 100644 src/Artemis.UI.Avalonia/Screens/Root/ViewModels/SidebarScreenViewModel.cs create mode 100644 src/Artemis.UI.Avalonia/Screens/Root/ViewModels/SidebarViewModel.cs create mode 100644 src/Artemis.UI.Avalonia/Screens/Root/Views/RootView.axaml create mode 100644 src/Artemis.UI.Avalonia/Screens/Root/Views/RootView.axaml.cs create mode 100644 src/Artemis.UI.Avalonia/Screens/Root/Views/SidebarCategoryView.axaml create mode 100644 src/Artemis.UI.Avalonia/Screens/Root/Views/SidebarCategoryView.axaml.cs create mode 100644 src/Artemis.UI.Avalonia/Screens/Root/Views/SidebarProfileConfigurationView.axaml create mode 100644 src/Artemis.UI.Avalonia/Screens/Root/Views/SidebarProfileConfigurationView.axaml.cs create mode 100644 src/Artemis.UI.Avalonia/Screens/Root/Views/SidebarScreenView.axaml create mode 100644 src/Artemis.UI.Avalonia/Screens/Root/Views/SidebarScreenView.axaml.cs create mode 100644 src/Artemis.UI.Avalonia/Screens/Root/Views/SidebarView.axaml create mode 100644 src/Artemis.UI.Avalonia/Screens/Root/Views/SidebarView.axaml.cs create mode 100644 src/Artemis.UI.Avalonia/Screens/Settings/ViewModels/SurfaceEditorViewModel.cs create mode 100644 src/Artemis.UI.Avalonia/Screens/SurfaceEditor/ViewModels/SurfaceEditorViewModel.cs create mode 100644 src/Artemis.UI.Avalonia/Screens/Workshop/ViewModels/WorkshopViewModel.cs create mode 100644 src/Artemis.UI.Avalonia/Styles/Button.axaml create mode 100644 src/Artemis.UI.Avalonia/Styles/Sidebar.axaml create mode 100644 src/Artemis.UI.Avalonia/ViewLocator.cs create mode 100644 src/Artemis.UI.Avalonia/ViewModelBase.cs create mode 100644 src/Artemis.UI.Avalonia/packages.lock.json diff --git a/src/.idea/.idea.Artemis/.idea/.gitignore b/src/.idea/.idea.Artemis/.idea/.gitignore new file mode 100644 index 000000000..0f04753a2 --- /dev/null +++ b/src/.idea/.idea.Artemis/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/modules.xml +/contentModel.xml +/.idea.Artemis.iml +/projectSettingsUpdater.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/src/.idea/.idea.Artemis/.idea/.name b/src/.idea/.idea.Artemis/.idea/.name new file mode 100644 index 000000000..cc79fd55c --- /dev/null +++ b/src/.idea/.idea.Artemis/.idea/.name @@ -0,0 +1 @@ +Artemis \ No newline at end of file diff --git a/src/.idea/.idea.Artemis/.idea/avalonia.xml b/src/.idea/.idea.Artemis/.idea/avalonia.xml new file mode 100644 index 000000000..e2bef8512 --- /dev/null +++ b/src/.idea/.idea.Artemis/.idea/avalonia.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.Artemis/.idea/encodings.xml b/src/.idea/.idea.Artemis/.idea/encodings.xml new file mode 100644 index 000000000..df87cf951 --- /dev/null +++ b/src/.idea/.idea.Artemis/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/.idea/.idea.Artemis/.idea/indexLayout.xml b/src/.idea/.idea.Artemis/.idea/indexLayout.xml new file mode 100644 index 000000000..7b08163ce --- /dev/null +++ b/src/.idea/.idea.Artemis/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.Artemis/.idea/vcs.xml b/src/.idea/.idea.Artemis/.idea/vcs.xml new file mode 100644 index 000000000..6c0b86358 --- /dev/null +++ b/src/.idea/.idea.Artemis/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Artemis.Core/Extensions/SKColorExtensions.cs b/src/Artemis.Core/Extensions/SKColorExtensions.cs index dbc14239f..819e09045 100644 --- a/src/Artemis.Core/Extensions/SKColorExtensions.cs +++ b/src/Artemis.Core/Extensions/SKColorExtensions.cs @@ -16,7 +16,7 @@ namespace Artemis.Core /// The RGB.NET color public static Color ToRgbColor(this SKColor color) { - return new(color.Alpha, color.Red, color.Green, color.Blue); + return new Color(color.Alpha, color.Red, color.Green, color.Blue); } /// @@ -49,7 +49,7 @@ namespace Artemis.Core /// The sum of the two colors public static SKColor Sum(this SKColor a, SKColor b) { - return new( + return new SKColor( ClampToByte(a.Red + b.Red), ClampToByte(a.Green + b.Green), ClampToByte(a.Blue + b.Blue), diff --git a/src/Artemis.Core/Models/Profile/Conditions/Abstract/DataModelConditionPart.cs b/src/Artemis.Core/Models/Profile/Conditions/Abstract/DataModelConditionPart.cs index d86df56a0..ac8ac1510 100644 --- a/src/Artemis.Core/Models/Profile/Conditions/Abstract/DataModelConditionPart.cs +++ b/src/Artemis.Core/Models/Profile/Conditions/Abstract/DataModelConditionPart.cs @@ -15,7 +15,7 @@ namespace Artemis.Core protected DataModelConditionPart() { - Children = new(_children); + Children = new ReadOnlyCollection(_children); } /// diff --git a/src/Artemis.Core/Models/Profile/DataBindings/Modes/Conditional/ConditionalDataBinding.cs b/src/Artemis.Core/Models/Profile/DataBindings/Modes/Conditional/ConditionalDataBinding.cs index d5d50125d..44261ef00 100644 --- a/src/Artemis.Core/Models/Profile/DataBindings/Modes/Conditional/ConditionalDataBinding.cs +++ b/src/Artemis.Core/Models/Profile/DataBindings/Modes/Conditional/ConditionalDataBinding.cs @@ -18,7 +18,7 @@ namespace Artemis.Core { DataBinding = dataBinding; Entity = entity; - Conditions = new(_conditions); + Conditions = new ReadOnlyCollection>(_conditions); Load(); } diff --git a/src/Artemis.Core/Models/Profile/DataBindings/Modes/DirectDataBinding.cs b/src/Artemis.Core/Models/Profile/DataBindings/Modes/DirectDataBinding.cs index 5ed0c6d67..233a5add3 100644 --- a/src/Artemis.Core/Models/Profile/DataBindings/Modes/DirectDataBinding.cs +++ b/src/Artemis.Core/Models/Profile/DataBindings/Modes/DirectDataBinding.cs @@ -17,7 +17,7 @@ namespace Artemis.Core { DataBinding = dataBinding; Entity = entity; - Modifiers = new(_modifiers); + Modifiers = new ReadOnlyCollection>(_modifiers); Load(); } diff --git a/src/Artemis.Core/Models/Profile/LayerProperties/LayerProperty.cs b/src/Artemis.Core/Models/Profile/LayerProperties/LayerProperty.cs index 6bcf8f8b2..8a4cc1d7c 100644 --- a/src/Artemis.Core/Models/Profile/LayerProperties/LayerProperty.cs +++ b/src/Artemis.Core/Models/Profile/LayerProperties/LayerProperty.cs @@ -44,7 +44,7 @@ namespace Artemis.Core _baseValue = default!; _keyframes = new List>(); - Keyframes = new(_keyframes); + Keyframes = new ReadOnlyCollection>(_keyframes); } /// diff --git a/src/Artemis.Core/Models/Profile/LayerProperties/LayerPropertyKeyFrame.cs b/src/Artemis.Core/Models/Profile/LayerProperties/LayerPropertyKeyFrame.cs index a7cd776a6..299c0638e 100644 --- a/src/Artemis.Core/Models/Profile/LayerProperties/LayerPropertyKeyFrame.cs +++ b/src/Artemis.Core/Models/Profile/LayerProperties/LayerPropertyKeyFrame.cs @@ -66,7 +66,7 @@ namespace Artemis.Core /// public KeyframeEntity GetKeyframeEntity() { - return new() + return new KeyframeEntity { Value = CoreJson.SerializeObject(Value), Position = Position, diff --git a/src/Artemis.Core/Models/Profile/LayerPropertyGroup.cs b/src/Artemis.Core/Models/Profile/LayerPropertyGroup.cs index 00658528d..130f06e87 100644 --- a/src/Artemis.Core/Models/Profile/LayerPropertyGroup.cs +++ b/src/Artemis.Core/Models/Profile/LayerPropertyGroup.cs @@ -38,8 +38,8 @@ namespace Artemis.Core _layerProperties = new List(); _layerPropertyGroups = new List(); - LayerProperties = new(_layerProperties); - LayerPropertyGroups = new(_layerPropertyGroups); + LayerProperties = new ReadOnlyCollection(_layerProperties); + LayerPropertyGroups = new ReadOnlyCollection(_layerPropertyGroups); } /// diff --git a/src/Artemis.Core/Models/Profile/ProfileCategory.cs b/src/Artemis.Core/Models/Profile/ProfileCategory.cs index c00671f56..d6b343b19 100644 --- a/src/Artemis.Core/Models/Profile/ProfileCategory.cs +++ b/src/Artemis.Core/Models/Profile/ProfileCategory.cs @@ -24,14 +24,14 @@ namespace Artemis.Core { _name = name; Entity = new ProfileCategoryEntity(); - ProfileConfigurations = new(_profileConfigurations); + ProfileConfigurations = new ReadOnlyCollection(_profileConfigurations); } internal ProfileCategory(ProfileCategoryEntity entity) { _name = null!; Entity = entity; - ProfileConfigurations = new(_profileConfigurations); + ProfileConfigurations = new ReadOnlyCollection(_profileConfigurations); Load(); } diff --git a/src/Artemis.Core/Models/Profile/ProfileElement.cs b/src/Artemis.Core/Models/Profile/ProfileElement.cs index 74bbfc0af..61b8f4f03 100644 --- a/src/Artemis.Core/Models/Profile/ProfileElement.cs +++ b/src/Artemis.Core/Models/Profile/ProfileElement.cs @@ -24,7 +24,7 @@ namespace Artemis.Core { _profile = profile; ChildrenList = new List(); - Children = new(ChildrenList); + Children = new ReadOnlyCollection(ChildrenList); } /// diff --git a/src/Artemis.Core/Models/Profile/RenderProfileElement.cs b/src/Artemis.Core/Models/Profile/RenderProfileElement.cs index 6d70fa31a..ff317d582 100644 --- a/src/Artemis.Core/Models/Profile/RenderProfileElement.cs +++ b/src/Artemis.Core/Models/Profile/RenderProfileElement.cs @@ -24,7 +24,7 @@ namespace Artemis.Core Timeline = new Timeline(); ExpandedPropertyGroups = new List(); LayerEffectsList = new List(); - LayerEffects = new(LayerEffectsList); + LayerEffects = new ReadOnlyCollection(LayerEffectsList); LayerEffectStore.LayerEffectAdded += LayerEffectStoreOnLayerEffectAdded; LayerEffectStore.LayerEffectRemoved += LayerEffectStoreOnLayerEffectRemoved; diff --git a/src/Artemis.Core/Models/Profile/Timeline.cs b/src/Artemis.Core/Models/Profile/Timeline.cs index 5e29dc86e..f090d53a9 100644 --- a/src/Artemis.Core/Models/Profile/Timeline.cs +++ b/src/Artemis.Core/Models/Profile/Timeline.cs @@ -24,7 +24,7 @@ namespace Artemis.Core MainSegmentLength = TimeSpan.FromSeconds(5); _extraTimelines = new List(); - ExtraTimelines = new(_extraTimelines); + ExtraTimelines = new ReadOnlyCollection(_extraTimelines); Save(); } @@ -33,7 +33,7 @@ namespace Artemis.Core { Entity = entity; _extraTimelines = new List(); - ExtraTimelines = new(_extraTimelines); + ExtraTimelines = new ReadOnlyCollection(_extraTimelines); Load(); } @@ -47,7 +47,7 @@ namespace Artemis.Core EndSegmentLength = Parent.EndSegmentLength; _extraTimelines = new List(); - ExtraTimelines = new(_extraTimelines); + ExtraTimelines = new ReadOnlyCollection(_extraTimelines); } /// diff --git a/src/Artemis.Core/Plugins/LayerBrushes/LayerBrushProvider.cs b/src/Artemis.Core/Plugins/LayerBrushes/LayerBrushProvider.cs index 25f72b7ac..b64ff9c4f 100644 --- a/src/Artemis.Core/Plugins/LayerBrushes/LayerBrushProvider.cs +++ b/src/Artemis.Core/Plugins/LayerBrushes/LayerBrushProvider.cs @@ -17,7 +17,7 @@ namespace Artemis.Core.LayerBrushes protected LayerBrushProvider() { _layerBrushDescriptors = new List(); - LayerBrushDescriptors = new(_layerBrushDescriptors); + LayerBrushDescriptors = new ReadOnlyCollection(_layerBrushDescriptors); Disabled += OnDisabled; } diff --git a/src/Artemis.Core/Plugins/LayerEffects/LayerEffectProvider.cs b/src/Artemis.Core/Plugins/LayerEffects/LayerEffectProvider.cs index a35eb156f..95f978117 100644 --- a/src/Artemis.Core/Plugins/LayerEffects/LayerEffectProvider.cs +++ b/src/Artemis.Core/Plugins/LayerEffects/LayerEffectProvider.cs @@ -18,7 +18,7 @@ namespace Artemis.Core.LayerEffects protected LayerEffectProvider() { _layerEffectDescriptors = new List(); - LayerEffectDescriptors = new(_layerEffectDescriptors); + LayerEffectDescriptors = new ReadOnlyCollection(_layerEffectDescriptors); Disabled += OnDisabled; } diff --git a/src/Artemis.Core/Plugins/Modules/DataModel.cs b/src/Artemis.Core/Plugins/Modules/DataModel.cs index 507584c24..510883b39 100644 --- a/src/Artemis.Core/Plugins/Modules/DataModel.cs +++ b/src/Artemis.Core/Plugins/Modules/DataModel.cs @@ -27,8 +27,8 @@ namespace Artemis.Core.Modules Module = null!; DataModelDescription = null!; - ActivePaths = new(_activePaths); - DynamicChildren = new(_dynamicChildren); + ActivePaths = new ReadOnlyCollection(_activePaths); + DynamicChildren = new ReadOnlyDictionary(_dynamicChildren); } /// diff --git a/src/Artemis.Core/Plugins/Modules/Module.cs b/src/Artemis.Core/Plugins/Modules/Module.cs index c42e378a4..ffbb45149 100644 --- a/src/Artemis.Core/Plugins/Modules/Module.cs +++ b/src/Artemis.Core/Plugins/Modules/Module.cs @@ -117,7 +117,7 @@ namespace Artemis.Core.Modules protected Module() { DefaultProfilePaths = new ReadOnlyCollection<(DefaultCategoryName, string)>(_defaultProfilePaths); - HiddenProperties = new(HiddenPropertiesList); + HiddenProperties = new ReadOnlyCollection(HiddenPropertiesList); } /// @@ -237,7 +237,7 @@ namespace Artemis.Core.Modules /// public virtual DataModelPropertyAttribute GetDataModelDescription() { - return new() {Name = Info.Name, Description = Info.Description}; + return new DataModelPropertyAttribute {Name = Info.Name, Description = Info.Description}; } /// diff --git a/src/Artemis.Core/Plugins/Plugin.cs b/src/Artemis.Core/Plugins/Plugin.cs index c82eab146..993a9c8a8 100644 --- a/src/Artemis.Core/Plugins/Plugin.cs +++ b/src/Artemis.Core/Plugins/Plugin.cs @@ -31,8 +31,8 @@ namespace Artemis.Core _features = new List(); _profilers = new List(); - Features = new(_features); - Profilers = new(_profilers); + Features = new ReadOnlyCollection(_features); + Profilers = new ReadOnlyCollection(_profilers); } /// diff --git a/src/Artemis.Core/Plugins/Profiling/ProfilingMeasurement.cs b/src/Artemis.Core/Plugins/Profiling/ProfilingMeasurement.cs index eed3a391d..a6d16fef6 100644 --- a/src/Artemis.Core/Plugins/Profiling/ProfilingMeasurement.cs +++ b/src/Artemis.Core/Plugins/Profiling/ProfilingMeasurement.cs @@ -70,7 +70,7 @@ namespace Artemis.Core /// public TimeSpan GetLast() { - return new(_last); + return new TimeSpan(_last); } /// diff --git a/src/Artemis.Core/Plugins/ScriptingProviders/ScriptingProvider.cs b/src/Artemis.Core/Plugins/ScriptingProviders/ScriptingProvider.cs index 0ae720943..0d51253e4 100644 --- a/src/Artemis.Core/Plugins/ScriptingProviders/ScriptingProvider.cs +++ b/src/Artemis.Core/Plugins/ScriptingProviders/ScriptingProvider.cs @@ -46,7 +46,7 @@ namespace Artemis.Core.ScriptingProviders { protected ScriptingProvider() { - Scripts = new(InternalScripts); + Scripts = new ReadOnlyCollection