示例#1
0
 public static void UnBanPlayer(ulong steamId)
 {
     CoopKick.KickedPlayer kickedPlayer = CoopKick.Instance.kickedSteamIds.FirstOrDefault((CoopKick.KickedPlayer k) => k.SteamId == steamId);
     if (kickedPlayer != null)
     {
         CoopKick.Instance.kickedSteamIds.Remove(kickedPlayer);
         CoopKick.SaveList();
     }
 }
示例#2
0
 public static bool UnBanPlayer(string name)
 {
     CoopKick.KickedPlayer kickedPlayer = CoopKick.Instance.kickedSteamIds.FirstOrDefault((CoopKick.KickedPlayer k) => k.Name == name);
     if (kickedPlayer != null)
     {
         CoopKick.Instance.kickedSteamIds.Remove(kickedPlayer);
         CoopKick.SaveList();
         return(true);
     }
     return(false);
 }
示例#3
0
        private void AddBannedPlayerRow(CoopKick.KickedPlayer kicked)
        {
            BannedPlayerListRow bannedPlayerListRow = UnityEngine.Object.Instantiate <BannedPlayerListRow>(this._rowPrefab);

            bannedPlayerListRow.transform.parent        = this._grid.transform;
            bannedPlayerListRow.transform.localPosition = Vector3.zero;
            bannedPlayerListRow.transform.localScale    = Vector3.one;
            bannedPlayerListRow._nameLabel.text         = kicked.Name;
            bannedPlayerListRow._durationLabel.text     = ((kicked.BanEndTime != 0L) ? this.GetRemainingTime(kicked.BanEndTime) : "permanent");
            if (BoltNetwork.isServer)
            {
                EventDelegate eventDelegate = new EventDelegate(this, "UnBan");
                eventDelegate.parameters[0] = new EventDelegate.Parameter(kicked.SteamId);
                bannedPlayerListRow._unbanButton.onClick.Add(eventDelegate);
            }
        }
示例#4
0
        /// <summary>
        /// Bans the player for the specified reason and duration
        /// </summary>
        /// <param name="reason"></param>
        /// <param name="duration"></param>
        public void Ban(string reason, TimeSpan duration = default)
        {
            if (!IsBanned)
            {
                CoopKick.KickedPlayer kickedPlayer = new CoopKick.KickedPlayer
                {
                    Name       = Name,
                    SteamId    = steamId,
                    BanEndTime = duration.TotalMinutes <= 0 ? 0 : DateTime.UtcNow.ToUnixTimestamp() + (long)duration.TotalMinutes
                };
                CoopKick.Instance.kickedSteamIds.Add(kickedPlayer);
                CoopKick.SaveList();

                if (IsConnected)
                {
                    Kick(reason);
                }
            }
        }