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