Beispiel #1
0
 public static CardLibrary GetInstance()
 {
     if (instance == null)
     {
         CLConfig config = CLConfig.GetInstance();
         Path         = System.AppDomain.CurrentDomain.BaseDirectory;
         KeepInMemory = string.Equals(config.GetSetting("KeepInMemory"), "true", StringComparison.OrdinalIgnoreCase);
         if (KeepInMemory)
         {
             ramdir = new Lucene.Net.Store.RAMDirectory(Path + "CardIndex");
             CardsReader Reader = new LuceneReader();
             instance = new CardLibrary(Reader.Read(ramdir));
             if (Directory.Exists(Path + "DIYCardIndex"))
             {
                 ramdiydir = new Lucene.Net.Store.RAMDirectory(Path + "DIYCardIndex");
                 instance.AddDIYCards(Reader.Read(ramdiydir));
             }
         }
         else
         {
             CardsReader Reader = new LuceneReader();
             instance = new CardLibrary(Reader.Read(Path + "CardIndex"));
             if (Directory.Exists(Path + "DIYCardIndex"))
             {
                 instance.AddDIYCards(Reader.Read(Path + "DIYCardIndex"));
             }
         }
     }
     return(instance);
 }
Beispiel #2
0
        public bool isFull(int id)
        {
            CardDescription card  = CardLibrary.GetInstance().GetCardByID(id);
            int             limit = card.limit;
            string          s     = CLConfig.GetInstance().GetSetting("AllowForbiddenCard");

            if (string.Equals(s, "True", StringComparison.OrdinalIgnoreCase))
            {
                limit = 3;
            }
            return(GetCount(id) >= limit);
        }
Beispiel #3
0
        private void frmConfig_Load(object sender, EventArgs e)
        {
            DB2Config config   = DB2Config.GetInstance();
            CLConfig  clconfig = CLConfig.GetInstance();

            if (string.Equals(config.GetSettingNext("NotShowIco"), "True", StringComparison.OrdinalIgnoreCase))
            {
                checkBoxX1.Checked = true;
            }

            if (string.Equals(config.GetSettingNext("NoVirtualMode"), "True", StringComparison.OrdinalIgnoreCase))
            {
                checkBoxX2.Checked = true;
            }

            if (string.Equals(clconfig.GetSetting("AllowForbiddenCard"), "True", StringComparison.OrdinalIgnoreCase))
            {
                checkBoxX3.Checked = true;
            }

            if (string.Equals(config.GetSettingNext("NoDrag"), "True", StringComparison.OrdinalIgnoreCase))
            {
                checkBoxX4.Checked = true;
            }

            if (!string.Equals(clconfig.GetSettingNext("AllowDIY"), "True", StringComparison.OrdinalIgnoreCase))
            {
                checkBoxX5.Checked = false;
            }

            if (!string.Equals(config.GetSetting("SaveLayout"), "True", StringComparison.OrdinalIgnoreCase))
            {
                checkBoxX6.Checked = false;
            }

            textBox1.Text = config.GetSetting("ImagePath");

            textBox2.Text = config.GetSetting("IcoPath");

            textBox3.Text = config.GetSetting("NBXPath");

            textBox4.Text = config.GetSetting("DeckPath");

            textBox5.Text = config.GetSetting("DIYImagePath");
        }
Beispiel #4
0
        public string AddCard(int id, int index)
        {
            if (decklist.Count >= Capacity && Capacity > 0)
            {
                return("卡组已满!");
            }

            int count = 0;

            if (cardcount[id] != null)
            {
                count = (int)cardcount[id];
            }
            CardDescription card = cardLibrary.GetCardByID(id);

            if (!string.Equals(CLConfig.GetInstance().GetSetting("AllowForbiddenCard"), "True", StringComparison.OrdinalIgnoreCase))
            {
                LimitNum = card.limit;
            }
            if (count >= LimitNum)
            {
                return(string.Format("卡片[{0}]超出限制数量!", card.name));
            }

            if (index >= 0 && index < decklist.Count)
            {
                decklist.Insert(index, new Card(id, Index++));
            }
            else
            {
                decklist.Add(new Card(id, Index++));
            }
            cardcount[id] = ++count;
            isChanged     = true;

            return(null);
        }
