public async void AddCard(Card card, PlayerPosition playerPosition) { if (Cards.Count < gameState.TrickCards) { Cards.Add(playerPosition, card); PlayerTurn = GetNextPlayerPosition(playerPosition); OnDisplay?.Invoke(); } if (Cards.Count == gameState.TrickCards) { await Task.Delay(gameState.SimulateDelay); } OnPlay?.Invoke(); if (Cards.Count == gameState.TrickCards || gameState.RoundWinner != PlayerPosition.NoOne) { if (gameState.RoundWinner != PlayerPosition.NoOne && Cards.Count < gameState.TrickCards) { await Task.Delay(gameState.SimulateDelay); } Cards.Clear(); OnDisplay?.Invoke(); } if (PlayerTurn == PlayerPosition.First && gameState.RoundWinner == PlayerPosition.NoOne) { OnGamePlayerTurn?.Invoke(); } }
/// <summary> /// 监控文件管理逻辑信息 /// </summary> private void ShowMonitorInfo() { new Thread(new ThreadStart(() => { string result; long oldSended = 0; long oldRecevied = 0; long s_speed = 0; long r_speed = 0; while (true) { result = string.Empty; while (true) { if (_beginSend && _beginReceive) { s_speed = _sender.Out - oldSended; oldSended = _sender.Out; r_speed = _receiver.In - oldRecevied; oldRecevied = _receiver.In; result = string.Format("总数:{0} 已发送:{1} 发送速度:{2}/s 接收:{3} 接收速度:{4}/s", _receiver.Total.ToSpeedString(), _sender.Out.ToSpeedString(), s_speed.ToSpeedString(), _receiver.In.ToSpeedString(), r_speed.ToSpeedString()); } else if (_beginSend) { s_speed = _sender.Out - oldSended; oldSended = _sender.Out; result = string.Format("总数:{0} 发送:{1} 发送速度:{2}/s", _sender.Total.ToSpeedString(), _sender.Out.ToSpeedString(), s_speed.ToSpeedString()); } else if (_beginReceive) { r_speed = _receiver.In - oldRecevied; oldRecevied = _receiver.In; result = string.Format("总数:{0} 接收:{1} 接收速度:{2}/s", _receiver.Total.ToSpeedString(), _receiver.In.ToSpeedString(), r_speed.ToSpeedString()); } else { break; } OnDisplay?.Invoke(result); Thread.Sleep(1000); } Thread.Sleep(1000); } })) { IsBackground = true }.Start(); }
public void pbDisplayPausedMessage(string msg) { if (OnDisplay != null) { OnDisplay.Invoke(this, new OnDisplayEventArgs { Message = msg, Brief = false, Pause = true }); } }
public void pbDisplayMessage(string msg, bool brief = false) { if (OnDisplay != null) { OnDisplay.Invoke(this, new OnDisplayEventArgs { Message = msg, Brief = brief, Pause = false }); } }
private void DisplayText() { var gm = GameManager.Instance; SetText(gm.ShotsFired, "ShotsFired"); SetText(gm.AnimalsKilled, "AnimalsKilled"); SetText(gm.Accuracy, "Accuracy", true); OnDisplay?.Invoke(); }
public void pbDisplayConfirmMessage(string msg) { //ToDo: Add Confirmation Prompt if (OnDisplay != null) { OnDisplay.Invoke(this, new OnDisplayEventArgs { Message = msg, Brief = false, Pause = true }); } }
/// <summary> /// 监控文件管理逻辑信息 /// </summary> private void ShowMonitorInfo() { TaskHelper.LongRunning(() => { string result = string.Empty;; long oldSended = 0; long oldRecevied = 0; long s_speed = 0; long r_speed = 0; while (_started) { if (_beginSend && _beginReceive) { s_speed = _sender.Out - oldSended; oldSended = _sender.Out; r_speed = _receiver.In - oldRecevied; oldRecevied = _receiver.In; result = string.Format("总数:{0} 已发送:{1} 发送速度:{2}/s 接收:{3} 接收速度:{4}/s", _receiver.Total.ToSpeedString(), _sender.Out.ToSpeedString(), s_speed.ToSpeedString(), _receiver.In.ToSpeedString(), r_speed.ToSpeedString()); } else if (_beginSend) { s_speed = _sender.Out - oldSended; oldSended = _sender.Out; result = string.Format("总数:{0} 发送:{1} 发送速度:{2}/s", _sender.Total.ToSpeedString(), _sender.Out.ToSpeedString(), s_speed.ToSpeedString()); } else if (_beginReceive) { r_speed = _receiver.In - oldRecevied; oldRecevied = _receiver.In; result = string.Format("总数:{0} 接收:{1} 接收速度:{2}/s", _receiver.Total.ToSpeedString(), _receiver.In.ToSpeedString(), r_speed.ToSpeedString()); } else { break; } OnDisplay?.Invoke(result); Thread.Sleep(1000); } }); }
public virtual void Update(GameTime gameTime) { if (this.elapsedTime == TimeSpan.Zero) { OnDisplay?.Invoke(this, null); } this.elapsedTime += gameTime.ElapsedGameTime; if (this.loadingScene != null && elapsedTime >= fadeInDuration) { this.loadingSceneSwapDelay += gameTime.ElapsedGameTime; } if (this.loadingSceneSwapDelay.TotalMilliseconds >= fadeInDuration.TotalMilliseconds) { TruckerX.Game.SetScene(loadingScene); loadingScene.Update(gameTime); } }
private void FireLoaded(object iloadedvm) { OnDisplay?.Invoke(this, new DisplayEvent(iloadedvm)); }
private void OnDisplayFired(object sender, DisplayEvent e) { OnDisplay?.Invoke(this, e); }