This repository has been archived on 2025-06-24. You can view files and clone it, but cannot push or open issues or pull requests.
superstar/SequenceManager.cs
2025-03-18 11:35:10 +08:00

63 lines
1.8 KiB
C#

namespace DualScreenDemo
{
public class SequenceManager
{
private ClickSequenceState currentState = ClickSequenceState.Initial;
public void ProcessClick(string position)
{
switch (currentState)
{
case ClickSequenceState.Initial:
if (position == "中間")
{
currentState = ClickSequenceState.FirstClicked;
}
break;
case ClickSequenceState.FirstClicked:
if (position == "右上")
{
currentState = ClickSequenceState.SecondClicked;
}
else
{
ResetState();
}
break;
case ClickSequenceState.SecondClicked:
if (position == "左上")
{
currentState = ClickSequenceState.ThirdClicked;
}
else
{
ResetState();
}
break;
case ClickSequenceState.ThirdClicked:
if (position == "謝謝")
{
currentState = ClickSequenceState.Completed;
PerformShutdown();
}
else
{
ResetState();
}
break;
}
}
private void ResetState()
{
currentState = ClickSequenceState.Initial;
}
private void PerformShutdown()
{
System.Diagnostics.Process.Start("shutdown", "/s /t 0");
}
}
}