Exemple #1
0
 // Token: 0x0600002A RID: 42 RVA: 0x00003D80 File Offset: 0x00001F80
 public OverlayUI(OverlayElement _Config, ListView _ListView, Label _LabelHeaderFontPreview, Label _LabelHeaderFontName, Label _LabelDataFontPreview, Label _LabelDataFontName, Label _LabelBackgroundColourPreview, CheckBox _CheckBoxEnable, CheckBox _CheckBoxBackgroundEnable, NumericUpDown _NumericUpDownX, NumericUpDown _NumericUpDownY, TrackBar _TrackBarBackgroundOpacity, Button _ButtonEdit, Button _ButtonRemove, Button _ButtonMoveUp, Button _ButtonMoveDown)
 {
     DebugTools.Print("Startup: Initialising overlay user interface.");
     this.Config   = _Config;
     this.ListView = _ListView;
     this.LabelHeaderFontPreview       = _LabelHeaderFontPreview;
     this.LabelHeaderFontName          = _LabelHeaderFontName;
     this.LabelDataFontPreview         = _LabelDataFontPreview;
     this.LabelDataFontName            = _LabelDataFontName;
     this.LabelBackgroundColourPreview = _LabelBackgroundColourPreview;
     this.CheckBoxEnable            = _CheckBoxEnable;
     this.CheckBoxBackgroundEnable  = _CheckBoxBackgroundEnable;
     this.NumericUpDownX            = _NumericUpDownX;
     this.NumericUpDownY            = _NumericUpDownY;
     this.TrackBarBackgroundOpacity = _TrackBarBackgroundOpacity;
     this.ButtonEdit     = _ButtonEdit;
     this.ButtonRemove   = _ButtonRemove;
     this.ButtonMoveUp   = _ButtonMoveUp;
     this.ButtonMoveDown = _ButtonMoveDown;
     this.UpdateStatic();
     this.ListView.CreateGraphics();
 }
        // Token: 0x060000C7 RID: 199 RVA: 0x000155A0 File Offset: 0x000137A0
        public static void PackageOverlayConfig(OverlayElement OverlayConfig)
        {
            DebugTools.Write("Game Memory: Packaging overlay configuration... ");
            List <TableStruct>  list  = new List <TableStruct>();
            List <ColumnStruct> list2 = new List <ColumnStruct>();
            List <int>          list3 = new List <int>();

            if (OverlayConfig.Columns.Additional.LobbyInfo.Basic.Id)
            {
                list3.Add(0);
            }
            if (OverlayConfig.Columns.Additional.LobbyInfo.Basic.Type)
            {
                list3.Add(1);
            }
            if (OverlayConfig.Columns.Additional.LobbyInfo.Basic.Host)
            {
                list3.Add(2);
            }
            if (OverlayConfig.Columns.Additional.LobbyInfo.Basic.PlayerCount)
            {
                list3.Add(3);
            }
            int count = list3.Count;

            if (OverlayConfig.Columns.Additional.LobbyInfo.MatchMode.Event)
            {
                list3.Add(4);
            }
            if (OverlayConfig.Columns.Additional.LobbyInfo.MatchMode.Track)
            {
                list3.Add(5);
            }
            if (OverlayConfig.Columns.Additional.LobbyInfo.MatchMode.Difficulty)
            {
                list3.Add(6);
            }
            if (count > 0 && count < list3.Count)
            {
                list3.Insert(count, -1);
            }
            foreach (object obj in OverlayConfig.Columns.ColumnList)
            {
                ColumnElement columnElement = (ColumnElement)obj;
                if (columnElement.Enabled)
                {
                    CellStruct[] array      = new CellStruct[11];
                    CellStruct   cellStruct = default(CellStruct);
                    cellStruct.BackgroundColour   = Color.FromArgb(OverlayConfig.Background.Opacity, OverlayConfig.Background.Colour);
                    cellStruct.BackgroundHidden   = !OverlayConfig.Background.Enabled;
                    cellStruct.BackgroundFitTable = new bool[]
                    {
                        true,
                        true
                    };
                    cellStruct.Colour = columnElement.HeaderColour;
                    cellStruct.Font   = OverlayConfig.Fonts.Header;
                    int[] array2 = new int[4];
                    array2[0]                   = 5;
                    array2[1]                   = 5;
                    cellStruct.Padding          = array2;
                    cellStruct.ManualDimensions = new Size(columnElement.Width, 0);
                    CellStruct cellStruct2 = cellStruct;
                    array[0]           = cellStruct2;
                    cellStruct2.Colour = columnElement.DataColour;
                    cellStruct2.Font   = OverlayConfig.Fonts.Data;
                    for (int i = 1; i < 11; i++)
                    {
                        array[i] = cellStruct2;
                        if (count > 0 && count < list3.Count && columnElement.Data == DataSourceEnum.LobbyInfo && i == count + 1)
                        {
                            CellStruct[] array3 = array;
                            int          num    = i;
                            int[]        array4 = new int[4];
                            array4[2]           = 20;
                            array3[num].Padding = array4;
                        }
                    }
                    list2.Add(new ColumnStruct
                    {
                        DataSource   = columnElement.Data,
                        HeaderHidden = !columnElement.ShowHeader,
                        CellFormats  = array
                    });
                }
            }
            if (OverlayConfig.Enabled)
            {
                list.Add(new TableStruct
                {
                    Position   = new Point(OverlayConfig.Position.X, OverlayConfig.Position.Y),
                    Transposed = false,
                    Columns    = new ColumnsStruct
                    {
                        ColumnList = list2,
                        Additional = new AdditionalStruct
                        {
                            LobbyInfo = list3,
                            Ping      = new PingStruct
                            {
                                EnableThresholds = false
                            },
                            ShortPlayerNames    = OverlayConfig.Columns.Additional.PlayerName.ShortNames,
                            ShortCharacterNames = OverlayConfig.Columns.Additional.Character.ShortNames,
                            ShortLobbyInfoNames = OverlayConfig.Columns.Additional.LobbyInfo.ShortNames
                        }
                    },
                    PlayerOrder = new SortStruct
                    {
                        DataSource = DataSourceEnum.Rating,
                        increasing = false
                    },
                    Visibility = new bool[]
                    {
                        false,
                        true,
                        true,
                        true
                    },
                    CustomRows = new List <CustomRowStruct>(),
                    Background = new RectangleStruct
                    {
                        Hidden = true
                    }
                });
            }
            GameMemory._OverlayConfigPackage = new OverlayConfig
            {
                UpdateRate   = 500,
                PlayerTables = list
            };
            Debug.Print("done.");
        }