Align frontend pulse contract and tasks
This commit is contained in:
@@ -217,9 +217,9 @@ public sealed partial class MainWindow
|
||||
}
|
||||
}
|
||||
|
||||
private void EndTurn_Click(object sender, RoutedEventArgs e)
|
||||
private void DebugPulse_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
RunSimulationStep();
|
||||
RunDebugPulse();
|
||||
}
|
||||
|
||||
private void PlayPause_Click(object sender, RoutedEventArgs e)
|
||||
@@ -232,7 +232,7 @@ public sealed partial class MainWindow
|
||||
|
||||
private void SimulationTimer_Tick(object? sender, object e)
|
||||
{
|
||||
RunSimulationStep();
|
||||
RunDebugPulse();
|
||||
}
|
||||
|
||||
private void StartSimulationTimer()
|
||||
@@ -254,9 +254,9 @@ public sealed partial class MainWindow
|
||||
PlayPauseButton.Label = isPlaying ? "Pause" : "Play";
|
||||
}
|
||||
|
||||
private void RunSimulationStep()
|
||||
private void RunDebugPulse()
|
||||
{
|
||||
m_Level = m_Simulation.EndTurn(m_Level);
|
||||
m_Level = m_Simulation.AdvancePulseForDebug(m_Level);
|
||||
RefreshInspector();
|
||||
LevelCanvas.Invalidate();
|
||||
}
|
||||
@@ -878,7 +878,7 @@ public sealed partial class MainWindow
|
||||
private void RefreshInspector()
|
||||
{
|
||||
LevelNameText.Text = m_Level.Name;
|
||||
TurnText.Text = m_Level.Global.Turn.ToString(CultureInfo.InvariantCulture);
|
||||
TurnText.Text = m_Level.Global.Pulse.ToString(CultureInfo.InvariantCulture);
|
||||
StatusText.Text = string.IsNullOrWhiteSpace(m_EditorFeedback)
|
||||
? $"{m_Level.Global.LevelState}: {m_Level.Global.Status}"
|
||||
: $"{m_Level.Global.LevelState}: {m_EditorFeedback}";
|
||||
@@ -1152,6 +1152,9 @@ public sealed partial class MainWindow
|
||||
EPropType.Junction => ColorHelper.FromArgb(255, 143, 111, 178),
|
||||
EPropType.Door => ColorHelper.FromArgb(255, 187, 119, 55),
|
||||
EPropType.AllSeeingEyeTerminal => ColorHelper.FromArgb(255, 85, 151, 156),
|
||||
EPropType.IsolationValve => CarrierColor(prop.Carrier),
|
||||
EPropType.SprinklerControl => ColorHelper.FromArgb(255, 54, 150, 186),
|
||||
EPropType.SprinklerValve => ColorHelper.FromArgb(255, 38, 112, 150),
|
||||
EPropType.RemedySupply => ColorHelper.FromArgb(255, 76, 145, 86),
|
||||
EPropType.ReactorControl => ColorHelper.FromArgb(255, 177, 72, 73),
|
||||
_ => Colors.Gray
|
||||
@@ -1178,6 +1181,9 @@ public sealed partial class MainWindow
|
||||
EEditorTool.Junction => EPropType.Junction,
|
||||
EEditorTool.Door => EPropType.Door,
|
||||
EEditorTool.AllSeeingEyeTerminal => EPropType.AllSeeingEyeTerminal,
|
||||
EEditorTool.IsolationValve => EPropType.IsolationValve,
|
||||
EEditorTool.SprinklerControl => EPropType.SprinklerControl,
|
||||
EEditorTool.SprinklerValve => EPropType.SprinklerValve,
|
||||
EEditorTool.RemedySupply => EPropType.RemedySupply,
|
||||
EEditorTool.ReactorControl => EPropType.ReactorControl,
|
||||
_ => EPropType.None
|
||||
@@ -1192,6 +1198,9 @@ public sealed partial class MainWindow
|
||||
EPropType.Junction => "prop-junction",
|
||||
EPropType.Door => "prop-door",
|
||||
EPropType.AllSeeingEyeTerminal => "prop-eye-terminal",
|
||||
EPropType.IsolationValve => "prop-isolation-valve",
|
||||
EPropType.SprinklerControl => "prop-sprinkler-control",
|
||||
EPropType.SprinklerValve => "prop-sprinkler-valve",
|
||||
EPropType.RemedySupply => "prop-remedy",
|
||||
EPropType.ReactorControl => "prop-reactor",
|
||||
_ => "prop"
|
||||
@@ -1231,6 +1240,9 @@ public sealed partial class MainWindow
|
||||
EPropType.Junction => $"J {prop.JunctionMode}",
|
||||
EPropType.Door => "DOOR",
|
||||
EPropType.AllSeeingEyeTerminal => "EYE",
|
||||
EPropType.IsolationValve => prop.IsOpen ? "V OPEN" : "V CLOSED",
|
||||
EPropType.SprinklerControl => prop.IsEnabled ? "SPR ON" : "SPR OFF",
|
||||
EPropType.SprinklerValve => "SPR",
|
||||
EPropType.RemedySupply => RemedyShort(prop.RemedyType),
|
||||
EPropType.ReactorControl => "REACT",
|
||||
_ => string.Empty
|
||||
@@ -1300,10 +1312,15 @@ public sealed partial class MainWindow
|
||||
CarrierTool(EEditorTool.Flow, ECarrierType.Fuel, "Fuel Source"),
|
||||
CarrierTool(EEditorTool.Flow, ECarrierType.Water, "Water Source"),
|
||||
CarrierTool(EEditorTool.Flow, ECarrierType.Electricity, "Electric Source"),
|
||||
CarrierTool(EEditorTool.IsolationValve, ECarrierType.Fuel, "Fuel Valve"),
|
||||
CarrierTool(EEditorTool.IsolationValve, ECarrierType.Water, "Water Valve"),
|
||||
CarrierTool(EEditorTool.IsolationValve, ECarrierType.Electricity, "Electric Valve"),
|
||||
Tool(EEditorTool.Consumer, "Consumer"),
|
||||
Tool(EEditorTool.Junction, "Junction"),
|
||||
Tool(EEditorTool.Door, "Door"),
|
||||
Tool(EEditorTool.AllSeeingEyeTerminal, "Eye Terminal"),
|
||||
Tool(EEditorTool.SprinklerControl, "Sprinkler Control"),
|
||||
Tool(EEditorTool.SprinklerValve, "Sprinkler Valve"),
|
||||
RemedyTool(ERemedyType.FuelNeutralizer, "Fuel Remedy"),
|
||||
RemedyTool(ERemedyType.WaterNeutralizer, "Water Remedy"),
|
||||
RemedyTool(ERemedyType.ElectricityNeutralizer, "Electric Remedy"),
|
||||
@@ -1333,6 +1350,9 @@ public sealed partial class MainWindow
|
||||
or EEditorTool.Junction
|
||||
or EEditorTool.Door
|
||||
or EEditorTool.AllSeeingEyeTerminal
|
||||
or EEditorTool.IsolationValve
|
||||
or EEditorTool.SprinklerControl
|
||||
or EEditorTool.SprinklerValve
|
||||
or EEditorTool.RemedySupply
|
||||
or EEditorTool.ReactorControl
|
||||
or EEditorTool.SurfaceHazard
|
||||
@@ -1341,7 +1361,7 @@ public sealed partial class MainWindow
|
||||
}
|
||||
|
||||
var activeCarrier = LayerCarrier(m_ActiveLayer);
|
||||
return command.Carrier == activeCarrier && command.Tool is EEditorTool.Underground or EEditorTool.Flow or EEditorTool.Leak;
|
||||
return command.Carrier == activeCarrier && command.Tool is EEditorTool.Underground or EEditorTool.Flow or EEditorTool.Leak or EEditorTool.IsolationValve;
|
||||
}
|
||||
|
||||
private void RefreshForecasts()
|
||||
|
||||
Reference in New Issue
Block a user