您不能選擇超過 %s 個話題 話題必須以字母或數字為開頭,可包含連接號 ('-') 且最長為 35 個字
 
 
 

48 行
1.5 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. namespace SUISS.Cloud
  4. {
  5. public class SSPStorageController : ISSPStorageController
  6. {
  7. public SSPStorageController(IMessageController messageController, IPlayernameController playernameController, Dictionary<string, object> storage)
  8. {
  9. this._messageController = messageController;
  10. this._playernameController = playernameController;
  11. this._storage = storage;
  12. }
  13. private Dictionary<string, object> PlayerStorage
  14. {
  15. get
  16. {
  17. if (!this._storage.ContainsKey(this._playernameController.PlayerUuid) || !(this._storage[this._playernameController.PlayerUuid] is Dictionary<string, object>))
  18. {
  19. this._storage.Add(this._playernameController.PlayerUuid, new Dictionary<string, object>());
  20. }
  21. return (Dictionary<string, object>)this._storage[this._playernameController.PlayerUuid];
  22. }
  23. }
  24. public SSPStorage Get(string key)
  25. {
  26. return new SSPStorage(key, this.GetStorageDict(key), this._messageController, this._playernameController);
  27. }
  28. private Dictionary<string, object> GetStorageDict(string key)
  29. {
  30. if (!this.PlayerStorage.ContainsKey(key) || !(this.PlayerStorage[key] is Dictionary<string, object>))
  31. {
  32. this.PlayerStorage.Add(key, new Dictionary<string, object>());
  33. }
  34. return (Dictionary<string, object>)this.PlayerStorage[key];
  35. }
  36. private IMessageController _messageController;
  37. private IPlayernameController _playernameController;
  38. private Dictionary<string, object> _storage;
  39. }
  40. }