Пример #1
0
 public void InitFromDefs(Hashtable json)
 {
     Hashtable[] defs = json.GetMapArray("instances");
     this._maxElapsePerUpdate = json.GetInt("max_elapse_per_update");
     foreach (Hashtable def in defs)
     {
         MatchSystem matchSystem = new MatchSystem();
         matchSystem.InitFromDefs(def);
         matchSystem.eventHandler += this.OnEvent;
         this._matchingSystems[matchSystem.mode] = matchSystem;
     }
 }
Пример #2
0
        internal static MatchRoom Pop(MatchSystem system)
        {
            Queue <MatchRoom> rooms;

            if (!POOL.TryGetValue(system.mode, out rooms))
            {
                rooms             = new Queue <MatchRoom>();
                POOL[system.mode] = rooms;
            }
            if (rooms.Count == 0)
            {
                for (int i = 0; i < INC; i++)
                {
                    rooms.Enqueue(new MatchRoom(system));
                }
            }
            MatchRoom room = rooms.Dequeue();

            return(room);
        }