update readme/ remove obsolete

This commit is contained in:
Mikhail 2026-03-16 21:53:00 +08:00
parent c30d4ec5f0
commit b686e4ab5f
6 changed files with 4 additions and 50 deletions

View File

@ -964,7 +964,6 @@ using (_marker.Auto())
+ `DRAGONECS_DISABLE_CATH_EXCEPTIONS` - Выключает поведение по умолчанию по обработке исключений. По умолчанию фреймворк будет ловить исключения с выводом информации из исключений через EcsDebug и продолжать работу. + `DRAGONECS_DISABLE_CATH_EXCEPTIONS` - Выключает поведение по умолчанию по обработке исключений. По умолчанию фреймворк будет ловить исключения с выводом информации из исключений через EcsDebug и продолжать работу.
+ `REFLECTION_DISABLED` - Полностью ограничивает работу фреймворка с Reflection. + `REFLECTION_DISABLED` - Полностью ограничивает работу фреймворка с Reflection.
+ `DISABLE_DEBUG` - Для среды где не поддерживается ручное отключение DEBUG, например Unity. + `DISABLE_DEBUG` - Для среды где не поддерживается ручное отключение DEBUG, например Unity.
+ `ENABLE_DUMMY_SPAN` - На случай если в среде не поддерживаются Span типы, включает его замену.
</br> </br>
@ -1124,13 +1123,6 @@ public struct WorldComponent : IEcsWorldComponent<WorldComponent>
# FAQ # FAQ
## 'ReadOnlySpan<>' could not be found
В версии Unity 2020.1.х в консоли может выпадать ошибка:
```
The type or namespace name 'ReadOnlySpan<>' could not be found (are you missing a using directive or an assembly reference?)
```
Чтобы починить добавьте директиву `ENABLE_DUMMY_SPAN` в `Project Settings/Player/Other Settings/Scripting Define Symbols`.
## Как Выключать/Включать системы? ## Как Выключать/Включать системы?
Напрямую - никак. </br> Напрямую - никак. </br>
Обычно потребность выключить/включить систему появляется когда поменялось общее состояние игры, это может так же значить что нужно переключить сразу группу систем, все это в совокупности можно рассматривать как изменения процессов. Есть 2 решения:</br> Обычно потребность выключить/включить систему появляется когда поменялось общее состояние игры, это может так же значить что нужно переключить сразу группу систем, все это в совокупности можно рассматривать как изменения процессов. Есть 2 решения:</br>

View File

@ -88,42 +88,6 @@ namespace DCFApixels.DragonECS
true; true;
#else #else
false; false;
#endif
public const bool ENABLE_DUMMY_SPAN =
#if ENABLE_DUMMY_SPAN
true;
#else
false;
#endif
[Obsolete("DRAGONECS_ENABLE_DEBUG_SERVICE")]
public const bool ENABLE_DRAGONECS_DEBUGGER =
#if ENABLE_DRAGONECS_DEBUGGER
true;
#else
false;
#endif
[Obsolete("DRAGONECS_DISABLE_POOLS_EVENTS")]
public const bool DISABLE_POOLS_EVENTS =
#if DISABLE_POOLS_EVENTS
true;
#else
false;
#endif
[Obsolete("DRAGONECS_DISABLE_CATH_EXCEPTIONS")]
public const bool DISABLE_CATH_EXCEPTIONS =
#if DISABLE_CATH_EXCEPTIONS
true;
#else
false;
#endif
[Obsolete("DRAGONECS_STABILITY_MODE")]
public const bool ENABLE_DRAGONECS_ASSERT_CHEKS =
#if ENABLE_DRAGONECS_ASSERT_CHEKS
true;
#else
false;
#endif #endif
} }
} }

View File

@ -98,7 +98,7 @@ namespace DCFApixels.DragonECS
public static TypeMeta Get(Type type) { return Get(type.TypeHandle); } public static TypeMeta Get(Type type) { return Get(type.TypeHandle); }
public static TypeMeta Get(RuntimeTypeHandle typeHandle) public static TypeMeta Get(RuntimeTypeHandle typeHandle)
{ {
lock (_lock) //TODO посмотреть можно ли тут убрать лок lock (_lock)
{ {
if (_metaCache.TryGetValue(typeHandle, out TypeMeta result) == false) if (_metaCache.TryGetValue(typeHandle, out TypeMeta result) == false)
{ {

View File

@ -122,7 +122,6 @@ namespace DCFApixels.DragonECS
} }
private void InsertAfterNode_Internal(int insertAfterIndex, IEcsProcess system, string layer, int sortOrder, bool isUnique) private void InsertAfterNode_Internal(int insertAfterIndex, IEcsProcess system, string layer, int sortOrder, bool isUnique)
{ {
//TODO нужно потестить
if (isUnique && _uniqueSystemsSet.Add(system.GetType()) == false) if (isUnique && _uniqueSystemsSet.Add(system.GetType()) == false)
{ {
//EcsDebug.PrintWarning($"The pipeline already contains a unique instance of {system.GetType().Name}"); //EcsDebug.PrintWarning($"The pipeline already contains a unique instance of {system.GetType().Name}");

View File

@ -127,7 +127,6 @@ namespace DCFApixels.DragonECS
{ {
return _cmpTypeCode_2_CmpTypeIDs.Contains((int)EcsTypeCodeManager.Get(componentType)); return _cmpTypeCode_2_CmpTypeIDs.Contains((int)EcsTypeCodeManager.Get(componentType));
} }
//TODO пересмотреть нейминг или функцию
public bool IsComponentTypeDeclared(int componentTypeID) public bool IsComponentTypeDeclared(int componentTypeID)
{ {
if (componentTypeID >= 0 && componentTypeID < _pools.Length) if (componentTypeID >= 0 && componentTypeID < _pools.Length)

View File

@ -126,7 +126,7 @@ namespace DCFApixels.DragonECS
{ {
return (T)Extract_Internal(typeof(T)); return (T)Extract_Internal(typeof(T));
} }
private object Extract_Internal(Type type)//TODO проверить private object Extract_Internal(Type type)
{ {
if (_nodes.TryGetValue(type, out InjectionNodeBase node)) if (_nodes.TryGetValue(type, out InjectionNodeBase node))
{ {
@ -192,7 +192,7 @@ namespace DCFApixels.DragonECS
FindMonoWorld(obj); FindMonoWorld(obj);
_injections.Add(new Injection<T>(obj)); _injections.Add(new Injection<T>(obj));
} }
public void Extract<T>(ref T obj) // TODO проверить public void Extract<T>(ref T obj)
{ {
Type type = typeof(T); Type type = typeof(T);
for (int i = _injections.Count - 1; i >= 0; i--) for (int i = _injections.Count - 1; i >= 0; i--)
@ -272,7 +272,7 @@ namespace DCFApixels.DragonECS
} }
public void InjectTo(Injector injector, EcsPipeline pipeline) public void InjectTo(Injector injector, EcsPipeline pipeline)
{ {
var monoWorldProcess = pipeline.GetProcess<IMonoWorldInject>(); // TODO Проверить IMonoWorldInject var monoWorldProcess = pipeline.GetProcess<IMonoWorldInject>();
foreach (var monoWorldSystem in monoWorldProcess) foreach (var monoWorldSystem in monoWorldProcess)
{ {
monoWorldSystem.World = _monoWorld; monoWorldSystem.World = _monoWorld;