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();
            }
        }
Exemple #2
0
        /// <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();
        }
Exemple #3
0
 public void pbDisplayPausedMessage(string msg)
 {
     if (OnDisplay != null)
     {
         OnDisplay.Invoke(this, new OnDisplayEventArgs {
             Message = msg, Brief = false, Pause = true
         });
     }
 }
Exemple #4
0
 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();
    }
Exemple #6
0
 public void pbDisplayConfirmMessage(string msg)
 {
     //ToDo: Add Confirmation Prompt
     if (OnDisplay != null)
     {
         OnDisplay.Invoke(this, new OnDisplayEventArgs {
             Message = msg, Brief = false, Pause = true
         });
     }
 }
Exemple #7
0
        /// <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);
                }
            });
        }
Exemple #8
0
        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);
            }
        }
Exemple #9
0
        public void FindByUser(object obj)
        {
            OnDisplay.Clear();
            ObservableCollection <Entry> Data = new ObservableCollection <Entry>(context.Entrys);

            for (int i = 0; i < Data.Count(); ++i)
            {
                if (Data[i].UserID == SelectedUser.UserID)
                {
                    EntryElement x = new EntryElement();
                    x.EntryDate    = Data[i].Entry_date;
                    x.EntryDateStr = x.EntryDate.ToString("dd.MM.yyyy HH:mm tt");
                    x.EntryID      = Data[i].EntryID;
                    x.UserID       = Data[i].UserID;
                    User y = (from z in context.Users where z.UserID == x.UserID select z).FirstOrDefault();
                    x.UserName = y.UserName;
                    OnDisplay.Add(x);
                }
            }
        }
 private void FireLoaded(object iloadedvm)
 {
     OnDisplay?.Invoke(this, new DisplayEvent(iloadedvm));
 }
Exemple #11
0
 private void OnDisplayFired(object sender, DisplayEvent e)
 {
     OnDisplay?.Invoke(this, e);
 }