public ObserveCommandProcessor(IRavenfallClient game, IPlayerProvider playerProvider, ITwitchUserStore userStore) { //this.RequiresBroadcaster = true; this.game = game; this.playerProvider = playerProvider; this.userStore = userStore; }
private void LoginWindow(IPlayerProvider playerProvider) { ImGui.SetNextWindowSize(_playerWindowSize); if (!ImGui.Begin($"Fantasy Player: {playerProvider.PlayerState.ServiceName} Login", ref _plugin.Configuration.PlayerSettings.PlayerWindowShown, ImGuiWindowFlags.NoResize)) { return; } if (!playerProvider.PlayerState.IsAuthenticating) { InterfaceUtils.TextCentered($"Please login to {playerProvider.PlayerState.ServiceName} to start."); if (InterfaceUtils.ButtonCentered("Login")) { playerProvider.StartAuth(); } } else { InterfaceUtils.TextCentered("Waiting for a response to login... Please check your browser."); if (InterfaceUtils.ButtonCentered("Re-open Url")) { playerProvider.RetryAuth(); } } ImGui.End(); }
public CommandProvider( IPlayerProvider playerProvider, ICommandHandler commandHandler) { this.playerProvider = playerProvider; this.commandHandler = commandHandler; }
public ResourcesCommandProcessor( IRavenfallClient game, IPlayerProvider playerProvider) { this.game = game; this.playerProvider = playerProvider; }
public UserPlayerCreateHandler( IGameData gameData, IPlayerProvider playerProvider) { this.gameData = gameData; this.playerProvider = playerProvider; }
public TradeItemCommandProcessor( IRavenfallClient game, IPlayerProvider playerProvider) { this.game = game; this.playerProvider = playerProvider; }
private void CheckProvider(IPlayerProvider playerProvider) { if (playerProvider.PlayerState.ServiceName == null) return; if (playerProvider.PlayerState.ServiceName == _lastId) return; _lastId = playerProvider.PlayerState.ServiceName; //TODO: Add and remove command handlers based on provider settings, those need to be added too var cmdManager = _plugin.FPCommandManager; cmdManager.Commands.Remove("shuffle"); cmdManager.Commands.Remove("next"); cmdManager.Commands.Remove("back"); cmdManager.Commands.Remove("pause"); cmdManager.Commands.Remove("play"); cmdManager.Commands.Remove("volume"); cmdManager.Commands.Remove("relogin"); cmdManager.Commands.Add("shuffle", (OptionType.Boolean, new string[] { }, "Toggle shuffle.", OnShuffleCommand)); cmdManager.Commands.Add("next", (OptionType.None, new string[] {"skip"}, "Skip to the next track.", OnNextCommand)); cmdManager.Commands.Add("back", (OptionType.None, new string[] {"previous"}, "Go back a track.", OnBackCommand)); cmdManager.Commands.Add("pause", (OptionType.None, new string[] {"stop"}, "Pause playback.", OnPauseCommand)); cmdManager.Commands.Add("play", (OptionType.None, new string[] { }, "Continue playback.", OnPlayCommand)); cmdManager.Commands.Add("volume", (OptionType.Int, new string[] { }, "Set playback volume.", OnVolumeCommand)); cmdManager.Commands.Add("relogin", (OptionType.None, new string[] {"reauth"}, "Re-opens the login window and lets you login again", OnReLoginCommand)); }
public SquadMaker() { _playerProvider = PlayerAccessFactory.GetFilePlayerDataAccessObj(); _algSequenceProvider = new AlgorithmSequenceDataProvider(); _internalDataProvider = new AlgorithmInputProvider(); _squadsProvider = new SquadsProvider(); _iTeamAverageCalculator = new TeamAverageCalculator(); }
public GameStateService(ILogger logger, IBackupService backupService, IPlayerProvider playerProvider, IGameStateServiceView view) : base(logger) { this.backupService = backupService; this.playerProvider = playerProvider; this.view = view; }
public TwitchBot( ILogger logger, IKernel kernel, IRavenfallClient ravenfall, IPlayerProvider playerProvider, ITwitchMessageFormatter localizer, IMessageBus messageBus, ICommandProvider commandProvider, ICommandHandler commandHandler, IChannelProvider channelProvider, IConnectionCredentialsProvider credentialsProvider) { this.logger = logger; this.kernel = kernel; this.ravenfall = ravenfall; this.playerProvider = playerProvider; this.messageFormatter = localizer; this.messageBus = messageBus; this.commandProvider = commandProvider; this.commandHandler = commandHandler; this.channelProvider = channelProvider; this.credentialsProvider = credentialsProvider; this.messageBus.Subscribe <string>("streamer_userid_acquired", userid => { try { if (listeningToChannelPoints) { return; } if (pubsubIsConnected) { pubsubIsConnected = false; pubsub.Disconnect(); } pubsub.ListenToChannelPoints(userid); pubsub.Connect(); pubsubIsConnected = true; logger.WriteDebug("Connecting to PubSub"); } catch (Exception exc) { logger.WriteError(exc.ToString()); } }); this.CreateTwitchClient(); ravenfall.ProcessAsync(Settings.UNITY_SERVER_PORT); }
public RoundDirector(IPlayerProvider playerProvider, StageScoreManager stageScoreManager, IPlayerFactory playerFactory, StageMapSetting stageMapSetting, IBasketFactory basketFactory, ScoreManager scoreManager) { _playerProvider = playerProvider; _stageScoreManager = stageScoreManager; _playerFactory = playerFactory; _stageMapSetting = stageMapSetting; _basketFactory = basketFactory; _scoreManager = scoreManager; }
public static int MaxGameScore(this IPlayerProvider playerProvider, Gender gender) { var genderPlayers = playerProvider.AllPlayers.Where(p => p.Gender == gender).ToList(); if (genderPlayers.Any()) { return(genderPlayers.Max(p => p.GameScore)); } return(0); }
public List <Team> Generate(IPlayerProvider playerProvider, int numTeams) { PopulateRoundResults(Rounds, playerProvider); // create teams and distribute players _teams = Enumerable.Range(0, numTeams) .Select(i => new Team(i + 1)) .ToList(); return(DistributePlayers()); }
public List <Team> Generate(IPlayerProvider playerProvider, int numTeams, List <HatRound> rounds) { PopulateRoundResults(rounds, playerProvider); // create teams and distribute players _teams = Enumerable.Range(0, numTeams) .Select(i => new Team(string.Format("Team {0} ({1})", i + 1, i % 2 == 0 ? "light" : "dark"))) .ToList(); return(DistributePlayers()); }
private void InitializeProvider(Type type, IPlayerProvider playerProvider) { playerProvider.Initialize(_plugin); PlayerProviders.Add(type, playerProvider); if (_plugin.Configuration.PlayerSettings.DefaultProvider == type.FullName) { CurrentPlayerProvider ??= playerProvider; } }
public RavenfallConnectionProvider( Shinobytes.Ravenfall.RavenNet.Core.IMessageBus messageBus, Microsoft.Extensions.Logging.ILogger logger, Shinobytes.Ravenfall.RavenNet.Core.IKernel kernel, IPlayerProvider playerProvider) { this.logger = logger; this.kernel = kernel; this.playerProvider = playerProvider; this.messageBus = messageBus; }
private bool NeedToReverseSecond(IPlayerProvider playerProvider) { // Since the snake resets every two passes through the teams, we modulo by that to see which direction the snake is going // on its last leg var numMalePlayers = playerProvider.PresentPlayers().Count(p => p.Gender == Gender.Male) % (NumTeams * 2); var maleGoingRight = numMalePlayers < NumTeams; var numFemalePlayers = playerProvider.PresentPlayers().Count(p => p.Gender == Gender.Female) % (NumTeams * 2) - NumTeams; var femaleGoingRight = numFemalePlayers < NumTeams; // If both going the same direction at the end, we need to reverse the allocation of the second gender to ensure we don't // have too many people on a team return(maleGoingRight == femaleGoingRight); }
public BotPlayerLeaveHandler( ILogger logger, IWorldProcessor worldProcessor, IPlayerProvider playerProvider, IUserManager userManager, IGameSessionManager sessionManager) { this.logger = logger; this.worldProcessor = worldProcessor; this.playerProvider = playerProvider; this.userManager = userManager; this.sessionManager = sessionManager; }
public AuthRequestHandler( ILogger logger, IGameData gameData, IPlayerProvider playerProvider, IUserManager userManager, IAuthService authService, IPlayerConnectionProvider connectionProvider) { this.logger = logger; this.gameData = gameData; this.playerProvider = playerProvider; this.userManager = userManager; this.authService = authService; this.connectionProvider = connectionProvider; }
public BotPlayerJoinHandler( ILogger logger, IWorldProcessor worldProcessor, IPlayerProvider playerProvider, IUserManager userManager, IPlayerConnectionProvider connectionProvider, IGameSessionManager sessionManager) { this.logger = logger; this.worldProcessor = worldProcessor; this.playerProvider = playerProvider; this.userManager = userManager; this.connectionProvider = connectionProvider; this.sessionManager = sessionManager; }
private IPlayerProvider LoadPlayerProvider(string file) { Assembly asm = null; try { asm = Assembly.LoadFile(file); } catch (Exception) { //unable to load... throw new ArgumentException("Unable to load IPlayerProvider from " + file); } Type pluginInfo = null; try { Type[] types = asm.GetTypes(); Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); Assembly core = AppDomain.CurrentDomain.GetAssemblies().Single(x => x.GetName().Name.Equals("FitzLanePlugin")); Type type = core.GetType("FitzLanePlugin.Interfaces.IPlayerProvider"); foreach (var t in types) { if (type.IsAssignableFrom((Type)t)) { pluginInfo = t; break; } } if (pluginInfo != null) { object o = Activator.CreateInstance(pluginInfo); IPlayerProvider playerProvider = (IPlayerProvider)o; //returning from somewhere within the method... this needs to get refactored... return(playerProvider); } } catch (Exception ex) { //unable to load... throw new ArgumentException("Unable to load IPlayerProvider from " + file + "(" + ex.ToString() + ")"); } //unable to load... throw new ArgumentException("Unable to load IPlayerProvider from " + file); }
public PlayerSearchViewModel(IPlayerProvider playerProvider) { _view = new MyCollectionViewGeneric <IPlayer>(CollectionViewSource.GetDefaultView(playerProvider.GetAllWorldCupPlayer())); _view.Filter += (object item) => { if (_textsearch == null) { return(true); } var itemPl = (IPlayer)item; return(itemPl.Name.Contains(_textsearch) || itemPl.NationalTeam.Contains(_textsearch) || itemPl.Club.Contains(_textsearch) || itemPl.Championship.Contains(_textsearch)); }; }
private void InitializeProvider(Type type, IPlayerProvider playerProvider) { if (PlayerProviders.ContainsKey(type)) { return; } PluginLog.Log("Initializing provider: " + type.FullName); playerProvider.Initialize(_plugin); PlayerProviders.Add(type, playerProvider); PluginLog.Log("Initialized provider: " + type.FullName); if (_plugin.Configuration.PlayerSettings.DefaultProvider == type.FullName) { CurrentPlayerProvider ??= playerProvider; } }
public List <Team> CreateTeams(IPlayerProvider playerProvider) { var teams = Enumerable.Range(0, NumTeams).Select(i => new Team(i + 1)).ToList(); // We restart the snaking per gender so that players should have good matchups. However, this has // the possible side effect of creating one team with 2 more players than their opponent (one more // male, one more female). We detect this possibility here and prevent it by iterating through the teams backwards var needToReverseSecond = NeedToReverseSecond(playerProvider); // Randomly spread out all the guru male players // Then the guru female players // Then the experienced males // Then the experienced females // etc. var groupedByGender = playerProvider.PresentPlayers().GroupBy(p => p.Gender); var thenGroupedByExperience = groupedByGender.Select(g => g.GroupBy(p => p.SkillLevel).OrderByDescending(g2 => g2.Key.Value)); foreach (var group in thenGroupedByExperience) { List <Player> players = new List <Player>(); foreach (var subGroup in group) { players.AddRange(subGroup.ToList().Shuffle()); } var teamLoop = teams.Snake().GetEnumerator(); foreach (var player in players) { teamLoop.MoveNext(); teamLoop.Current.AddPlayer(player); } if (needToReverseSecond) { teams.Reverse(); } } return(teams); }
public DungeonCommandProcessor(IRavenfallClient game, IPlayerProvider playerProvider, ITwitchUserStore userStore) { this.game = game; this.playerProvider = playerProvider; this.userStore = userStore; }
public IslandInfoCommandProcessor(IRavenfallClient game, IPlayerProvider playerProvider) { this.game = game; this.playerProvider = playerProvider; }
private void ResetProviders() { CurrentPlayerProvider = default; PlayerProviders = new Dictionary <Type, IPlayerProvider>(); }
public FeedCommandProcessor(IBabyYodaClient game, IPlayerProvider playerProvider) { this.game = game; this.playerProvider = playerProvider; }
public PlayerController(IPlayerProvider playerProvider) { _playerService = playerProvider; }
public HighscoreSkillCommandProcessor(IRavenfallClient game, IPlayerProvider playerProvider) { this.game = game; this.playerProvider = playerProvider; }