public override void Bind(Entity entity, Main main, bool creating = false) { base.Bind(entity, main, creating); PlayerData playerData = entity.GetOrCreate <PlayerData>("Data"); entity.GetOrCreate <Data>("OpaqueData"); Phone phone = entity.GetOrCreate <Phone>("Phone"); playerData.Add(new SetBinding <int>(playerData.CollapseLevel, delegate(int value) { phone.Set("collapse level", value.ToString()); })); playerData.Add(new SetBinding <int>(playerData.VictimsHandled, delegate(int value) { phone.Set("victims handled", value.ToString()); })); if (PlayerDataFactory.instance != null) { PlayerDataFactory.instance.Delete.Execute(); } PlayerDataFactory.instance = entity; entity.Add(new CommandBinding(entity.Delete, delegate() { PlayerDataFactory.instance = null; })); entity.CannotSuspend = true; }
internal static void OnVerified(VerifiedEventArgs ev) { Player dPlayer = ev.Player.GetPlayer() ?? new Collections.Player( ev.Player.RawUserId, ev.Player.AuthenticationType.ToString().ToLower(), ev.Player.Nickname ); PlayerData.Add(ev.Player, dPlayer); if (dPlayer.Name != ev.Player.Nickname) { dPlayer.Name = ev.Player.Nickname; dPlayer.Save(); } if (!dPlayer.IsMuted() && MuteHandler.QueryPersistentMute($"{dPlayer.Id}@{dPlayer.Authentication}")) { MuteHandler.RevokePersistentMute($"{dPlayer.Id}@{dPlayer.Authentication}"); } if (!WatchListCollection.Exists(p => p.Target == ev.Player.GetPlayer())) { return; } foreach (Exiled.API.Features.Player staffer in Exiled.API.Features.Player.List.Where(ply => ply.RemoteAdminAccess)) { staffer.Broadcast(Plugin.Singleton.Config.Translation.WatchlistStaffersBroadcastJoin.Duration, Plugin.Singleton.Config.Translation.WatchlistStaffersBroadcastJoin.Content.Replace("{player}", $"{ev.Player.Nickname} ({ev.Player.UserId})").Replace("{reason}", WatchListCollection.Find(ply => ply.Target == ev.Player.GetPlayer()).Last().Reason), global::Broadcast.BroadcastFlags.Normal, true); } if (dPlayer.IsBanned()) { ev.Player?.Disconnect(Plugin.Singleton.Config.Translation.BanTranslation.PlayerBanMessage.Replace("{reason}", BanCollection.Find(b => b.Target == dPlayer).Last().Reason)); } }
public void CopyScore() { GameData S; ClearPlayerData(); ClearScoresData(); foreach (var P in Players) { S = new GameData(); S = P.GameInfo; PlayerData.Add(S); Scores.Add(P.UserInfo.GetUID, S.ScoreData); } }
public void SavePlayerData(string playerStat, int starsCollected) { if (!PlayerData.ContainsKey(playerStat)) { PlayerData.Add(playerStat, starsCollected); } else { PlayerData[playerStat] = starsCollected; } var jsonPlayerData = JsonUtility.ToJson(PlayerData); PlayerPrefs.SetString("Player Data", jsonPlayerData); PlayerPrefs.Save(); }
void Start() { if (isServer) { //init player save Players.Add(new PlayerStats(Vars.Player1, false, 0, Vars.Instance.StartingBudget, defaultConnId, 0, 0)); Players.Add(new PlayerStats(Vars.Player2, false, 0, Vars.Instance.StartingBudget, defaultConnId, 0, 0)); Players.Add(new PlayerStats(Vars.Player3, false, 0, Vars.Instance.StartingBudget, defaultConnId, 0, 0)); //init project data save PlayerProjects.Add(new ProjectStats(Vars.Player1, 0, 0, 0, 0, 0, 0)); PlayerProjects.Add(new ProjectStats(Vars.Player2, 0, 0, 0, 0, 0, 0)); PlayerProjects.Add(new ProjectStats(Vars.Player3, 0, 0, 0, 0, 0, 0)); //init mini game data save PlayerMiniGames.Add(new MiniGameStats(Vars.Player1, 0, 0, 0, 0, 0)); PlayerMiniGames.Add(new MiniGameStats(Vars.Player2, 0, 0, 0, 0, 0)); PlayerMiniGames.Add(new MiniGameStats(Vars.Player3, 0, 0, 0, 0, 0)); //init event logging GlobalSave = new EventSave(); } //create new json file UiM = UIManager.Instance; _savePath = Path.Combine(Application.persistentDataPath, "jsonTest.json"); File.WriteAllText(_savePath, "New Game"); }