Exemplo n.º 1
0
        public GroupedTradelist AddGroupedContainer(uint key)
        {
            GroupedTradelist tradelist = new GroupedTradelist();

            dict.Add(key, tradelist);
            return(tradelist);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Helper funtion
        /// </summary>
        private static Tradelist GetSafeList(GroupedTradelist l, int Group)
        {
            try
            {
                for (int i = l.list.Count; i < Group + 1; i++)
                {
                    l.AddList();
                }

                return(l.list[Group]);
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Error get {0}", Group), ex);
            }
        }
Exemplo n.º 3
0
        public static TradelistContainer FromFile(string filename)
        {
            TradelistContainer _container  = new TradelistContainer();
            Tradelist          currentlist = null;

            if (File.Exists(filename))
            {
                using (TraderReader reader = TraderReader.Open(filename))
                    while (reader.Read())
                    {
                        _container.TradeMenu = reader.Menu;
                        switch (reader[reader.Trade].node)
                        {
                        case TraderReader.NodeTypeSpeciafier.Grouped:
                            goto AddGroupList;

                        case TraderReader.NodeTypeSpeciafier.Single:
                            goto AddSinglelist;
                        }
                        return(null);

AddGroupList:
                        GroupedTradelist gtrade = GetSafeGroup(_container, reader.Trade);
                        currentlist             = GetSafeList(gtrade, reader.Group - 1);
                        goto AddItemCount;
AddSinglelist:
                        SingleTradelist strade = GetSafeSingle(_container, reader.Trade);
                        currentlist            = strade.list;
                        goto AddItemCount;
AddItemCount:
                        switch (reader.Type)
                        {
                        case TraderReader.NodeType.Production:
                            currentlist.AddProduct(reader.ItemId, reader.ItemCount);
                            break;

                        case TraderReader.NodeType.Supplement:
                            currentlist.AddSupplement(reader.ItemId, reader.ItemCount);
                            break;
                        }
                    }
            }

            return(_container);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Helper funtion
        /// </summary>
        private static GroupedTradelist GetSafeGroup(TradelistContainer _container, uint TradeId)
        {
            BaseTradelist blist = null;

            _container.dict.TryGetValue(TradeId, out blist);
            GroupedTradelist glist = blist as GroupedTradelist;

            if (glist != null)
            {
                return(glist);
            }
            else
            {
                glist = new GroupedTradelist();
                _container.dict[TradeId] = glist;
                return(glist);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Helper funtion
        /// </summary>
        private static GroupedTradelist GetSafeGroup(TradelistContainer _container, uint TradeId)
        {
            BaseTradelist blist = null;
            _container.dict.TryGetValue(TradeId, out blist);
            GroupedTradelist glist = blist as GroupedTradelist;

            if (glist != null)
            {
                return glist;
            }
            else
            {
                glist = new GroupedTradelist();
                _container.dict[TradeId] = glist;
                return glist;
            }
        }
Exemplo n.º 6
0
 public GroupedTradelist AddGroupedContainer(uint key)
 {
     GroupedTradelist tradelist = new GroupedTradelist();
     dict.Add(key, tradelist);
     return tradelist;
 }
Exemplo n.º 7
0
        /// <summary>
        /// Helper funtion
        /// </summary>
        private static Tradelist GetSafeList(GroupedTradelist l, int Group)
        {
            try
            {
                for (int i = l.list.Count; i < Group + 1; i++)
                {
                    l.AddList();
                }

                return l.list[Group];
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Error get {0}", Group), ex);
            }
        }