Beispiel #5
0
        private void buttonX1_Click(object sender, EventArgs e)
        {
            DB2Config config   = DB2Config.GetInstance();
            CLConfig  clconfig = CLConfig.GetInstance();

            if (checkBoxX1.Checked)
            {
                config.SetSettingNext("NotShowIco", "True");
            }
            else
            {
                config.SetSettingNext("NotShowIco", "False");
            }

            if (checkBoxX2.Checked)
            {
                config.SetSettingNext("NoVirtualMode", "True");
            }
            else
            {
                config.SetSettingNext("NoVirtualMode", "False");
            }

            if (checkBoxX3.Checked)
            {
                clconfig.SetSetting("AllowForbiddenCard", "True");
            }
            else
            {
                clconfig.SetSetting("AllowForbiddenCard", "False");
            }

            if (checkBoxX4.Checked)
            {
                config.SetSetting("NoDrag", "True");
            }
            else
            {
                config.SetSetting("NoDrag", "False");
            }

            if (checkBoxX5.Checked)
            {
                clconfig.SetSetting("AllowDIY", "True");
            }
            else
            {
                clconfig.SetSetting("AllowDIY", "False");
            }

            if (checkBoxX6.Checked)
            {
                config.SetSetting("SaveLayout", "True");
            }
            else
            {
                config.SetSetting("SaveLayout", "False");
            }

            config.SetSetting("ImagePath", textBox1.Text);

            config.SetSetting("IcoPath", textBox2.Text);

            config.SetSetting("NBXPath", textBox3.Text);

            config.SetSetting("DeckPath", textBox4.Text);

            config.SetSetting("DIYImagePath", textBox5.Text);

            this.Close();
        }
Beispiel #6
0
 public LimitedListManager()
 {
     //LoadFromXML();
     CLConfig config = CLConfig.GetInstance();
 }
Beispiel #7
0
        public static CardLibrary GetInstance()
        {
            //单实例
            if (instance == null)
            {
                //读取配置
                CLConfig config = CLConfig.GetInstance();

                //获取路径
                path = Global.GetPath();

                //清除多余索引文件
                if (File.Exists(path + "CardIndex\\list.txt"))
                {
                    string[] files = File.ReadAllLines(path + "CardIndex\\list.txt", Encoding.UTF8);

                    foreach (string s in Directory.GetFiles(path + "CardIndex"))
                    {
                        string ss     = s.Substring(s.LastIndexOf('\\') + 1);
                        bool   inlist = false;
                        foreach (string s2 in files)
                        {
                            if (string.Equals(ss, s2, StringComparison.OrdinalIgnoreCase))
                            {
                                inlist = true;
                                break;
                            }
                        }

                        if (!(inlist || string.Equals(ss, "list.txt", StringComparison.OrdinalIgnoreCase)))
                        {
                            File.Delete(s);
                        }
                    }
                }

                //读取主索引
                indexdir = new Lucene.Net.Store.SimpleFSDirectory(new DirectoryInfo(path + "CardIndex"), new Lucene.Net.Store.SimpleFSLockFactory());

                //读取DIY索引
                if (Directory.Exists(path + "DIYCardIndex"))
                {
                    diydir = new Lucene.Net.Store.SimpleFSDirectory(new DirectoryInfo(path + "DIYCardIndex"), new Lucene.Net.Store.SimpleFSLockFactory());
                }

                //是否使用内存索引
                KeepInMemory = string.Equals(config.GetSetting("KeepInMemory"), "true", StringComparison.OrdinalIgnoreCase);
                if (KeepInMemory)
                {
                    indexdir = new Lucene.Net.Store.RAMDirectory(indexdir);

                    if (diydir != null)
                    {
                        diydir = new Lucene.Net.Store.RAMDirectory(diydir);
                    }
                }

                //读取所有卡片信息,建立卡片数据库实例
                LuceneReader Reader = new LuceneReader();
                instance = new CardLibrary(Reader.Read(indexdir));
                if (diydir != null)
                {
                    instance.AddDIYCards(Reader.Read(diydir));
                }

                //建立搜索器实例
                instance.BuildSearcher();
            }

            return(instance);
        }