示例#1
0
 /// <summary>Green color event handler</summary>
 /// <param name="sender">Sender of event</param>
 /// <param name="e">Event arguments</param>
 public void GreenColorEventHandler(object sender, SpinnerEventArgs e)
 {
     if (State == STATE.GREEN)
     {
         receivedEvent = true;
         AddCash(50);
     }
 }
示例#2
0
 /// <summary>Odd number event handler</summary>
 /// <param name="sender">Sender of event</param>
 /// <param name="e">Event arguments</param>
 public void OddNumberEventHandler(object sender, SpinnerEventArgs e)
 {
     if (State == STATE.ODD)
     {
         receivedEvent = true;
         AddCash(10);
     }
 }
示例#3
0
 /// <summary>Red color event handler</summary>
 /// <param name="sender">Sender of event</param>
 /// <param name="e">Event arguments</param>
 public void RedColorEventHandler(object sender, SpinnerEventArgs e)
 {
     if (State == STATE.RED)
     {
         receivedEvent = true;
         AddCash(10);
     }
 }
示例#4
0
        /// <summary>End of spinning event</summary>
        /// <param name="sender">Sender of event</param>
        /// <param name="e">Event arguments</param>
        public void SpinEventHandler(object sender, SpinnerEventArgs e)
        {
            if (!(State == Player.STATE.NOTINGAME))
            {
                if (!receivedEvent)
                {
                    TakeCash(15);
                    if (Cash < MIN_CASH)
                    {
                        SetState(STATE.NOTINGAME);
                    }
                }

                receivedEvent = false;
            }
        }
        /// <summary>Send spinning result notifications</summary>
        /// <param name="number">Ranom spinned number</param>
        public void Spin(Number number)
        {
            var sb = new StringBuilder();

            sb.Append($"Players: {SpinEvent.GetInvocationList().Length}, Events: ");

            SpinnerEventArgs spinEventArgs = new SpinnerEventArgs(number);

            if (number.Color == Number.EColor.BLACK)
            {
                sb.Append("BLACK, ");
                BlackColorEvent?.Invoke(this, spinEventArgs);
            }

            if (number.Color == Number.EColor.RED)
            {
                sb.Append("RED, ");
                RedColorEvent?.Invoke(this, spinEventArgs);
            }

            if (number.Color == Number.EColor.GREEN)
            {
                sb.Append("GREEN, ");
                GreenColorEvent?.Invoke(this, spinEventArgs);
            }

            if (number.Value % 2 == 0)
            {
                sb.Append("EVEN, ");
                EvenNumberEvent?.Invoke(this, spinEventArgs);
            }

            if (!(number.Value % 2 == 0))
            {
                sb.Append("ODD, ");
                OddNumberEvent?.Invoke(this, spinEventArgs);
            }

            sb.Append(number.Value);
            LogManager.GetCurrentClassLogger().Info(sb.ToString());
            SpinEvent?.Invoke(this, spinEventArgs);
        }