Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.95 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using log4net;
  7. using Plus.HabboHotel.GameClients;
  8.  
  9. namespace Plus.HabboRoleplay.Users
  10. {
  11. public class RoleplayUsersStatus
  12. {
  13. private static readonly ILog log = LogManager.GetLogger("Plus.HabboRoleplay.Users");
  14. public static Dictionary<int, int> CachePlayer;
  15. public static void InitStatics()
  16. {
  17. RoleplayUsersStatus.CachePlayer = new Dictionary<int, int>();
  18. // log.Info("stats.");
  19. }
  20. public static bool CheckLastUIBar(int UserId, int TUserId)
  21. {
  22. int cache;
  23. if (!CachePlayer.TryGetValue(UserId, out cache))
  24. {
  25. if (cache != TUserId)
  26. return false;
  27. else
  28. return true;
  29. }
  30. else
  31. return false;
  32. }
  33.  
  34. public static void AddTargetUser(int UserId, int TargetUserId)
  35. {
  36. if (CachePlayer.ContainsKey(UserId))
  37. CachePlayer.Remove(UserId);
  38.  
  39. if (!CachePlayer.ContainsKey(UserId))
  40. CachePlayer.Add(UserId, TargetUserId);
  41. }
  42. public static void RemoveTargetUser(int UserId)
  43. {
  44. if (CachePlayer.ContainsKey(UserId))
  45. CachePlayer.Remove(UserId);
  46. }
  47. public static void DisposeCurrentUser(int UserId)
  48. {
  49. var GetCacheStats = RoleplayUsersStatus.CachePlayer.Where(p => p.Value == UserId).Select(p => p.Key);
  50. foreach (int Val in GetCacheStats)
  51. {
  52. if (CachePlayer.ContainsKey(Val))
  53. CachePlayer.Remove(Val);
  54. }
  55. if (CachePlayer.ContainsKey(UserId))
  56. CachePlayer.Remove(UserId);
  57. }
  58. public static void DisposeTargetUser(int TargetUserId)
  59. {
  60. var GetCacheStats = RoleplayUsersStatus.CachePlayer.Where(p => p.Value == TargetUserId).Select(p => p.Key);
  61. foreach (int Val in GetCacheStats)
  62. {
  63. if (CachePlayer.ContainsKey(Val))
  64. CachePlayer.Remove(Val);
  65. }
  66. }
  67. public static void RefreshAllTargetStatus(int UserId)
  68. {
  69. var GetCacheStats = RoleplayUsersStatus.CachePlayer.Where(p => p.Value == UserId).Select(p => p.Key);
  70. foreach (int CacheUser in GetCacheStats)
  71. {
  72. GameClient CurClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(CacheUser);
  73. if (CurClient == null)
  74. continue;
  75. if (CurClient.GetHabbo() == null || CurClient.GetRoleplay() == null)
  76. continue;
  77.  
  78. PlusEnvironment.GetGame().GetWebEventManager().ExecuteWebEvent(CurClient, "event_characterbar", "" + UserId);
  79. }
  80. }
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement