IGObjectPoolInterface.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System;
  2. using Fort23.Core;
  3. #if !COMBAT_SERVER
  4. using UnityEngine;
  5. #endif
  6. using Object = System.Object;
  7. namespace Fort23.UTool
  8. {
  9. /// <summary>
  10. /// 池子的 接口,不同池继承这个接口
  11. /// </summary>
  12. public interface IGObjectPoolInterface : IDisposable
  13. {
  14. string poolObjName { get; set; }
  15. bool isUse { get; set; }
  16. bool isDestroy { get; }
  17. #if !COMBAT_SERVER
  18. AssetHandle AssetHandle { get; set; }
  19. GameObject own { get; }
  20. TimerEntity DestroyTimer { get; set; }
  21. #endif
  22. void SetPosition(Vector3 pos);
  23. void SetScale(Vector3 scale);
  24. void SetRotation(Vector3 rotation);
  25. Vector3 GetPosition();
  26. Vector3 GetScale();
  27. Vector3 GettRotation();
  28. void SetActive(bool isActive);
  29. /// <summary>
  30. /// 回收时延迟回收
  31. /// </summary>
  32. /// <returns></returns>
  33. CTask DelayHide();
  34. /// <summary>
  35. /// 重置数据
  36. /// </summary>
  37. void ResetData();
  38. /// <summary>
  39. /// 激活对象
  40. /// </summary>
  41. void ActiveObj();
  42. /// <summary>
  43. /// 休眠
  44. /// </summary>
  45. void DormancyObj();
  46. /// <summary>
  47. /// 销毁
  48. /// </summary>
  49. void DestroyObj();
  50. #if !COMBAT_SERVER
  51. void SetGameObject(GameObject gameObject);
  52. #endif
  53. void Preset();
  54. }
  55. }