async Task ExecuteLoadPlayersCommand() { if (IsBusy) { return; } IsBusy = true; try { Players.Clear(); var players = await PlayerDataStore.GetItemsAsync(true); foreach (var player in players) { Players.Add(player); } } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; } }
async Task ExecuteLoadItemsCommand(int spotId) { if (IsBusy) { return; } IsBusy = true; try { Items.Clear(); var items = await PlayerDataStore.GetItemsAsync(spotId); foreach (var item in items) { Items.Add(item); } } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; } }
public void Execute(IRocketPlayer caller, string[] command) { if (command.Length == 0) { UnturnedChat.Say(caller, Syntax); } else { UnturnedPlayer Player = UnturnedPlayer.FromName(command[0]); if (Player == null) { UnturnedChat.Say(caller, "DisableVehicleAccess_NoPlayer".Translate()); } else { var Store = PlayerDataStore.GetPlayerData(Player); Store.CanEnterVehicle = !Store.CanEnterVehicle; if (Store.CanEnterVehicle) { UnturnedChat.Say(caller, "DisableVehicleAccess_AccessEnabled".Translate()); } else { if (Player.IsInVehicle) { Player.CurrentVehicle.forceRemovePlayer(out byte seat, Player.CSteamID, out Vector3 pos, out byte angle); SDG.Unturned.VehicleManager.sendExitVehicle(Player.CurrentVehicle, seat, pos, angle, true); } UnturnedChat.Say(caller, "DisableVehicleAccess_AccessDisabled".Translate()); } } } }
public void LoadCurrentPlayers() { foreach (var client in Provider.clients) { UnturnedPlayer Player = UnturnedPlayer.FromSteamPlayer(client); PlayerDataStore.TryRegisterPlayer(Player); PlayerSessionStore.TryRegisterPlayer(Player); } }
public static bool PlayerCanFlyAtSpeed(UnturnedPlayer Player, float Speed) { float MaxSpeed = GetPlayerMaxFlySpeed(Player); PlayerData data = PlayerDataStore.GetPlayerData(Player); if (data != null && data.FlightSpeedPermitOverride != 0) { MaxSpeed = data.FlightSpeedPermitOverride; } return(Math.Abs(Speed) <= MaxSpeed); }
private void VehicleManager_onEnterVehicleRequested(Player player, InteractableVehicle vehicle, ref bool shouldAllow) { var Data = PlayerDataStore.GetPlayerData(UnturnedPlayer.FromPlayer(player)); if (Data != null) { if (!Data.CanEnterVehicle) { shouldAllow = false; } } }
public async void AddPlayer() { if (!string.IsNullOrEmpty(Name)) { await PlayerDataStore.AddAsync(new User() { Name = Name }); //todo: FIX ME } Name = string.Empty; FetchPlayers(); }
public void Execute(IRocketPlayer caller, string[] command) { if (command.Length == 0) { UnturnedChat.Say(caller, Syntax); } else { UnturnedPlayer Player = UnturnedPlayer.FromName(command[0]); if (Player == null) { UnturnedChat.Say(caller, "Error_PlayerNotFound".Translate()); return; } int NewOverride = 0; if (command.Length > 1) { bool failed = false; try { NewOverride = Convert.ToInt32(command[1]); } catch (FormatException) { failed = true; } catch (OverflowException) { failed = true; } if (failed) { UnturnedChat.Say(caller, "Flight_PermitSpeed_InvalidNumber".Translate()); return; } } PlayerData data = PlayerDataStore.GetPlayerData(Player); if (data == null) { return; } data.FlightSpeedPermitOverride = NewOverride; if (NewOverride == 0) { UnturnedChat.Say(caller, "Flight_PermitSpeed_Reset".Translate()); } else { UnturnedChat.Say(caller, "Flight_PermitSpeed_Updated".Translate()); } } }
public async void FetchPlayers() { var users = await PlayerDataStore.GetAllAsync(); Players = users.Select(x => new PlayerViewItem(x) { Selected = sessionService.Self == x.RemoteId, SelectedCommand = new Command <string>(SelectPlayer) }).ToList(); var selectedIds = Players.Where(p => p.Selected).Select(x => x.Id); SelectedPlayers = users.Where(x => selectedIds.Any(y => y == x.RemoteId)).ToList(); }
public FollowingPlayersViewModel(int spotId) { Title = "Browse"; Items = new ObservableCollection <Player>(); LoadItemsCommand = new Command(async() => await ExecuteLoadItemsCommand(spotId)); MessagingCenter.Subscribe <PlayerDetailPage, Player>(this, "AddItem", async(obj, item) => { var newItem = item as Player; Items.Add(newItem); await PlayerDataStore.AddItemAsync(newItem); }); }
public IEnumerable <WtaPlayer> GetPlayers() { // Attempt to retrieve WTA player data from the memory cache (or go and retrieve it, if necessary) if (!cache.TryGetValue(CacheKeys.PlayerData, out List <WtaPlayer> playerData)) { // Initialise the WTA player data and store the results in the cache (with a stock expiry time) playerData = new PlayerDataStore().GetPlayerData(); cache.Set(CacheKeys.PlayerData, playerData, new MemoryCacheEntryOptions() .SetSlidingExpiration(TimeSpan.FromMinutes(STOCK_CACHE_EXPIRY_MINS))); } return(playerData); }
private async void SelectPlayer(string id) { Players.FirstOrDefault(x => x.Id == id).ToggleSelected(); var user = await PlayerDataStore.GetAsync(id); if (!selectedPlayers.Any(x => x.RemoteId == id)) { selectedPlayers.Add(user); } else { selectedPlayers.Remove(user); } Players = Players.ToList(); }
public override void LoadPlugin() { Logger.Log($"Loading ShimmysAdminTools v{UpdaterCore.CurrentVersion} by ShimmyMySherbet"); base.LoadPlugin(); Instance = this; Config = Configuration.Instance; PlayerDataStore.Init(); PlayerSessionStore.Init(); U.Events.OnBeforePlayerConnected += Events_OnBeforePlayerConnected; U.Events.OnPlayerConnected += Events_OnPlayerConnected; U.Events.OnPlayerDisconnected += Events_OnPlayerDisconnected; VehicleManager.onEnterVehicleRequested += VehicleManager_onEnterVehicleRequested; Rocket.Unturned.Events.UnturnedPlayerEvents.OnPlayerUpdateGesture += UnturnedPlayerEvents_OnPlayerUpdateGesture; ChatManager.onCheckPermissions += Chat_OnCheckPermissions; LoadCurrentPlayers(); Level.onLevelLoaded += OnLevelloaded; Logger.Log("Checking for updates..."); UpdaterCore.Init(); if (UpdaterCore.IsOutDated) { Logger.LogWarning("ShimmysAdminTools is out of date!"); Logger.Log($"Latest Version: v{UpdaterCore.LatestVersion}"); if (UpdaterCore.TryGetUpdateMessage(out string msg)) { Logger.Log($"Update Notes:"); Logger.Log(msg); } Logger.Log("Download the latest update at https://github.com/ShimmyMySherbet/ShimmysAdminTools"); } gameObject.AddComponent <RepeatCommandQueue>(); if (!Config.DelayStartEXECUtility) { ExecManager.Activate(); } Logger.Log("ShimmysAdminTools loaded."); }
private void Events_OnBeforePlayerConnected(UnturnedPlayer player) { PlayerSessionStore.TryRegisterPlayer(player); PlayerDataStore.TryRegisterPlayer(player); }
async void RemovePlayerAsync(string id) { await PlayerDataStore.DeleteAsync(id); FetchPlayers(); }
public async void FetchPlayers() { Players = (await PlayerDataStore.GetAllAsync()).ToList(); }