public Texture2D Lookup <T>(T mb, IconSize size = IconSize.Large, IconColor color = IconColor.Gray) where T : class { switch (mb) { case BallRollerComponent _: return(Icons.BallRoller(size, color)); case BumperComponent _: return(Icons.Bumper(size, color)); case CannonRotatorComponent _: return(Icons.Cannon(size, color)); case DropTargetComponent _: return(Icons.DropTarget(size, color)); case DropTargetBankComponent _: return(Icons.DropTargetBank(size, color)); case FlipperComponent _: return(Icons.Flipper(size, color)); case GateComponent _: return(Icons.Gate(size, color)); case GateLifterComponent _: return(Icons.GateLifter(size, color)); case HitTargetComponent _: return(Icons.HitTarget(size, color)); case KickerComponent _: return(Icons.Kicker(size, color)); case LightComponent _: return(Icons.Light(size, color)); case LightGroupComponent _: return(Icons.LightGroup(size, color)); case PlungerComponent _: return(Icons.Plunger(size, color)); case PlayfieldComponent _: return(Icons.Playfield(size, color)); case PrimitiveComponent _: return(Icons.Primitive(size, color)); case RampComponent _: return(Icons.Ramp(size, color)); case RotatorComponent _: return(Icons.Rotator(size, color)); case RubberComponent _: return(Icons.Rubber(size, color)); case ScoreReelDisplayComponent _: return(Icons.ScoreReel(size, color)); case ScoreReelComponent _: return(Icons.ScoreReelSimple(size, color)); case SpinnerComponent _: return(Icons.Spinner(size, color)); case SlingshotComponent _: return(Icons.Slingshot(size, color)); case SurfaceComponent _: return(Icons.Surface(size, color)); case StepRotatorMechComponent _: return(Icons.Mech(size, color)); case TeleporterComponent _: return(Icons.Teleporter(size, color)); case TriggerComponent _: return(Icons.Trigger(size, color)); case TroughComponent _: return(Icons.Trough(size, color)); case MetalWireGuideComponent _: return(Icons.MetalWireGuide(size, color)); case CollisionSwitchComponent _: return(Icons.Switch(false, size, color)); default: return(null); } }