using System;
using Fort23.Core;
#if !COMBAT_SERVER
using UnityEngine;
#endif
using Object = System.Object;
namespace Fort23.UTool
{
///
/// 池子的 接口,不同池继承这个接口
///
public interface IGObjectPoolInterface : IDisposable
{
string poolObjName { get; set; }
bool isUse { get; set; }
bool isDestroy { get; }
#if !COMBAT_SERVER
AssetHandle AssetHandle { get; set; }
GameObject own { get; }
TimerEntity DestroyTimer { get; set; }
#endif
void SetPosition(Vector3 pos);
void SetScale(Vector3 scale);
void SetRotation(Vector3 rotation);
Vector3 GetPosition();
Vector3 GetScale();
Vector3 GettRotation();
void SetActive(bool isActive);
///
/// 回收时延迟回收
///
///
CTask DelayHide();
///
/// 重置数据
///
void ResetData();
///
/// 激活对象
///
void ActiveObj();
///
/// 休眠
///
void DormancyObj();
///
/// 销毁
///
void DestroyObj();
#if !COMBAT_SERVER
void SetGameObject(GameObject gameObject);
#endif
void Preset();
}
}