Пример #1
0
        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;
        }
Пример #2
0
        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));
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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();
        }
Пример #5
0
 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");
 }