void FPlatformerOptions::UpdateOptions()
{
	//grab the user settings
	UserSettings = CastChecked<UPlatformerGameUserSettings>(GEngine->GetGameUserSettings());
	VideoResolutionOption->SelectedMultiChoice = GetCurrentResolutionIndex(UserSettings->GetScreenResolution());
	FullScreenOption->SelectedMultiChoice = UserSettings->GetFullscreenMode() != EWindowMode::Windowed ? 1 : 0;
	SoundVolumeOption->SelectedMultiChoice = FMath::TruncToInt(UserSettings->GetSoundVolume() * 10.0f);
}
void FAmethystOptions::UpdateOptions()
{
#if UE_BUILD_SHIPPING
    CheatsItem->bVisible = false;
#else
    //Toggle Cheat menu visibility depending if we are client or server
    UWorld* const World = PlayerOwner->GetWorld();
    if (World && World->GetNetMode() == NM_Client)
    {
        CheatsItem->bVisible = false;
    }
    else
    {
        CheatsItem->bVisible = true;
    }
#endif
    
    //grab the user settings
    UAmethystPersistentUser* const PersistentUser = GetPersistentUser();
    if (PersistentUser)
    {
        // Update bInvertYAxisOpt, SensitivityOpt and GammaOpt because the AmethystOptions can be created without the controller having a player
        // by the in-game menu which will leave them with default values
        bInvertYAxisOpt = PersistentUser->GetInvertedYAxis();
        SensitivityOpt = PersistentUser->GetAimSensitivity();
        GammaOpt = PersistentUser->GetGamma();
    }
    
    InvertYAxisOption->SelectedMultiChoice =  GetCurrentMouseYAxisInvertedIndex();
    AimSensitivityOption->SelectedMultiChoice = GetCurrentMouseSensitivityIndex();
    GammaOption->SelectedMultiChoice = GetCurrentGammaIndex();
#if PLATFORM_DESKTOP
    VideoResolutionOption->SelectedMultiChoice = GetCurrentResolutionIndex(UserSettings->GetScreenResolution());
    GraphicsQualityOption->SelectedMultiChoice = UserSettings->GetGraphicsQuality();
    FullScreenOption->SelectedMultiChoice = UserSettings->GetCurrentFullscreenMode() != EWindowMode::Windowed ? 1 : 0;
#endif
    
}