101 lines
3.9 KiB
C#
101 lines
3.9 KiB
C#
using Avalonia.Media;
|
|
using Avalonia.Threading;
|
|
using AvaloniaApplication1.ViewModels;
|
|
using DaireApplication.DataBase;
|
|
using DaireApplication.Views;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace DaireApplication.Loops
|
|
{
|
|
public class InteractiveUILoop
|
|
{
|
|
public static async void Flashing(MainWindow _mainWindow)
|
|
{
|
|
while (true)
|
|
{
|
|
// Flashing Pre Heater on
|
|
if (_mainWindow.isFlashPreHeating)
|
|
{
|
|
Dispatcher.UIThread.Post(() =>
|
|
{
|
|
if (_mainWindow.PreHeatingBtn.Foreground == Brushes.Transparent)
|
|
{
|
|
_mainWindow.PreHeatingBtn.Foreground = Brushes.White;
|
|
}
|
|
else
|
|
{
|
|
_mainWindow.PreHeatingBtn.Foreground = Brushes.Transparent;
|
|
}
|
|
|
|
});
|
|
}
|
|
// Flashing Pre Heater off
|
|
if (!_mainWindow.isFlashPreHeating)
|
|
{
|
|
Dispatcher.UIThread.Post(() =>
|
|
{
|
|
_mainWindow.PreHeatingBtn.Foreground = Brushes.White;
|
|
});
|
|
}
|
|
// Flashing Mixer on
|
|
if (_mainWindow.startMixerMotorFlashing == 1)
|
|
{
|
|
Dispatcher.UIThread.Post(() =>
|
|
{
|
|
if (_mainWindow.ContentArea.Content is Settings result)
|
|
{
|
|
var motorLable = result.MixerSP.Children[1] as Avalonia.Controls.Label;
|
|
var motorRectangel = result.MixerSP.Children[2] as Avalonia.Controls.Shapes.Rectangle;
|
|
if (motorLable.Foreground.ToString() == "#ff231f20")
|
|
{
|
|
motorLable.Foreground = Brushes.Transparent ;
|
|
motorRectangel.Fill = Brushes.Transparent;
|
|
}
|
|
else
|
|
{
|
|
motorLable.Foreground = Brush.Parse("#ff231f20");
|
|
motorRectangel.Fill = Brush.Parse(_mainWindow.PassiveColor);
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
});
|
|
}
|
|
|
|
// Flashing Fountain on (only when not in pedal auto mode)
|
|
if (_mainWindow.startFountainMotorFlashing == 1 && !_mainWindow.isPedalAutoMode)
|
|
{
|
|
Dispatcher.UIThread.Post(() =>
|
|
{
|
|
if (_mainWindow.ContentArea.Content is Settings result)
|
|
{
|
|
var fountainLable = result.FountainSP.Children[1] as Avalonia.Controls.Label;
|
|
var fountainRectangel = result.FountainSP.Children[2] as Avalonia.Controls.Shapes.Rectangle;
|
|
if (fountainLable.Foreground.ToString() == "#ff231f20")
|
|
{
|
|
fountainLable.Foreground = Brushes.Transparent;
|
|
fountainRectangel.Fill = Brushes.Transparent;
|
|
}
|
|
else
|
|
{
|
|
fountainLable.Foreground = Brush.Parse("#ff231f20");
|
|
fountainRectangel.Fill = Brush.Parse(_mainWindow.PassiveColor);
|
|
|
|
|
|
}
|
|
}
|
|
});
|
|
}
|
|
Thread.Sleep(250);
|
|
}
|
|
}
|
|
}
|
|
}
|