public void PhaseClicked(object sender, RoutedEventArgs e)
{
var btn = (Button)sender;
var phase = (Phase)btn.DataContext;
if (Program.GameEngine.TurnPlayer == Player.LocalPlayer)
{
if (Program.GameEngine.Definition.Events.ContainsKey("OverridePhasePassed"))
{
Program.GameEngine.EventProxy.OverridePhasePassed_3_1_0_2(phase.Name, phase.Id);
return;
}
// turnplayer can change phases
Program.Client.Rpc.SetPhase(Program.GameEngine.CurrentPhase == null ? (byte)0 : Program.GameEngine.CurrentPhase.Id, phase.Id, false);
}
else
{
// other players can pause the phase change
Program.Client.Rpc.StopPhaseReq(Program.GameEngine.TurnNumber, phase.Id, !phase.Hold);
phase.Hold = !phase.Hold;
}
}