private static string GetPromptImagePath(this SteamControllerButton button, ISteamController controller) { if (controller is SteamworksSteamController) { return(((SteamworksSteamController)controller).GetButtonPromptPath(button.GetID(), button.GetActionSet().GetID())); } return(null); }
public static string GetPromptPath(this SteamControllerJoystick axis, ISteamController controller) { if (controller is SteamworksSteamController) { return(((SteamworksSteamController)controller).GetJoystickPromptPath(axis.GetID(), axis.GetActionSet().GetID())); } return(null); }
public bool OpenSteamControllerConfig(ISteamController controller) { if (controller is SteamworksSteamController) { return(SteamController.ShowBindingPanel( ((SteamworksSteamController)controller).Handle )); } return(false); }
protected override void OnInit() { m_lastInputMethod = Screen.InputMethod; m_lastPadType = (Screen.Gamepad != null) ? Screen.Gamepad.Type : GamepadType.Unknown; m_lastSteamController = Screen.SteamController; m_text.Anchor = Anchor; m_text.LocalPosition = LocalPosition; m_text.Parent = this.Parent; m_text.Init(Screen); }
public static string GetPrompt(this SteamControllerButton button, ISteamController controller) { var path = button.GetPromptImagePath(controller); if (path != null) { return('[' + path + ']'); } else { return("?"); } }
public static string GetPrompt(this SteamControllerJoystick axis, ISteamController controller) { var path = axis.GetPromptPath(controller); if (path != null) { return('[' + path + ']'); } else { return("?"); } }
protected override void OnUpdate(float dt) { var inputMethod = Screen.InputMethod; var padType = (Screen.Gamepad != null) ? Screen.Gamepad.Type : GamepadType.Unknown; var steamController = Screen.SteamController; if (inputMethod != m_lastInputMethod || padType != m_lastPadType || (inputMethod == InputMethod.SteamController)) // Steam controller bindings can change without warning { m_lastInputMethod = inputMethod; m_lastPadType = padType; m_lastSteamController = steamController; RequestRebuild(); } m_text.Visible = Visible; m_text.Update(dt); }
public LoadingExtension(ILogger logger, ISteamController steamController) { this.logger = logger; this.steamController = steamController; try { steamController.UpdateAchievementsStatus(); steamController.UpdatePopupPosition(); logger.Info("SteamyUserMod"); } catch (Exception ex) { logger.LogException(ex); throw; } }
public SteamyUserMod(ILogger logger, ISteamController steamController) { this.logger = logger; this.steamController = steamController; try { OptionsPanelManager = new OptionsPanelManager(logger, steamController); steamController.UpdateAchievementsStatus(); steamController.UpdatePopupPosition(); logger.Info("SteamyUserMod"); } catch (Exception ex) { logger.LogException(ex); throw; } }
private void Configure() { ISteamController controller = null; if (Game.ActiveSteamController != null) { controller = Game.ActiveSteamController; } else if (Game.SteamControllers.Count > 0) { controller = Game.SteamControllers.First(); } if (controller == null) { ShowDialog(DialogBox.CreateQueryBox( Game.Screen, Game.Language.Translate("menus.steam_controller_input_options.configure"), Game.Language.Translate("menus.steam_controller_input_options.no_controller"), new string[] { Game.Language.Translate("menus.ok") }, false )); } else if (!Game.Network.OpenSteamControllerConfig(controller)) { if (!m_bigPicture) { ShowDialog(DialogBox.CreateQueryBox( Game.Screen, Game.Language.Translate("menus.steam_controller_input_options.configure"), Game.Language.Translate("menus.steam_controller_input_options.no_big_picture"), new string[] { Game.Language.Translate("menus.ok") }, false )); } } }
public bool OpenSteamControllerConfig(ISteamController controller) { return(false); }
public OptionsPanelManager(ILogger logger, ISteamController steamController) { this.logger = logger; this.steamController = steamController; }
public Game() { m_promiseTasks = new List <PromiseTask>(); m_over = false; RenderUI = true; UseDebugCamera = false; // Init network if (App.Steam) { m_network = new SteamworksNetwork( AchievementExtensions.GetAllIDs(), StatisticExtensions.GetAllIDs() ); } else { m_network = new BuiltinNetwork(); } if (m_network.SupportsAchievements) { m_network.SetAchievementCorner(AchievementCorner.TopRight); } // Init user m_user = LoadUser(); // Init window var title = App.Info.Title + " " + App.Info.Version.ToString(); if (App.Debug && App.Steam) { title += " (Steam Debug build)"; } else if (App.Debug) { title += " (Debug build)"; } bool fullscreen = m_user.Settings.Fullscreen; bool vsync = m_user.Settings.VSync; using (var icon = new Bitmap(Path.Combine(App.AssetPath, "icon.png"))) { m_window = new SDL2Window( title, m_user.Settings.WindowWidth, m_user.Settings.WindowHeight, m_user.Settings.Fullscreen, m_user.Settings.WindowMaximised, m_user.Settings.VSync ); m_window.SetIcon(icon); } m_window.OnClosed += delegate(object sender, EventArgs e) { Over = true; }; m_window.OnResized += delegate(object sender, EventArgs e) { Resize(); if (!m_window.Fullscreen) { if (m_window.Maximised) { m_user.Settings.WindowMaximised = true; } else { m_user.Settings.WindowMaximised = false; m_user.Settings.WindowWidth = m_window.Width; m_user.Settings.WindowHeight = m_window.Height; } m_user.Settings.Save(); } }; // Init audio if (App.Arguments.GetBool("nosound")) { m_audio = new NullAudio(); } else { m_audio = new OpenALAudio(); } m_audio.EnableSound = m_user.Settings.EnableSound; m_audio.SoundVolume = m_user.Settings.SoundVolume / 11.0f; m_audio.EnableMusic = m_user.Settings.EnableMusic; m_audio.MusicVolume = m_user.Settings.MusicVolume / 11.0f; m_gameAudio = new GameAudio(m_audio); // Init input m_keyboard = new SDL2Keyboard(m_window); m_mouse = new SDL2Mouse(m_window); m_gamepads = new SDL2GamepadCollection(m_window); m_activeGamepad = null; if (App.Steam) { m_steamControllers = new SteamworksSteamControllerCollection( m_window, SteamControllerActionSetExtensions.GetAllIDs(), SteamControllerButtonExtensions.GetAllIDs(), SteamControllerJoystickExtensions.GetAllIDs(), SteamControllerAxisExtensions.GetAllIDs() ); m_readOnlySteamControllers = m_steamControllers; m_activeSteamController = null; } else { m_steamControllers = null; m_readOnlySteamControllers = new List <ISteamController>(0).ToReadOnly(); m_activeSteamController = null; } // Init tiles Tiles.Init(); // Load early assets var earlyAssetFileStore = new FolderFileStore(Path.Combine(App.AssetPath, "early")); var earlyAssets = new FileAssetSource("early", earlyAssetFileStore); Assets.AddSource(earlyAssets); Assets.LoadAll(); // Find mods Mods.Refresh(Network); if (Network.SupportsWorkshop) { // See if any mods are worthy of the popular mod achievement var myModIDs = new List <ulong>(); foreach (var mod in Mods.AllMods) { if (mod.Source == ModSource.Editor && mod.SteamWorkshopID.HasValue) { myModIDs.Add(mod.SteamWorkshopID.Value); } } if (myModIDs.Count > 0) { QueuePromiseTask( m_network.Workshop.GetItemInfo(myModIDs.ToArray()), delegate(Promise <WorkshopItemInfo[]> result) { if (result.Status == Status.Complete) { var infos = result.Result; int subs = 0; for (int i = 0; i < infos.Length; ++i) { var info = infos[i]; if (info.AuthorID == m_network.LocalUser.ID && info.UpVotes >= info.DownVotes) { subs = Math.Max(info.TotalSubscribers, subs); } } int oldSubs = User.Progress.GetStatistic(Statistic.MostPopularModSubscriptions); if (subs >= 25) { User.Progress.SetStatistic(Statistic.MostPopularModSubscriptions, subs); User.Progress.UnlockAchievement(Achievement.CreatePopularMod); User.Progress.Save(); } else if (subs > oldSubs) { User.Progress.SetStatistic(Statistic.MostPopularModSubscriptions, subs); User.Progress.IndicateAchievementProgress(Achievement.CreatePopularMod, subs, 25); User.Progress.Save(); } } } ); } } // Load language SelectLanguage(); // Load debug stuff m_debugCameraController = new DebugCameraController(this); // Load game Load(); }