diff --git a/.gitignore b/.gitignore index 58cbc82..22cd0b5 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,9 @@ # Visual Studio cache directory .vs/ +# Rider settings directory +.idea/ + # Gradle cache directory .gradle/ @@ -70,3 +73,6 @@ crashlytics-build.properties # Temporary auto-generated Android Assets /[Aa]ssets/[Ss]treamingAssets/aa.meta /[Aa]ssets/[Ss]treamingAssets/aa/* + +# Don't ignore main csproj file +!DragonECS.csproj diff --git a/DragonECS.csproj b/DragonECS.csproj new file mode 100644 index 0000000..a6f8f16 --- /dev/null +++ b/DragonECS.csproj @@ -0,0 +1,28 @@ + + + + netstandard2.1 + 7.3 + disable + disable + true + true + DCFApixels.DragonECS + + DragonECS + 0.8.36 + DCFApixels + ECS Framework for Game Engines with C# and .Net Platform + DCFApixels + https://github.com/DCFApixels/DragonECS + https://github.com/DCFApixels/DragonECS/blob/main/LICENSE.meta + ecs; gamedev; unity; dragonecs + + + + + + + + + diff --git a/DragonECS.csproj.meta b/DragonECS.csproj.meta new file mode 100644 index 0000000..edc8cf6 --- /dev/null +++ b/DragonECS.csproj.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 804a6bf72b77a844495db239765f33ca +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/README-RU.md b/README-RU.md index 4e6ba1b..06471a8 100644 --- a/README-RU.md +++ b/README-RU.md @@ -102,14 +102,16 @@ int newEntityID = _world.CloneEntity(entityID); // Конвертация int в entlong. entlong entity = _world.GetEntityLong(entityID); // или -entlong entity = entityID.ToEntityLong(_world); +entlong entity = (_world, entityID); // Проверка что сущность еще жива. if (entity.IsAlive) { } // Конвертация entlong в int. Если сущность уже не существует, будет брошено исключение. int entityID = entity.ID; - +// или +var (entityID, world) = entity; + // Конвертация entlong в int. Вернет true и ее int идентификатор, если сущность еще жива. if (entity.TryGetID(out int entityID)) { } ``` @@ -155,7 +157,7 @@ class SomeSystem : IEcsPreInit, IEcsInit, IEcsRun, IEcsDestroy # Концепции фреймворка ## Пайплайн -Является контейнером и движком систем, определяя поочередность их вызова, предоставляющий механизм для сообщений между системами и механизм внедрения зависимостей. Реализован в виде класса `EcsPipeline`. +Контейнер и движок систем. Отвечает за настройку поочередности вызова систем, предоставляет механизм для сообщений между системами и механизм внедрения зависимостей. Реализован в виде класса `EcsPipeline`. ### Построение За построение пайплайна отвечает Builder. В Builder добавляются системы, а в конце строится пайплайн. Пример: ```c#