private bool IsPlayerHasBait() { var fishingRodPublicState = SelectedItem.GetPublicState <ItemFishingRodPublicState>(); if (fishingRodPublicState.CurrentProtoBait is null || FishingSystem.SharedFindBaitItem(CurrentCharacter, fishingRodPublicState.CurrentProtoBait) is null) { // no bait selected - try switch it FishingBaitReloadingSystem.ClientTrySwitchBaitType(); if (fishingRodPublicState.CurrentProtoBait is null || FishingSystem.SharedFindBaitItem(CurrentCharacter, fishingRodPublicState.CurrentProtoBait) is null) { // no bait selected after a switch attempt return(false); } } return(true); }
protected void InitializeFishingModule() { FishData = new Fish[] { CreateFish(1, "SmallTestFish", "It's a small fish.", 10, 20, 50, 60, 1, "Small", "Light tug", 1, "Common", 3.5f), CreateFish(2, "BigTestFish", "It's a big fish.", 100, 200, 500, 600, 2, "Big", "Heavy tug", 2, "Uncommon", 2.5f), CreateFish(2, "RareTestFish", "It's a rare fish.", 1000, 2000, 5000, 6000, 3, "Rare", "Mystical tug", 3, "Rare", 1.5f) }.ToList(); FishDataMock = new ListRepository <Fish>(FishData); FisherData = new Fisher[] { CreateFisher(0, "00", 0, FishData), CreateFisher(1, "01", FishData.Count, FishData), CreateFisher(2, "02", FishData.Count * 2, FishData), CreateFisher(3, "03", FishData.Count * 3, new List <Fish>()), }.ToList(); FishersMock = new ListRepository <Fisher>(FisherData); LeaderboardMock = new ListRepository <Catch>(CreateLeaderboardFromFishers(FishData, FisherData)); UserMapData = new UserMap[] { new UserMap() { TwitchId = "00", Username = "******" }, new UserMap() { TwitchId = "01", Username = "******" }, new UserMap() { TwitchId = "02", Username = "******" }, new UserMap() { TwitchId = "03", Username = "******" } }.ToList(); UserMapMock = new ListRepository <UserMap>(UserMapData); AppSettings = new AppSettings() { FishingCastMaximum = 20, FishingCastMinimum = 10, FishingGloatCost = 10, FishingHookLength = 10, FishingTournamentCastMaximum = 2, FishingTournamentCastMinimum = 1, FishingTournamentDuration = 5, FishingTournamentInterval = 10, FishingUseNormalRarity = false, FishingUseNormalSizes = false, GeneralCacheUpdateTime = 2 }; UserLookup = new UserLookup(UserMapMock, AppSettings); TournamentResultsData = new TournamentResult[] { new TournamentResult(DateTime.Now - new TimeSpan(0, 0, 30), new TournamentEntry[] { new TournamentEntry("00", 10), new TournamentEntry("01", 20), new TournamentEntry("02", 30) }), new TournamentResult(DateTime.Now - new TimeSpan(0, 30, 30), new TournamentEntry[] { new TournamentEntry("00", 30), new TournamentEntry("01", 20), new TournamentEntry("02", 10) }), new TournamentResult(DateTime.Now - new TimeSpan(1, 0, 30), new TournamentEntry[] { new TournamentEntry("00", 40), new TournamentEntry("01", 20), new TournamentEntry("02", 50) }), new TournamentResult(DateTime.Now - new TimeSpan(1, 30, 30), new TournamentEntry[] { new TournamentEntry("00", 35), new TournamentEntry("01", 20), new TournamentEntry("02", 10) }), new TournamentResult(DateTime.Now - new TimeSpan(2, 0, 30), new TournamentEntry[] { new TournamentEntry("00", 40), new TournamentEntry("01", 60), new TournamentEntry("02", 50) }) }.ToList(); TournamentResultsMock = new ListRepository <TournamentResult>(TournamentResultsData); AppSettingsMock = new ListRepository <AppSettings>(new AppSettings[] { AppSettings }.ToList()); WolfcoinList = new Dictionary <string, int> { { "Foo", 100 }, { "Bar", 1 } }; System = new FishingSystem( FishDataMock, FishersMock, LeaderboardMock, TournamentResultsMock, AppSettingsMock); Module = new FishingModule( UserLookup, System, TournamentResultsMock, WolfcoinList); AdminModule = Module.SubModules.Where(x => x is FishingAdmin).FirstOrDefault() as FishingAdmin; TournamentModule = Module.SubModules.Where(x => x is TournamentModule).FirstOrDefault() as TournamentModule; }