mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Added smoothness-setting to bubbles effect
This commit is contained in:
parent
83c64d6cc3
commit
2420aa6bc4
@ -277,6 +277,9 @@
|
|||||||
<setting name="BubbleCount" serializeAs="String">
|
<setting name="BubbleCount" serializeAs="String">
|
||||||
<value>14</value>
|
<value>14</value>
|
||||||
</setting>
|
</setting>
|
||||||
|
<setting name="Smoothness" serializeAs="String">
|
||||||
|
<value>25</value>
|
||||||
|
</setting>
|
||||||
</Artemis.Modules.Effects.Bubbles.Bubbles>
|
</Artemis.Modules.Effects.Bubbles.Bubbles>
|
||||||
<Artemis.Settings.General>
|
<Artemis.Settings.General>
|
||||||
<setting name="LastEffect" serializeAs="String">
|
<setting name="LastEffect" serializeAs="String">
|
||||||
|
|||||||
@ -106,5 +106,17 @@ namespace Artemis.Modules.Effects.Bubbles {
|
|||||||
this["BubbleCount"] = value;
|
this["BubbleCount"] = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("25")]
|
||||||
|
public int Smoothness {
|
||||||
|
get {
|
||||||
|
return ((int)(this["Smoothness"]));
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this["Smoothness"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,5 +23,8 @@
|
|||||||
<Setting Name="BubbleCount" Type="System.Int32" Scope="User">
|
<Setting Name="BubbleCount" Type="System.Int32" Scope="User">
|
||||||
<Value Profile="(Default)">14</Value>
|
<Value Profile="(Default)">14</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
|
<Setting Name="Smoothness" Type="System.Int32" Scope="User">
|
||||||
|
<Value Profile="(Default)">25</Value>
|
||||||
|
</Setting>
|
||||||
</Settings>
|
</Settings>
|
||||||
</SettingsFile>
|
</SettingsFile>
|
||||||
@ -28,7 +28,6 @@ namespace Artemis.Modules.Effects.Bubbles
|
|||||||
: base(mainManager, null)
|
: base(mainManager, null)
|
||||||
{
|
{
|
||||||
Name = "Bubbles";
|
Name = "Bubbles";
|
||||||
KeyboardScale = 25;
|
|
||||||
Settings = settings;
|
Settings = settings;
|
||||||
Initialized = false;
|
Initialized = false;
|
||||||
}
|
}
|
||||||
@ -39,18 +38,23 @@ namespace Artemis.Modules.Effects.Bubbles
|
|||||||
|
|
||||||
public override void Enable()
|
public override void Enable()
|
||||||
{
|
{
|
||||||
|
KeyboardScale = Settings.Smoothness;
|
||||||
|
|
||||||
Rect rect = MainManager.DeviceManager.ActiveKeyboard.KeyboardRectangle(KeyboardScale);
|
Rect rect = MainManager.DeviceManager.ActiveKeyboard.KeyboardRectangle(KeyboardScale);
|
||||||
|
|
||||||
|
double scaleFactor = Settings.Smoothness / 25.0;
|
||||||
|
|
||||||
for (int i = 0; i < Settings.BubbleCount; i++)
|
for (int i = 0; i < Settings.BubbleCount; i++)
|
||||||
{
|
{
|
||||||
Color color = Settings.IsRandomColors ? ColorHelpers.GetRandomRainbowColor() : ColorHelpers.ToDrawingColor(Settings.BubbleColor);
|
Color color = Settings.IsRandomColors ? ColorHelpers.GetRandomRainbowColor() : ColorHelpers.ToDrawingColor(Settings.BubbleColor);
|
||||||
// -Settings.MoveSpeed because we want to spawn at least one move away from borders
|
// -Settings.MoveSpeed because we want to spawn at least one move away from borders
|
||||||
double initialPositionX = ((rect.Width - (Settings.BubbleSize * 2) - Settings.MoveSpeed) * _random.NextDouble()) + Settings.BubbleSize;
|
double initialPositionX = ((rect.Width - (Settings.BubbleSize * scaleFactor * 2) - Settings.MoveSpeed * scaleFactor) * _random.NextDouble()) + Settings.BubbleSize * scaleFactor;
|
||||||
double initialPositionY = ((rect.Height - (Settings.BubbleSize * 2) - Settings.MoveSpeed) * _random.NextDouble()) + Settings.BubbleSize;
|
double initialPositionY = ((rect.Height - (Settings.BubbleSize * scaleFactor * 2) - Settings.MoveSpeed * scaleFactor) * _random.NextDouble()) + Settings.BubbleSize * scaleFactor;
|
||||||
double initialDirectionX = (Settings.MoveSpeed * _random.NextDouble()) * (_random.Next(1) == 0 ? -1 : 1);
|
double initialDirectionX = (Settings.MoveSpeed * scaleFactor * _random.NextDouble()) * (_random.Next(1) == 0 ? -1 : 1);
|
||||||
double initialDirectionY = (Settings.MoveSpeed - Math.Abs(initialDirectionX)) * (_random.Next(1) == 0 ? -1 : 1);
|
double initialDirectionY = (Settings.MoveSpeed * scaleFactor - Math.Abs(initialDirectionX)) * (_random.Next(1) == 0 ? -1 : 1);
|
||||||
|
|
||||||
_bubbles.Add(new Bubble(color, Settings.BubbleSize, new System.Windows.Point(initialPositionX, initialPositionY), new Vector(initialDirectionX, initialDirectionY)));
|
_bubbles.Add(new Bubble(color, (int)Math.Round(Settings.BubbleSize * scaleFactor),
|
||||||
|
new System.Windows.Point(initialPositionX, initialPositionY), new Vector(initialDirectionX, initialDirectionY)));
|
||||||
}
|
}
|
||||||
|
|
||||||
Initialized = true;
|
Initialized = true;
|
||||||
|
|||||||
@ -17,6 +17,7 @@ namespace Artemis.Modules.Effects.Bubbles
|
|||||||
public int BubbleSize { get; set; }
|
public int BubbleSize { get; set; }
|
||||||
public int MoveSpeed { get; set; }
|
public int MoveSpeed { get; set; }
|
||||||
public int BubbleCount { get; set; }
|
public int BubbleCount { get; set; }
|
||||||
|
public int Smoothness { get; set; }
|
||||||
|
|
||||||
public sealed override void Load()
|
public sealed override void Load()
|
||||||
{
|
{
|
||||||
@ -27,6 +28,7 @@ namespace Artemis.Modules.Effects.Bubbles
|
|||||||
BubbleSize = Bubbles.Default.BubbleSize;
|
BubbleSize = Bubbles.Default.BubbleSize;
|
||||||
MoveSpeed = Bubbles.Default.MoveSpeed;
|
MoveSpeed = Bubbles.Default.MoveSpeed;
|
||||||
BubbleCount = Bubbles.Default.BubbleCount;
|
BubbleCount = Bubbles.Default.BubbleCount;
|
||||||
|
Smoothness = Bubbles.Default.Smoothness;
|
||||||
}
|
}
|
||||||
|
|
||||||
public sealed override void Save()
|
public sealed override void Save()
|
||||||
@ -38,6 +40,7 @@ namespace Artemis.Modules.Effects.Bubbles
|
|||||||
Bubbles.Default.BubbleSize = BubbleSize;
|
Bubbles.Default.BubbleSize = BubbleSize;
|
||||||
Bubbles.Default.MoveSpeed = MoveSpeed;
|
Bubbles.Default.MoveSpeed = MoveSpeed;
|
||||||
Bubbles.Default.BubbleCount = BubbleCount;
|
Bubbles.Default.BubbleCount = BubbleCount;
|
||||||
|
Bubbles.Default.Smoothness = Smoothness;
|
||||||
|
|
||||||
Bubbles.Default.Save();
|
Bubbles.Default.Save();
|
||||||
}
|
}
|
||||||
@ -51,6 +54,7 @@ namespace Artemis.Modules.Effects.Bubbles
|
|||||||
BubbleSize = 25;
|
BubbleSize = 25;
|
||||||
MoveSpeed = 4;
|
MoveSpeed = 4;
|
||||||
BubbleCount = 14;
|
BubbleCount = 14;
|
||||||
|
Smoothness = 25;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,6 +24,7 @@
|
|||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition Height="*" />
|
<RowDefinition Height="*" />
|
||||||
|
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
@ -119,9 +120,19 @@
|
|||||||
HorizontalAlignment="Right" Width="110" TickPlacement="None" TickFrequency="1"
|
HorizontalAlignment="Right" Width="110" TickPlacement="None" TickFrequency="1"
|
||||||
Value="{Binding Path=EffectSettings.MoveSpeed, Mode=TwoWay}" Minimum="1" Maximum="15"
|
Value="{Binding Path=EffectSettings.MoveSpeed, Mode=TwoWay}" Minimum="1" Maximum="15"
|
||||||
SmallChange="10" IsSnapToTickEnabled="True" />
|
SmallChange="10" IsSnapToTickEnabled="True" />
|
||||||
|
|
||||||
|
<!-- Smoothness -->
|
||||||
|
<TextBlock Grid.Row="9" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center"
|
||||||
|
Height="16" Margin="0,9,0,10">
|
||||||
|
Smoothness
|
||||||
|
</TextBlock>
|
||||||
|
<Slider x:Name="Smoothness" Grid.Row="9" Grid.Column="1" VerticalAlignment="Center"
|
||||||
|
HorizontalAlignment="Right" Width="110" TickPlacement="None" TickFrequency="1"
|
||||||
|
Value="{Binding Path=EffectSettings.Smoothness, Mode=TwoWay}" Minimum="1" Maximum="100"
|
||||||
|
SmallChange="10" IsSnapToTickEnabled="True" />
|
||||||
|
|
||||||
<!-- Buttons -->
|
<!-- Buttons -->
|
||||||
<StackPanel Grid.Column="0" Grid.Row="9" Orientation="Horizontal" VerticalAlignment="Bottom">
|
<StackPanel Grid.Column="0" Grid.Row="10" Orientation="Horizontal" VerticalAlignment="Bottom">
|
||||||
<Button x:Name="ResetSettings" Content="Reset effect" VerticalAlignment="Top" Width="100"
|
<Button x:Name="ResetSettings" Content="Reset effect" VerticalAlignment="Top" Width="100"
|
||||||
Style="{DynamicResource SquareButtonStyle}" />
|
Style="{DynamicResource SquareButtonStyle}" />
|
||||||
<Button x:Name="SaveSettings" Content="Save changes" VerticalAlignment="Top" Width="100"
|
<Button x:Name="SaveSettings" Content="Save changes" VerticalAlignment="Top" Width="100"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user