Ejemplo n.º 1
0
        public BonusBoxHunter()
        {
            InitializeComponent();

            ItemIdMap = new Dictionary<String, ItemInformation>();
            HeaderPropertyMap = new Dictionary<String, String>();

            ListViewColumnItem[] Columns = new ListViewColumnItem[]
            {
                new ListViewColumnItem("ID",      "ID",              5,     HorizontalAlignment.Center),
                new ListViewColumnItem("地图",    "Map",             20,    HorizontalAlignment.Center),
                new ListViewColumnItem("物品",    "Item",            20,    HorizontalAlignment.Left),
                new ListViewColumnItem("状态",    "Status",          1,     HorizontalAlignment.Center),
                new ListViewColumnItem("X",       "ActorX",          1,     HorizontalAlignment.Left),
                new ListViewColumnItem("Y",       "ActorY",          1,     HorizontalAlignment.Left),
                new ListViewColumnItem("Z",       "ActorZ",          1,     HorizontalAlignment.Left),
                new ListViewColumnItem("描述",    "Description",     50,    HorizontalAlignment.Center),
            };

            Func<Double, long> GetWidth = (Double percent) =>
                                            {
                                                return (long)Math.Ceiling(percent * Columns.Length / 100);
                                            };

            var lvlmgr = new ListViewLayoutManager(bonusBoxList);

            lvlmgr.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;
            lvlmgr.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto;
            lvlmgr.AttachScrollViewerScrollChanged = true;

            Style headerStyle = new Style();
            headerStyle.Setters.Add(new Setter(Control.BackgroundProperty, Brushes.White));

            bonusBoxGridView.SetValue(GridView.ColumnHeaderContainerStyleProperty, headerStyle);

            foreach (var col in Columns)
            {
                HeaderPropertyMap[col.Header] = col.Binding;

                GridViewColumn column = new GridViewColumn();

                column.Header = col.Header;
                column.CellTemplate = CreateColumnTemplate(col.Binding, col.Alignment);
                column.SetValue(GridViewColumn.HeaderContainerStyleProperty, headerStyle);

                bonusBoxGridView.Columns.Add(ProportionalColumn.ApplyWidth(column, GetWidth(col.WidthPercent)));
            }

            //String boxinfo = @"E:\Desktop\Source\Hooks\EDAO\Decompiler\GameData\box.json";
            String boxinfo = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) + "\\box.json";

            try
            {
                InitializeBonusBoxInfo(boxinfo);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
                return;
            }
        }
Ejemplo n.º 2
0
        public BonusBoxHunter()
        {
            InitializeComponent();

            ItemIdMap         = new Dictionary <String, ItemInformation>();
            HeaderPropertyMap = new Dictionary <String, String>();

            ListViewColumnItem[] Columns = new ListViewColumnItem[]
            {
                new ListViewColumnItem("ID", "ID", 5, HorizontalAlignment.Center),
                new ListViewColumnItem("地图", "Map", 20, HorizontalAlignment.Center),
                new ListViewColumnItem("物品", "Item", 20, HorizontalAlignment.Left),
                new ListViewColumnItem("状态", "Status", 1, HorizontalAlignment.Center),
                new ListViewColumnItem("X", "ActorX", 1, HorizontalAlignment.Left),
                new ListViewColumnItem("Y", "ActorY", 1, HorizontalAlignment.Left),
                new ListViewColumnItem("Z", "ActorZ", 1, HorizontalAlignment.Left),
                new ListViewColumnItem("描述", "Description", 50, HorizontalAlignment.Center),
            };

            Func <Double, long> GetWidth = (Double percent) =>
            {
                return((long)Math.Ceiling(percent * Columns.Length / 100));
            };

            var lvlmgr = new ListViewLayoutManager(bonusBoxList);

            lvlmgr.VerticalScrollBarVisibility     = ScrollBarVisibility.Auto;
            lvlmgr.HorizontalScrollBarVisibility   = ScrollBarVisibility.Auto;
            lvlmgr.AttachScrollViewerScrollChanged = true;

            Style headerStyle = new Style();

            headerStyle.Setters.Add(new Setter(Control.BackgroundProperty, Brushes.White));

            bonusBoxGridView.SetValue(GridView.ColumnHeaderContainerStyleProperty, headerStyle);

            foreach (var col in Columns)
            {
                HeaderPropertyMap[col.Header] = col.Binding;

                GridViewColumn column = new GridViewColumn();

                column.Header       = col.Header;
                column.CellTemplate = CreateColumnTemplate(col.Binding, col.Alignment);
                column.SetValue(GridViewColumn.HeaderContainerStyleProperty, headerStyle);

                bonusBoxGridView.Columns.Add(ProportionalColumn.ApplyWidth(column, GetWidth(col.WidthPercent)));
            }

            //String boxinfo = @"E:\Desktop\Source\Hooks\EDAO\Decompiler\GameData\box.json";
            String boxinfo = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) + "\\box.json";

            try
            {
                InitializeBonusBoxInfo(boxinfo);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
                return;
            }
        }