public OrientationCubeComponentSolver(TwitchModule module) :
        base(module)
    {
        var component = module.BombComponent.GetComponent(ComponentType);

        _submit = (MonoBehaviour)SubmitField.GetValue(component);
        _left   = (MonoBehaviour)LeftField.GetValue(component);
        _right  = (MonoBehaviour)RightField.GetValue(component);
        _ccw    = (MonoBehaviour)CcwField.GetValue(component);
        _cw     = (MonoBehaviour)CwField.GetValue(component);
        ModInfo = ComponentSolverFactory.GetModuleInfo(GetModuleType(), "Move the cube with !{0} press cw l set. The buttons are l, r, cw, ccw, set.");
    }
        private static object TryParseBackwardCompatibleFormat(Type usableType, SubmitField value)
        {
            if (usableType == typeof(DateTime))
            {
                var languagesToTry = new[] { new CultureInfo("en-US"), new CultureInfo("en-GB"), new CultureInfo("da-DK") };

                foreach (var ci in languagesToTry)
                {
                    try
                    {
                        return(DateTime.Parse(value.Value, ci));
                    }
                    catch { }
                }
            }

            return(null);
        }