public SpriteRenderer GetLine(LineOption option, LineColour colour) { Sprite sprite = null; switch (option) { case LineOption.HalfLine: sprite = _spriteCache.GetSprite(String.Format("halfLine{0}", Enum.GetName(typeof(LineColour), colour))); break; case LineOption.FullLine: sprite = _spriteCache.GetSprite(String.Format("fullLine{0}", Enum.GetName(typeof(LineColour), colour))); break; default: throw new ArgumentOutOfRangeException(); } var spriteRendererObj = new GameObject(); spriteRendererObj.AddComponent <SpriteRenderer>(); var spriteRenderer = spriteRendererObj.GetComponent <SpriteRenderer>(); spriteRenderer.sprite = sprite; return(spriteRenderer); }
public static T GetLine <T>(this List <T> list, LineOption <T> lineOption, bool useThreadLocker = false, bool throwExceptionIfListIsEmptyOrNull = false) { if (list is null || list.Count == 0) { if (throwExceptionIfListIsEmptyOrNull) { throw new Exception("Список пуст"); } return(default);
private void DeserializeInOutput(string str, Uri uri) { if (string.IsNullOrEmpty(str) || string.IsNullOrWhiteSpace(str)) { return; } var uriString = uri.ToString(); if (uriString.Contains("LineSummary")) { var obj = JsonConvert.DeserializeObject <JsonTrafficSummary>(str); //ROPZ4150 All inclusive Europa e USA LineOption lo = new LineOption { BonusInfoDetails = new BonusInfoDetails() { Expiry = null } }; if (obj.LineOptions != null) { foreach (var lop in obj.LineOptions.Reverse().Where(x => x.OptionCode != "ROPZ4150")) { if (lop.BonusInfoDetails != null) { CopyValues(lo.BonusInfoDetails, lop.BonusInfoDetails); } } } if (obj.LineTariffplan.CheckIncludedTrafficInfoDetails != null && AllNull(lo.BonusInfoDetails)) { lo.BonusInfoDetails = obj.LineTariffplan.CheckIncludedTrafficInfoDetails; } if (obj.ShapingDetails == null) { obj.ShapingDetails = new ShapingDetails { PercVolTot = "-1", PeriodEndDate = null } } ; var ni = new NumberInfo { Credit = -1, Number = obj.LineTariffplan.Msisdn, Minutes = string.IsNullOrEmpty(lo.BonusInfoDetails.ResiduoMin) ? -1 : int.Parse(lo.BonusInfoDetails.ResiduoMin.Trim().Split(' ')[0]), MinutesTotal = (string.IsNullOrEmpty(lo.BonusInfoDetails.ResiduoMin) || string.IsNullOrEmpty(lo.BonusInfoDetails.ConsumoMin)) ? -1 : int.Parse(lo.BonusInfoDetails.ResiduoMin.Trim().Split(' ')[0]) + int.Parse(lo.BonusInfoDetails.ConsumoMin.Trim().Split(' ')[0]), Gigabytes = (int)(100 * float.Parse(obj.ShapingDetails.PercVolTot, new NumberFormatInfo { CurrencyDecimalSeparator = ".", NumberDecimalSeparator = "." })), GigabytesTotal = 100, SMS = string.IsNullOrEmpty(lo.BonusInfoDetails.ResiduoSms) ? -1 : int.Parse(lo.BonusInfoDetails.ResiduoSms), SMSTotal = string.IsNullOrEmpty(lo.BonusInfoDetails.ResiduoSms) || string.IsNullOrEmpty(lo.BonusInfoDetails.ConsumoSms) ? -1 : int.Parse(lo.BonusInfoDetails.ResiduoSms.Trim()) + int.Parse(lo.BonusInfoDetails.ConsumoSms.Trim()), LastUpdate = DateTime.Now, ExpirationDate = DateTime.MinValue }; float fTmp; DateTime dTmp; if (float.TryParse(obj.CreditBalanceValue, NumberStyles.Number, new NumberFormatInfo { CurrencyDecimalSeparator = ",", NumberDecimalSeparator = "," }, out fTmp)) { ni.Credit = fTmp; } if (DateTime.TryParseExact(obj.ShapingDetails.PeriodEndDate, "yyyyMMddhhmmss", CultureInfo.InvariantCulture, DateTimeStyles.None, out dTmp) || DateTime.TryParseExact(lo.BonusInfoDetails.Expiry, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dTmp)) { ni.ExpirationDate = dTmp; } cr.NumberInfos.Add(ni); } }