fCraft.ConfigGUI.MainForm.CheckPermissionConsistency C# (CSharp) Метод

CheckPermissionConsistency() приватный Метод

private CheckPermissionConsistency ( Permission permission, bool check ) : void
permission Permission
check bool
Результат void
        private void CheckPermissionConsistency( Permission permission, bool check )
        {
            switch ( permission ) {
                case Permission.Chat:
                    if ( !check ) {
                        vPermissions.Items[( int )Permission.Say].Checked = false;
                        vPermissions.Items[( int )Permission.Say].ForeColor = SystemColors.GrayText;
                        vPermissions.Items[( int )Permission.UseColorCodes].Checked = false;
                        vPermissions.Items[( int )Permission.UseColorCodes].ForeColor = SystemColors.GrayText;
                    } else {
                        vPermissions.Items[( int )Permission.Say].ForeColor = SystemColors.ControlText;
                        vPermissions.Items[( int )Permission.UseColorCodes].ForeColor = SystemColors.ControlText;
                    }
                    break;

                case Permission.Say:
                    if ( check )
                        vPermissions.Items[( int )Permission.Chat].Checked = true;
                    break;

                case Permission.UseColorCodes:
                    if ( check )
                        vPermissions.Items[( int )Permission.Chat].Checked = true;
                    break;

                case Permission.Ban:
                    if ( !check ) {
                        vPermissions.Items[( int )Permission.BanIP].Checked = false;
                        vPermissions.Items[( int )Permission.BanIP].ForeColor = SystemColors.GrayText;
                        vPermissions.Items[( int )Permission.BanAll].Checked = false;
                        vPermissions.Items[( int )Permission.BanAll].ForeColor = SystemColors.GrayText;
                    } else {
                        vPermissions.Items[( int )Permission.BanIP].ForeColor = SystemColors.ControlText;
                        vPermissions.Items[( int )Permission.BanAll].ForeColor = SystemColors.ControlText;
                    }
                    break;

                case Permission.BanIP:
                    if ( check ) {
                        vPermissions.Items[( int )Permission.Ban].Checked = true;
                        vPermissions.Items[( int )Permission.BanAll].ForeColor = SystemColors.ControlText;
                    } else {
                        vPermissions.Items[( int )Permission.BanAll].Checked = false;
                        vPermissions.Items[( int )Permission.BanAll].ForeColor = SystemColors.GrayText;
                    }
                    break;

                case Permission.BanAll:
                    if ( check ) {
                        vPermissions.Items[( int )Permission.Ban].Checked = true;
                        vPermissions.Items[( int )Permission.BanIP].Checked = true;
                    }
                    break;

                case Permission.Draw:
                    xDrawLimit.Enabled = vPermissions.Items[( int )Permission.Draw].Checked ||
                                         vPermissions.Items[( int )Permission.CopyAndPaste].Checked;
                    if ( check ) {
                        vPermissions.Items[( int )Permission.DrawAdvanced].ForeColor = SystemColors.ControlText;
                        vPermissions.Items[( int )Permission.CopyAndPaste].ForeColor = SystemColors.ControlText;
                    } else {
                        vPermissions.Items[( int )Permission.DrawAdvanced].Checked = false;
                        vPermissions.Items[( int )Permission.DrawAdvanced].ForeColor = SystemColors.GrayText;
                        vPermissions.Items[( int )Permission.CopyAndPaste].Checked = false;
                        vPermissions.Items[( int )Permission.CopyAndPaste].ForeColor = SystemColors.GrayText;
                    }
                    break;

                case Permission.DrawAdvanced:
                    lFillLimit.Enabled = check;
                    lFillLimitUnits.Enabled = check;
                    nFillLimit.Enabled = check;
                    break;

                case Permission.CopyAndPaste:
                    xDrawLimit.Enabled = vPermissions.Items[( int )Permission.Draw].Checked ||
                                         vPermissions.Items[( int )Permission.CopyAndPaste].Checked;
                    lCopyPasteSlots.Enabled = check;
                    nCopyPasteSlots.Enabled = check;
                    break;

                case Permission.ManageWorlds:
                case Permission.ManageZones:
                    xAllowSecurityCircumvention.Enabled = vPermissions.Items[( int )Permission.ManageWorlds].Checked ||
                                                          vPermissions.Items[( int )Permission.ManageZones].Checked;
                    break;

                case Permission.Teleport:
                    if ( !check ) {
                        vPermissions.Items[( int )Permission.Patrol].Checked = false;
                        vPermissions.Items[( int )Permission.Patrol].ForeColor = SystemColors.GrayText;
                    } else {
                        vPermissions.Items[( int )Permission.Patrol].ForeColor = SystemColors.ControlText;
                    }
                    break;

                case Permission.Patrol:
                    if ( check )
                        vPermissions.Items[( int )Permission.Teleport].Checked = true;
                    break;

                case Permission.Delete:
                    if ( !check ) {
                        vPermissions.Items[( int )Permission.DeleteAdmincrete].Checked = false;
                        vPermissions.Items[( int )Permission.DeleteAdmincrete].ForeColor = SystemColors.GrayText;
                    } else {
                        vPermissions.Items[( int )Permission.DeleteAdmincrete].ForeColor = SystemColors.ControlText;
                    }
                    break;

                case Permission.DeleteAdmincrete:
                    if ( check )
                        vPermissions.Items[( int )Permission.Delete].Checked = true;
                    break;

                case Permission.Build:
                    if ( !check ) {
                        vPermissions.Items[( int )Permission.PlaceAdmincrete].Checked = false;
                        vPermissions.Items[( int )Permission.PlaceAdmincrete].ForeColor = SystemColors.GrayText;
                        vPermissions.Items[( int )Permission.PlaceGrass].Checked = false;
                        vPermissions.Items[( int )Permission.PlaceGrass].ForeColor = SystemColors.GrayText;
                        vPermissions.Items[( int )Permission.PlaceLava].Checked = false;
                        vPermissions.Items[( int )Permission.PlaceLava].ForeColor = SystemColors.GrayText;
                        vPermissions.Items[( int )Permission.PlaceWater].Checked = false;
                        vPermissions.Items[( int )Permission.PlaceWater].ForeColor = SystemColors.GrayText;
                    } else {
                        vPermissions.Items[( int )Permission.PlaceAdmincrete].ForeColor = SystemColors.ControlText;
                        vPermissions.Items[( int )Permission.PlaceGrass].ForeColor = SystemColors.ControlText;
                        vPermissions.Items[( int )Permission.PlaceLava].ForeColor = SystemColors.ControlText;
                        vPermissions.Items[( int )Permission.PlaceWater].ForeColor = SystemColors.ControlText;
                    }
                    break;

                case Permission.PlaceAdmincrete:
                case Permission.PlaceGrass:
                case Permission.PlaceLava:
                case Permission.PlaceWater:
                    if ( check )
                        vPermissions.Items[( int )Permission.Build].Checked = true;
                    break;

                case Permission.Bring:
                    if ( !check ) {
                        vPermissions.Items[( int )Permission.BringAll].Checked = false;
                        vPermissions.Items[( int )Permission.BringAll].ForeColor = SystemColors.GrayText;
                    } else {
                        vPermissions.Items[( int )Permission.BringAll].ForeColor = SystemColors.ControlText;
                    }
                    break;

                case Permission.BringAll:
                    if ( check )
                        vPermissions.Items[( int )Permission.Bring].Checked = true;
                    break;
            }

            if ( permissionLimitBoxes.ContainsKey( permission ) ) {
                permissionLimitBoxes[permission].PermissionToggled( check );
            }
        }
MainForm