using System.Collections.Generic;
namespace TEngine
{
///
/// 实体组接口。
///
public interface IEntityGroup
{
///
/// 获取实体组名称。
///
string Name
{
get;
}
///
/// 获取实体组中实体数量。
///
int EntityCount
{
get;
}
///
/// 获取或设置实体组实例对象池自动释放可释放对象的间隔秒数。
///
float InstanceAutoReleaseInterval
{
get;
set;
}
///
/// 获取或设置实体组实例对象池的容量。
///
int InstanceCapacity
{
get;
set;
}
///
/// 获取或设置实体组实例对象池对象过期秒数。
///
float InstanceExpireTime
{
get;
set;
}
///
/// 获取或设置实体组实例对象池的优先级。
///
int InstancePriority
{
get;
set;
}
///
/// 获取实体组辅助器。
///
IEntityGroupHelper Helper
{
get;
}
///
/// 实体组中是否存在实体。
///
/// 实体序列编号。
/// 实体组中是否存在实体。
bool HasEntity(int entityId);
///
/// 实体组中是否存在实体。
///
/// 实体资源名称。
/// 实体组中是否存在实体。
bool HasEntity(string entityAssetName);
///
/// 从实体组中获取实体。
///
/// 实体序列编号。
/// 要获取的实体。
IEntity GetEntity(int entityId);
///
/// 从实体组中获取实体。
///
/// 实体资源名称。
/// 要获取的实体。
IEntity GetEntity(string entityAssetName);
///
/// 从实体组中获取实体。
///
/// 实体资源名称。
/// 要获取的实体。
IEntity[] GetEntities(string entityAssetName);
///
/// 从实体组中获取实体。
///
/// 实体资源名称。
/// 要获取的实体。
void GetEntities(string entityAssetName, List results);
///
/// 从实体组中获取所有实体。
///
/// 实体组中的所有实体。
IEntity[] GetAllEntities();
///
/// 从实体组中获取所有实体。
///
/// 实体组中的所有实体。
void GetAllEntities(List results);
///
/// 设置实体实例是否被加锁。
///
/// 实体实例。
/// 实体实例是否被加锁。
void SetEntityInstanceLocked(object entityInstance, bool locked);
///
/// 设置实体实例的优先级。
///
/// 实体实例。
/// 实体实例优先级。
void SetEntityInstancePriority(object entityInstance, int priority);
}
}