private void onCoreStateChanged(JudgeCode code) { switch (code) { case JudgeCode.Started: isEnd = false; onStarted(); break; case JudgeCode.Ended: if (string.IsNullOrEmpty(core.WinnerToken)) { onEndedUIThread(Properties.Resources.TieEnded); } break; case JudgeCode.Active: onActive(core.IsHostActive); break; case JudgeCode.NewWinner: string winner = core.WinnerToken == core.HostToken ? hostName : joinName; onEndedUIThread(winner + " " + Properties.Resources.WinTheGame); break; } }
private void raiseJudged(string token, JudgeCode code, object extra = null) { lock (judgeLockHelper) { OnJudged?.Invoke(token, code, extra); } }
public void OnStateJudge(JudgeCode code) { if (IsEnded) { Useful = false; } }
public override void OnBasicJudge(string token, JudgeCode code) { base.OnBasicJudge(token, code); if (code == JudgeCode.Active) { analysis(ActiveToken); } }
public void OnBasicJudge(string token, JudgeCode code) { if (code == JudgeCode.Joined && token != HostToken) { if (string.IsNullOrEmpty(JoinToken)) { JoinToken = token; } } }
public override void OnJudgeInput(string token, JudgeCode code, IntPoint p) { base.OnJudgeInput(token, code, p); if (code == JudgeCode.Input) { Board?.Dispatcher.Invoke(() => Board.DrawChess(p.X, p.Y, IsHostActive)); } else if (code == JudgeCode.Undo) { Board?.Dispatcher.Invoke(() => Board.RemoveChess(p.X, p.Y)); } }
private void onStateJudge(JudgeCode code, bool started) { IsStarted = started; IsEnded = !started; if (IsStarted) { WinnerToken = string.Empty; } Debug.WriteLine("State " + started); raiseStateChange(code); resolver.OnStateJudge(code); }
private void onJudged(string judgeToken, JudgeCode code, object extra) { string proxyToken = findCastToken(judgeToken); var data = new List <object>() { code }; if (extra != null) { data.Add(extra); } BroadcastJudgeMsg(proxyToken, data.ToArray()); }
public virtual void OnBasicJudge(string token, JudgeCode code) { if (code == JudgeCode.Joined) { int boxId = Judges.GetBoxId(token); if (token == HostToken) { hostBoxId = boxId; } else if (token == JoinToken) { joinBoxId = boxId; } } }
public void OnJudge(string token, object[] data) { int size = ProxyEx.ValidSize(data); if (size < 1) { return; } JudgeCode code = (JudgeCode)data[0]; switch (code) { case JudgeCode.Started: onStateJudge(code, true); break; case JudgeCode.Ended: onStateJudge(code, false); break; case JudgeCode.Active: ActiveToken = token; raiseStateChange(code); break; case JudgeCode.NewWinner: WinnerToken = token; raiseStateChange(code); break; case JudgeCode.Reset: raiseStateChange(code); resolver.OnStateJudge(code); break; } if (size == 2 && (code == JudgeCode.Input || code == JudgeCode.Undo)) { var input = (InputAction)data[1]; IntPoint p = (IntPoint)input.Data; resolver.OnJudgeInput(token, code, p); } resolver.OnBasicJudge(token, code); Debug.WriteLine("[Judge]-[" + code + "] " + token); }
public virtual void OnStateJudge(JudgeCode code) { switch (code) { case JudgeCode.Reset: Useful = true; break; case JudgeCode.Started: if (Board != null) { Board.Dispatcher.Invoke(() => Board.ClearChess()); } Useful = true; break; case JudgeCode.Ended: Useful = false; break; } }
public override void OnJudgeInput(string token, JudgeCode code, IntPoint p) { base.OnJudgeInput(token, code, p); Board?.Dispatcher.Invoke(() => Board.DrawChess(p.X, p.Y, IsHostActive)); }
public void RaiseStateChange(JudgeCode code) { StateChanged?.Invoke(code); }
public void OnJudgeInput(string token, JudgeCode code, IntPoint p) { board?.Dispatcher.Invoke(() => board.DrawChess(p.X, p.Y, IsHostActive)); }
public virtual void OnJudgeInput(string token, JudgeCode code, IntPoint p) { }
private void raiseStateChange(JudgeCode code) { resolver.RaiseStateChange(code); }