Beispiel #1
0
        private void AddTrack(object sender, TrackInAirspaceEvent arg)
        {
            trackUpdate = new TrackUpdateEvent();

            foreach (var track in arg.tracks)
            {
                if (Calculator.Calculator.TrackIsInsideAirSpace(track))
                {
                    if (trackTags.Contains(track.Tag))
                    {
                        UpdateTrack(track);
                        trackUpdate.ListOfUpdatedTracks.Add(track);
                    }
                    else
                    {
                        trackTags.Add(track.Tag);
                        AddNewTrack(track);
                        trackUpdate.ListOfNewTracks.Add(track);
                    }
                }
                else
                {
                    if (trackTags.Contains(track.Tag))
                    {
                        trackTags.Remove(track.Tag);
                        tracks.Remove(tracks.First(t => t.New.Tag == track.Tag));
                    }
                }
            }

            AreTracksColliding();

            RaiseEvent?.Invoke(this, trackUpdate);
        }
Beispiel #2
0
 public void Raise()
 {
     transform.position = transform.position + Vector3.back * GameplayConstants.ballRadius * 0.2f;
     isRaised           = true;
     raiseDeltaT        = 0;
     onRaise.Invoke(this);
 }
    public void OnEvent(EventData photonEvent)
    {
        byte eventCode = photonEvent.Code;

        object[] data = new object[] { };

        OnRaiseEvent.Invoke(eventCode, data);
    }
Beispiel #4
0
    // Update is called once per frame
    void Update()
    {
        if (isRaised && shouldLower)
        {
            shouldLower = false;
            isRaised    = false;
            raiseDeltaT = 0.0f;
            onLower.Invoke(this);
        }

        raiseDeltaT += Time.deltaTime / raiseTime;
        raiseDeltaT  = Mathf.Clamp01(raiseDeltaT);
        if (isRaised)
        {
            transform.position = Vector3.Lerp(loweredPosition + Vector3.back * GameplayConstants.ballRadius * 0.2f, raisedPosition, raiseDeltaT);
        }
        else
        {
            transform.position = Vector3.Lerp(raisedPosition, loweredPosition, raiseDeltaT);
        }
    }
        public void HandleHandHistory(string handHistory)
        {
            _summary = false;
            ResetOpponentsEvent?.Invoke();

            foreach (var line in handHistory.Split('\n'))
            {
                if (line.Contains("Seat") && !line.Contains("button") && !_summary)
                {
                    var split = line.Split(':');
                    var name  = split[1].Substring(1, split[1].IndexOf('(') - 2);
                    if (name == Controller.User.UserName)
                    {
                        continue;
                    }

                    if (!Controller.Opponents.ContainsKey(name))
                    {
                        Controller.Opponents[name] = new Opponent {
                            Name = name, HandsPlayed = 1
                        }
                    }
                    ;
                    else
                    {
                        Controller.Opponents[name].HandsPlayed++;
                        Controller.Opponents[name].InPlay = true;
                    }
                }
                else if (line.Contains("HOLE") || line.Contains("FLOP") || line.Contains("TURN") ||
                         line.Contains("RIVER") || line.Contains("SHOW DOWN") || line.Contains("SUMMARY"))
                {
                    var split = line.Split(' ');
                    SetHandHistoryStateEvent?.Invoke(split[1]);

                    if (line.Contains("SUMMARY"))
                    {
                        _summary = true;
                    }
                }
                else if (line.Contains(Controller.User.UserName) && line.Contains("collected"))
                {
                    SetHandWonEvent?.Invoke();
                }
                else if (line.Contains(Controller.User.UserName))
                {
                    if (line.Contains("calls"))
                    {
                        CallEvent?.Invoke();
                    }
                    else if (line.Contains("bets"))
                    {
                        BetEvent?.Invoke();
                    }
                    else if (line.Contains("raises"))
                    {
                        RaiseEvent?.Invoke();
                    }
                    else if (line.Contains("checks"))
                    {
                        CheckEvent?.Invoke();
                    }
                    else if (line.Contains("folds"))
                    {
                        FoldEvent?.Invoke();
                    }
                }
                else if (line.Contains("Hand #"))
                {
                    var split = line.Split(' ');
                    SetHandNumEvent?.Invoke(split[2]);
                }
                else if (line.Contains("calls"))
                {
                    var user = line.Split(':')[0];
                    OpponentCallEvent?.Invoke(user);
                }
                else if (line.Contains("checks"))
                {
                    var user = line.Split(':')[0];
                    OpponentCheckEvent?.Invoke(user);
                }
                else if (line.Contains("bets"))
                {
                    var user = line.Split(':')[0];
                    OpponentBetEvent?.Invoke(user);
                }
                else if (line.Contains("raises"))
                {
                    var user = line.Split(':')[0];
                    OpponentRaiseEvent?.Invoke(user);
                }
                else if (line.Contains("folds"))
                {
                    var user = line.Split(':')[0];
                    OpponentFoldEvent?.Invoke(user);
                }
            }
        }
Beispiel #6
0
 protected virtual void OnRaiseEvent()
 {
     RaiseEvent?.Invoke(this, EventArgs.Empty);
 }
Beispiel #7
0
 protected virtual void OnEvent(EventArgs @eventArgs, Event @event)
 {
     RaiseEvent?.Invoke(@eventArgs, @event);
 }
Beispiel #8
0
 public void SetParam(string Key, object Value)
 {
     Params[Key] = Value.ToString();
     RaiseEvent?.Invoke(this, Key);
 }