/// <summary> /// Sets control scheme when user interacts with a toggle /// </summary> /// <param name="newScheme">bounded index of selected control scheme /// within ControlSchemes enum</param> public void SelectControlScheme(int newScheme) { // update control scheme and diagram ControlSchemeManager.SetControlScheme((ControlSchemes)Mathf.Max(0, Mathf.Min(System.Enum.GetNames(typeof(ControlSchemes)).Length, newScheme))); AudioManager.Play(AudioClipNames.UI_buttonPress, true); UpdateDiagram(); }
private void OnEnable() { spriteRenderer = GetComponent <SpriteRenderer>(); GameObject player = GameObject.FindWithTag("Player"); playerInput = player.GetComponent <PlayerInput>(); if (playerInput != null) { ControlSchemeManager.Instance.ControlSchemeChanged += OnControlSchemeChanged; ControlSchemeManager.SetControlScheme(playerInput, ControlSchemeManager.Instance.LastUsedControlScheme); OnControlSchemeChanged(playerInput.currentControlScheme); } }
/// <summary> /// Submit a control scheme to the ControlSchemeManager. /// </summary> public void SubmitScheme() { switch (Mode) { case ControlSchemeCreatorMode.Create: { ControlSchemeManager.Schemes.Add(_currentlyEditingScheme); ControlSchemeManager.UseScheme(ControlSchemeManager.Schemes.Count - 1); break; } case ControlSchemeCreatorMode.Edit: { ControlSchemeManager.Schemes[ControlSchemeManager.CurrentSchemeIndex] = _currentlyEditingScheme; break; } } ControlSchemeManager.SerializeControlSchemes(ControlSchemeManager.Schemes); ControlSchemeManager.ReloadSchemes(); ControlSchemeDropdownPopulator.PopulateDropdown(); Hide(); }
/// <summary> /// Apply the game settings. This function propagates the given settings to all game systems that need them. /// </summary> /// <param name="settings">The settings to apply.</param> public static void ApplySettings(GameSettings settings) { // TODO: try and catch exceptions for erroneous loaded values (i.e. array idx) and reset to default if error // set the control scheme ControlSchemeManager.UseScheme(settings.CurrentControlSchemeIndex); // set the resolution if (settings.CurrentResolutionIndex > Screen.resolutions.Length) { // if the resolution is invalid, set it to the lowest resolution Screen.SetResolution(Screen.resolutions[0].width, Screen.resolutions[0].height, settings.Fullscreen); } else { Screen.SetResolution(Screen.resolutions[settings.CurrentResolutionIndex].width, Screen.resolutions[settings.CurrentResolutionIndex].height, settings.Fullscreen); } // set framerate to limit or not Application.targetFrameRate = settings.LimitFramerate ? FRAMERATE_LIMIT : -1; // set retro shader affine intensity Shader.SetGlobalFloat("AffineIntensity", settings.AffineIntensity); // set the current dream journal DreamJournalManager.SetJournal(settings.CurrentJournalIndex); // set volumes SetMusicVolume(settings.MusicVolume); SetSFXVolume(settings.SFXVolume); // set the graphics quality QualitySettings.SetQualityLevel(settings.CurrentQualityIndex, true); Debug.Log("Applying game settings..."); Debug.Log("Affine intensity: " + settings.AffineIntensity); }
public IEnumerator LoadGameCoroutine() { // do game startup stuff here GameSettings.Initialize(); TResourceManager.RegisterHandler(new LBDHandler()); TResourceManager.RegisterHandler(new TIXHandler()); TResourceManager.RegisterHandler(new Texture2DHandler()); TResourceManager.RegisterHandler(new MaterialHandler()); ControlSchemeManager.Initialize(); DreamJournalManager.Initialize(); MapReader.MapScaleFactor = 1F; GameSettings.LoadSettings(); Shader.SetGlobalFloat("_FogStep", 0.08F); Shader.SetGlobalFloat("AffineIntensity", 0.5F); PsxVram.Initialize(); if (Application.isEditor) { // if we're running inside the editor, we want to have the mouse! GameSettings.SetCursorViewState(true); } yield return(LBDTilePool.InitialiseCoroutine()); // TODO //SaveGameManager.LoadGame(); OnGameDataLoaded.Raise(); }
/// <summary> /// Used for initialization /// </summary> void Awake() { // initialize data CraftableItemsRegistry.Initialize(); ControlSchemeManager.Initialize(); }