コード例 #1
0
 /// <summary>
 /// 原版事件,原版事件转原版事件只会改 MainEventData 中的 ID
 /// </summary>
 /// <param name="ID"></param>
 /// <param name="TargetActorID"></param>
 /// <param name="chooseId">只有转场的时候才用得到</param>
 public static void CallEvent(int ID, int TargetActorID, int chooseId = 0)
 {
     if (ui_MessageWindow.Exists && RuntimeConfig.CurEvent == null)
     {
         MessageEventManager.Instance.MainEventData[2] = ID;
         EventMisc.SetMassageWindow(MessageEventManager.Instance.MainEventData, chooseId);
         EventMisc.SetSizeDelta(2);
     }
     else
     {
         UIManager.Instance.AddUI("ui_MessageWindow", new int[] { 0, TargetActorID, ID, TargetActorID });
     }
 }
コード例 #2
0
        private Bet SetEvents(Bet bet, Event ev, bool setSportTime = true)
        {
            if (ev.IsBlock)
            {
                return(bet);
            }
            int eventId = ev.Id;
            Dictionary <int, CustomFactor> s = ev.Factors;


            Tuple <int, float> rez;

            float _1;

            rez     = SetEvent(out _1, s, 921, 3150, 3144);
            bet._1  = _1;
            bet._1o = "event" + eventId + "win1," + rez.Item1 + "," + eventId;
            //bet._1o = "event" + event_id + "win1";


            float _X;

            rez    = SetEvent(out _X, s, 922, 3152);
            bet._X = _X;
            //bet._Xo = "event" + event_id + "draw";
            bet._Xo = "event" + eventId + "draw," + rez.Item1 + "," + eventId;


            float _2;

            rez     = SetEvent(out _2, s, 923, 3151, 3145);
            bet._2  = _2;
            bet._2o = "event" + eventId + "win2," + rez.Item1 + "," + eventId;
            //bet._2o = "event" + event_id + "win2";


            float _1X;

            rez      = SetEvent(out _1X, s, 924);
            bet._1X  = _1X;
            bet._1Xo = "event" + eventId + "win1draw," + rez.Item1 + "," + eventId;
            //bet._1Xo = "event" + event_id + "win1draw";


            float _12;

            rez      = SetEvent(out _12, s, 1571);
            bet._12  = _12;
            bet._12o = "event" + eventId + "win1win2," + rez.Item1 + "," + eventId;
            //bet._12o = "event" + event_id + "win1win2";

            float _X2;

            rez      = SetEvent(out _X2, s, 925);
            bet._X2  = _X2;
            bet._X2o = "event" + eventId + "win2draw," + rez.Item1 + "," + eventId;
            //bet._X2o = "event" + event_id + "win2draw";

            float _F1;

            rez         = SetEvent(out _F1, s, 927, 937, 1845);
            bet._F1_Cof = rez.Item2;
            bet._F1     = _F1;
            bet._F1o    = "event" + eventId + "hand1odds," + rez.Item1 + "," + eventId;
            //bet._F1o = "event" + event_id + "hand1odds";


            float _F2;

            rez         = SetEvent(out _F2, s, 928, 938, 1846);
            bet._F2_Cof = rez.Item2;
            bet._F2     = _F2;
            bet._F2o    = "event" + eventId + "hand2odds," + rez.Item1 + "," + eventId;
            //bet._F2o = "event" + event_id + "hand2odds";

            float _B;

            rez        = SetEvent(out _B, s, 930, 940, 1848);
            bet._Tmax  = _B;
            bet._Tmaxo = "event" + eventId + "over," + rez.Item1 + "," + eventId;
            //bet._Tmaxo = "event" + event_id + "over";
            bet._Total_Cof = rez.Item2;


            float _T;

            rez        = SetEvent(out _T, s, 931, 941, 1849);
            bet._Tmin  = _T;
            bet._Tmino = "event" + eventId + "under," + rez.Item1 + "," + eventId;
            //bet._Tmino = "event" + event_id + "under";
            if (bet._Total_Cof == 0)
            {
                bet._Total_Cof = rez.Item2;
            }
            else if (bet._Total_Cof != rez.Item2)
            {
                if (rez.Item2 != 0)
                {
                }
            }


            if (setSportTime)
            {
                string timeData = ev.EventMisc?.Comment;
                if (string.IsNullOrWhiteSpace(timeData))
                {
                    timeData = "";
                }


                if (bet.SportType == SportType.Баскетбол)
                {
                    Regex           reg = new Regex("\\(.*\\)"); // при перерыве время не показывает
                    MatchCollection m   = reg.Matches(timeData);
                    if (m.Count == 0)
                    {
                        bet.Time = "1";
                    }
                    else
                    {
                        bet.Time = m[0].Value.Replace("(", "").Replace(")", "").Split(' ').Count().ToString();
                    }
                }

                else if (bet.SportType == SportType.Футбол)
                {
                    EventMisc xtr = ev.EventMisc;
                    if (xtr?.TimerSeconds != null)
                    {
                        string timerSeconds = xtr.TimerSeconds.ToString();
                        bet.Time = (Convert.ToInt32(timerSeconds) / 60) + "'";
                    }
                    else
                    {
                        bet.Time = "90'";
                    }
                }

                else if (bet.SportType == SportType.Бадминтон ||
                         bet.SportType == SportType.Настольный_теннис ||
                         bet.SportType == SportType.Теннис ||
                         bet.SportType == SportType.Волейбол)
                {
                    Regex reg = new Regex("\\(.*\\)");
                    var   m   = reg.Matches(timeData);
                    if (m.Count == 0)
                    {
                        bet.Time = "1";
                    }
                    else
                    {
                        bet.Time = m[0].Value.Replace("(", "").Replace(")", "").Split(' ').Count().ToString();
                    }
                }

                else if (bet.SportType == SportType.Гандбол)
                {
                    var xtr = ev.EventMisc;
                    if (xtr != null)
                    {
                        var timerSeconds  = xtr.TimerSeconds?.ToString();
                        var timeDirection = xtr.TimerDirection?.ToString();
                        if (timeDirection == "1")
                        {
                            bet.Time = "П";
                        }
                        else
                        {
                            bet.Time = (Convert.ToInt32(timerSeconds) / 60) + "'";
                        }
                    }
                }


                else if (bet.SportType == SportType.Хоккей)
                {
                    EventMisc xtr = ev.EventMisc;
                    if (xtr != null)
                    {
                        string timerSeconds = xtr.TimerSeconds?.ToString();

                        bet.Time = (Convert.ToInt32(timerSeconds) / 60) + "'";
                    }
                    else
                    {
                    }
                }
                else
                {
                    bet.Time = "-1";
                }
            }

            if (bet.SportType == SportType.Теннис)
            {
                var gameBet = ParseGameRezult(bet, eventId, s, 1609, 1610);
                if (gameBet != null)
                {
                    bet.Games.Add(gameBet);
                }
                gameBet = ParseGameRezult(bet, eventId, s, 1747, 1748);
                if (gameBet != null)
                {
                    bet.Games.Add(gameBet);
                }
                gameBet = ParseGameRezult(bet, eventId, s, 1750, 1751);
                if (gameBet != null)
                {
                    bet.Games.Add(gameBet);
                }
                gameBet = ParseGameRezult(bet, eventId, s, 1753, 1754);
                if (gameBet != null)
                {
                    bet.Games.Add(gameBet);
                }
            }

            foreach (KeyValuePair <int, CustomFactor> factor in s)
            {
                if (factor.Value.IsBlocked)
                {
                    continue;
                }
                var stake = new Stake();


                if (factor.Key == 931 ||
                    factor.Key == 941 ||
                    factor.Key == 1849)
                {
                    stake.StakeType = StakeType.Tmin;
                    stake.ParametrO = $"event{eventId}under,{factor.Key},{eventId}";
                }
                else if (factor.Key == 930 ||
                         factor.Key == 940 ||
                         factor.Key == 1848)
                {
                    stake.StakeType = StakeType.Tmax;
                    stake.ParametrO = $"event{eventId}over,{factor.Key},{eventId}";
                }

                else if (factor.Key == 1697 ||
                         factor.Key == 1728 ||
                         factor.Key == 1731 ||
                         factor.Key == 1734 ||
                         factor.Key == 1737)
                {
                    stake.StakeType = StakeType.Tmin;
                    stake.ParametrO = $"{eventId}f{factor.Value.F},{factor.Key},{eventId}";
                }

                else if (factor.Key == 1696 ||
                         factor.Key == 1727 ||
                         factor.Key == 1730 ||
                         factor.Key == 1733 ||
                         factor.Key == 1736)
                {
                    stake.StakeType = StakeType.Tmax;
                    stake.ParametrO = $"{eventId}f{factor.Value.F},{factor.Key},{eventId}";
                }

                else if (factor.Key == 927 ||
                         factor.Key == 937 ||
                         factor.Key == 1845)
                {
                    stake.StakeType = StakeType.Fora1;
                    stake.ParametrO = $"event{eventId}hand1odds,{factor.Key},{eventId}";
                }
                else if (factor.Key == 2427 ||
                         factor.Key == 2433 ||
                         factor.Key == 2436)
                {
                    if (factor.Key == 2427 && bet.SportType == SportType.Волейбол)
                    {
                        continue;
                    }
                    stake.StakeType = StakeType.Fora1;
                    stake.ParametrO = $"{eventId}f{factor.Value.F},{factor.Key},{eventId}";
                }


                else if (factor.Key == 928 ||
                         factor.Key == 938 ||
                         factor.Key == 1846)
                {
                    stake.StakeType = StakeType.Fora2;
                    stake.ParametrO = $"event{eventId}hand2odds,{factor.Key},{eventId}";
                }
                else if (factor.Key == 2428 ||
                         factor.Key == 2434 ||
                         factor.Key == 2437)
                {
                    if (factor.Key == 2428 && bet.SportType == SportType.Волейбол)
                    {
                        continue;
                    }
                    stake.StakeType = StakeType.Fora2;
                    stake.ParametrO = $"{eventId}f{factor.Value.F},{factor.Key},{eventId}";
                }


                else if (factor.Key == 974 ||
                         factor.Key == 1809 ||
                         factor.Key == 1812 ||
                         factor.Key == 1815)
                {
                    stake.StakeType = StakeType.ITmax;
                    stake.Team      = ETeam.Team1;
                    stake.ParametrO = $"{eventId}f{factor.Value.F},{factor.Key},{eventId}";
                }
                else if (factor.Key == 976 ||
                         factor.Key == 1810 ||
                         factor.Key == 1813 ||
                         factor.Key == 1816)
                {
                    stake.StakeType = StakeType.ITmin;
                    stake.Team      = ETeam.Team1;
                    stake.ParametrO = $"{eventId}f{factor.Value.F},{factor.Key},{eventId}";
                }
                else if (factor.Key == 978 ||
                         factor.Key == 1854 ||
                         factor.Key == 1873 ||
                         factor.Key == 1880)
                {
                    stake.StakeType = StakeType.ITmax;
                    stake.Team      = ETeam.Team2;
                    stake.ParametrO = $"{eventId}f{factor.Value.F},{factor.Key},{eventId}";
                }
                else if (factor.Key == 980 ||
                         factor.Key == 1871 ||
                         factor.Key == 1874 ||
                         factor.Key == 1881)
                {
                    stake.StakeType = StakeType.ITmin;
                    stake.Team      = ETeam.Team2;
                    stake.ParametrO = $"{eventId}f{factor.Value.F},{factor.Key},{eventId}";
                }
                else
                {
                    continue;
                }

                stake.Coef = factor.Value.V;
                if (!String.IsNullOrWhiteSpace(factor.Value.Pt))
                {
                    stake.Parametr = Convert.ToSingle(factor.Value.Pt.Replace(".", ","));
                }
                if (stake.StakeType == StakeType.Fora1 ||
                    stake.StakeType == StakeType.Fora2)
                {
                    bet.Foras.Add(stake);
                }
                else if (stake.StakeType == StakeType.Tmax ||
                         stake.StakeType == StakeType.Tmin)
                {
                    bet.Totals.Add(stake);
                }
                else if (stake.StakeType == StakeType.ITmax ||
                         stake.StakeType == StakeType.ITmin)
                {
                    bet.ITotals.Add(stake);
                }
            }

            return(bet);
        }