Octgn.Play.PlayWindow.PhaseClicked C# (CSharp) Method

PhaseClicked() public method

public PhaseClicked ( object sender, RoutedEventArgs e ) : void
sender object
e System.Windows.RoutedEventArgs
return void
        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;
            }
        }