Beispiel #1
0
        private static IEnumerator UpdateUsername(NetworkUser userToUpdate, NetworkUserId realId)
        {
            yield return(new WaitForSeconds(1));

            userToUpdate.Network_id = realId;
            userToUpdate.SetDirtyBit(1u);
        }
 public void ResetRespawnTimer(NetworkUserId userId)
 {
     if (usersRespawnTimers.TryGetValue(userId, out var userTimer))
     {
         userTimer.Reset();
     }
 }
 public void StartRespawnTimer(NetworkUserId userId, uint respawnTime)
 {
     if (usersRespawnTimers.TryGetValue(userId, out var userTimer))
     {
         userTimer.StartTimer(respawnTime);
     }
 }
        private void UsersRespawnTimers_OnRespawnInFiveSeconds(NetworkUserId userId)
        {
            var user = UsersHelper.GetUser(userId);

            if (user)
            {
                ChatHelper.UserWillRespawnAfter(user.userName, 5);
            }
        }
        private void UsersRespawnTimers_OnTimerEnd(NetworkUserId userId)
        {
            var user = UsersHelper.GetUser(userId);

            if (user)
            {
                OnUserTimerRespawnTimerEnd?.Invoke(user);
            }
        }
Beispiel #6
0
        private static void SyncNetworkUserVarTest(NetworkUser currentNetworkUser)
        {
            var tmp = currentNetworkUser.Network_id;
            var nid = NetworkUserId.FromIp("000.000.000.1", 255);

            currentNetworkUser.Network_id = nid;
            currentNetworkUser.SetDirtyBit(1u);
            PluginEntry.Instance.StartCoroutine(UpdateUsernameDelayed(currentNetworkUser, tmp));
        }
 public void RemoveUserRespawnTimer(NetworkUserId userId)
 {
     if (usersRespawnTimers.TryGetValue(userId, out var userTimer))
     {
         userTimer.OnTimerEndInFiveSeconds -= UsersRespawnTimers_OnRespawnInFiveSeconds;
         userTimer.OnTimerEnd -= UsersRespawnTimers_OnTimerEnd;
         DestroyImmediate(usersRespawnTimers[userId]);
         usersRespawnTimers.Remove(userId);
     }
 }
 public void AddUserRespawnTimer(NetworkUserId userId)
 {
     if (!usersRespawnTimers.ContainsKey(userId))
     {
         usersRespawnTimers[userId]        = gameObject.AddComponent <UserTimer>();
         usersRespawnTimers[userId].UserId = userId;
         usersRespawnTimers[userId].OnTimerEndInFiveSeconds += UsersRespawnTimers_OnRespawnInFiveSeconds;
         usersRespawnTimers[userId].OnTimerEnd += UsersRespawnTimers_OnTimerEnd;
     }
 }
Beispiel #9
0
        private static void SyncNetworkUserVarTest(NetworkUser currentNetworkUser, bool shouldPrefixId)
        {
            if (shouldPrefixId)
            {
                var networkIndex = Util.Networking.GetPlayerIndexFromNetworkUser(currentNetworkUser);
                currentNetworkUser.userName = $"[{networkIndex}] {currentNetworkUser.userName}";
            }
            var tmp = currentNetworkUser.Network_id;
            var nid = NetworkUserId.FromIp("000.000.000.1", 255);

            currentNetworkUser.Network_id = nid;
            currentNetworkUser.SetDirtyBit(1u);
            //UpdateUsername(currentNetworkUser, tmp);
            PluginEntry.Instance.StartCoroutine(UpdateUsername(currentNetworkUser, tmp));
        }
Beispiel #10
0
		// Token: 0x06002796 RID: 10134 RVA: 0x000B8801 File Offset: 0x000B6A01
		public static void _WriteNetworkUserId_None(NetworkWriter writer, NetworkUserId value)
		{
			writer.WritePackedUInt64(value.value);
			writer.WritePackedUInt32((uint)value.subId);
		}
Beispiel #11
0
 public PlayerData(NetworkUserId userId, string userName)
 {
     UserId   = userId;
     UserName = userName;
 }
 public static NetworkUser GetUser(NetworkUserId userId)
 {
     return(NetworkUser.readOnlyInstancesList.FirstOrDefault(u => u.id.Equals(userId)));
 }