private void ProcessMessageTicker(ISerializedValue[] arguments) { var currencyPair = CurrencyPair.Parse(arguments[0].Deserialize<string>()); var priceLast = arguments[1].Deserialize<double>(); var orderTopSell = arguments[2].Deserialize<double>(); var orderTopBuy = arguments[3].Deserialize<double>(); var priceChangePercentage = arguments[4].Deserialize<double>(); var volume24HourBase = arguments[5].Deserialize<double>(); var volume24HourQuote = arguments[6].Deserialize<double>(); var isFrozenInternal = arguments[7].Deserialize<byte>(); var marketData = new MarketData { PriceLast = priceLast, OrderTopSell = orderTopSell, OrderTopBuy = orderTopBuy, PriceChangePercentage = priceChangePercentage, Volume24HourBase = volume24HourBase, Volume24HourQuote = volume24HourQuote, IsFrozenInternal = isFrozenInternal }; if (Tickers.ContainsKey(currencyPair)) { Tickers[currencyPair] = marketData; } else { Tickers.Add(currencyPair, marketData); } if (OnTickerChanged != null) OnTickerChanged(this, new TickerChangedEventArgs(currencyPair, marketData)); }
private void ProcessMessageTrollbox(ISerializedValue[] arguments) { if (OnTrollboxMessage == null) return; var messageNumber = arguments[1].Deserialize<ulong>(); var senderName = arguments[2].Deserialize<string>(); var messageText = HttpUtility.HtmlDecode(arguments[3].Deserialize<string>()); var senderReputation = arguments.Length >= 5 ? arguments[4].Deserialize<uint?>() : null; OnTrollboxMessage(this, new TrollboxMessageEventArgs(senderName, senderReputation, messageNumber, messageText)); }