This commit is contained in:
CortexCore
2024-03-31 23:31:00 +08:00
parent e179d2eb53
commit b7b89ee71a
641 changed files with 31286 additions and 22134 deletions

View File

@@ -0,0 +1,21 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
namespace BITKit.Entities
{
public interface IEntityBinaryComponent
{
int Id { get; }
void Serialize(BinaryWriter writer);
void Deserialize(BinaryReader reader);
}
public interface IEntityBinaryHeader
{
int Id { get; }
IDictionary<int,IEntityBinaryComponent> ComponentDictionary { get; }
void Serialize(BinaryWriter writer);
void Deserialize(BinaryReader reader);
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 41391256f70b92848918e355d5d43b78
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -11,6 +11,10 @@ namespace BITKit.Entities
/// </summary>
public interface IEntity
{
/// <summary>
/// 等待初始化完成,通常用于其他系统需要等待实体初始化完成
/// </summary>
void WaitForInitializationComplete();
ulong Id { get; }
CancellationToken CancellationToken { get; }
bool TryGetComponent<T>(out T component);
@@ -78,6 +82,17 @@ namespace BITKit.Entities
/// <param name="id"></param>
/// <returns></returns>
IEntity Get(ulong id);
/// <summary>
/// 尝试通过Id获取Entity
/// </summary>
/// <param name="id"></param>
/// <param name="entity"></param>
/// <returns></returns>
bool TryGetEntity(ulong id, out IEntity entity);
/// <summary>
/// 通过Id获取或添加Entity
/// </summary>
IEntity GetOrAdd(ulong id,Func<ulong,IEntity> factory);
/// <summary>
/// 查询Entity,例如