public T SetControlScheme <T>() where T : BaseControlScheme
 {
     activeControlScheme = allControlSchemes.Find(item => item.GetType() == typeof(T));
     activeControlScheme.SetActiveState(true);
     activeControlScheme.buttonIndex = 0;
     activeControlScheme.firstUpdate = true;
     return((T)System.Convert.ChangeType(activeControlScheme, typeof(T)));
 }
    public override void Initialize()
    {
        GameAccesPoint.Instance.managerSystem.inputManager = this;

        SetCustomUserActions();

        allControlSchemes.Add(new InGameControlScheme());
        allControlSchemes.Add(new BaseMenuNavigationControlScheme());

        foreach (BaseControlScheme scheme in allControlSchemes)
        {
            scheme.SetActiveState(false);
            scheme.Initialize();
        }

        activeControlScheme = SetControlScheme <BaseMenuNavigationControlScheme>();
        _isGamepad          = false;

        isInited = true;
    }