예제 #1
0
        /// <summary>
        /// Create the market instance if it doesn't already exist.
        /// </summary>
        /// <param name="getMarket">True to populate market data after creating.</param>
        /// <returns></returns>
        public static async Task CreateMarket(bool getMarket, bool forceRecreate = false)
        {
            if (creating)
            {
                return;
            }
            creating = true;

            lock (lockObj)
            {
                if (inst == null || forceRecreate)
                {
                    if (inst != null)
                    {
                        inst.MarketLoaded -= Inst_MarketLoaded;
                    }

                    inst = new Market();
                    inst.MarketLoaded += Inst_MarketLoaded;
                }
            }

            if (getMarket)
            {
                await inst.RefreshMarket();
            }

            creating = false;
            MarketCreated?.Invoke(inst, new MarketCreatedEventArgs(inst));
        }
예제 #2
0
 private void Handle(MarketCreated e)
 {
     this.Wall = new Wall(e.Bid, e.Ask);
     DefineOob("trades", transient: true);
 }
예제 #3
0
 private void Handle(MarketCreated e)
 {
     this.Wall = new Wall(e.Bid, e.Ask);
 }