/// <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); } }
/// <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); } }
/// <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); } }
/// <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); }