mirror of
https://github.com/DCFApixels/DragonECS.git
synced 2025-09-18 01:44:35 +08:00
Merge branch 'main' into dev
This commit is contained in:
commit
576deef36d
6
.gitignore
vendored
6
.gitignore
vendored
@ -26,6 +26,9 @@
|
|||||||
# Visual Studio cache directory
|
# Visual Studio cache directory
|
||||||
.vs/
|
.vs/
|
||||||
|
|
||||||
|
# Rider settings directory
|
||||||
|
.idea/
|
||||||
|
|
||||||
# Gradle cache directory
|
# Gradle cache directory
|
||||||
.gradle/
|
.gradle/
|
||||||
|
|
||||||
@ -70,3 +73,6 @@ crashlytics-build.properties
|
|||||||
# Temporary auto-generated Android Assets
|
# Temporary auto-generated Android Assets
|
||||||
/[Aa]ssets/[Ss]treamingAssets/aa.meta
|
/[Aa]ssets/[Ss]treamingAssets/aa.meta
|
||||||
/[Aa]ssets/[Ss]treamingAssets/aa/*
|
/[Aa]ssets/[Ss]treamingAssets/aa/*
|
||||||
|
|
||||||
|
# Don't ignore main csproj file
|
||||||
|
!DragonECS.csproj
|
||||||
|
28
DragonECS.csproj
Normal file
28
DragonECS.csproj
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>netstandard2.1</TargetFramework>
|
||||||
|
<LangVersion>7.3</LangVersion>
|
||||||
|
<ImplicitUsings>disable</ImplicitUsings>
|
||||||
|
<Nullable>disable</Nullable>
|
||||||
|
<InvariantGlobalization>true</InvariantGlobalization>
|
||||||
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<RootNamespace>DCFApixels.DragonECS</RootNamespace>
|
||||||
|
|
||||||
|
<Title>DragonECS</Title>
|
||||||
|
<Version>0.8.36</Version>
|
||||||
|
<Authors>DCFApixels</Authors>
|
||||||
|
<Description>ECS Framework for Game Engines with C# and .Net Platform</Description>
|
||||||
|
<Copyright>DCFApixels</Copyright>
|
||||||
|
<RepositoryUrl>https://github.com/DCFApixels/DragonECS</RepositoryUrl>
|
||||||
|
<PackageLicenseUrl>https://github.com/DCFApixels/DragonECS/blob/main/LICENSE.meta</PackageLicenseUrl>
|
||||||
|
<PackageTags>ecs; gamedev; unity; dragonecs</PackageTags>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<None Remove="**/*.meta" />
|
||||||
|
<None Remove="package.json" />
|
||||||
|
<None Remove="DragonECS.asmdef" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
7
DragonECS.csproj.meta
Normal file
7
DragonECS.csproj.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 804a6bf72b77a844495db239765f33ca
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -102,13 +102,15 @@ int newEntityID = _world.CloneEntity(entityID);
|
|||||||
// Конвертация int в entlong.
|
// Конвертация int в entlong.
|
||||||
entlong entity = _world.GetEntityLong(entityID);
|
entlong entity = _world.GetEntityLong(entityID);
|
||||||
// или
|
// или
|
||||||
entlong entity = entityID.ToEntityLong(_world);
|
entlong entity = (_world, entityID);
|
||||||
|
|
||||||
// Проверка что сущность еще жива.
|
// Проверка что сущность еще жива.
|
||||||
if (entity.IsAlive) { }
|
if (entity.IsAlive) { }
|
||||||
|
|
||||||
// Конвертация entlong в int. Если сущность уже не существует, будет брошено исключение.
|
// Конвертация entlong в int. Если сущность уже не существует, будет брошено исключение.
|
||||||
int entityID = entity.ID;
|
int entityID = entity.ID;
|
||||||
|
// или
|
||||||
|
var (entityID, world) = entity;
|
||||||
|
|
||||||
// Конвертация entlong в int. Вернет true и ее int идентификатор, если сущность еще жива.
|
// Конвертация entlong в int. Вернет true и ее int идентификатор, если сущность еще жива.
|
||||||
if (entity.TryGetID(out int entityID)) { }
|
if (entity.TryGetID(out int entityID)) { }
|
||||||
@ -155,7 +157,7 @@ class SomeSystem : IEcsPreInit, IEcsInit, IEcsRun, IEcsDestroy
|
|||||||
|
|
||||||
# Концепции фреймворка
|
# Концепции фреймворка
|
||||||
## Пайплайн
|
## Пайплайн
|
||||||
Является контейнером и движком систем, определяя поочередность их вызова, предоставляющий механизм для сообщений между системами и механизм внедрения зависимостей. Реализован в виде класса `EcsPipeline`.
|
Контейнер и движок систем. Отвечает за настройку поочередности вызова систем, предоставляет механизм для сообщений между системами и механизм внедрения зависимостей. Реализован в виде класса `EcsPipeline`.
|
||||||
### Построение
|
### Построение
|
||||||
За построение пайплайна отвечает Builder. В Builder добавляются системы, а в конце строится пайплайн. Пример:
|
За построение пайплайна отвечает Builder. В Builder добавляются системы, а в конце строится пайплайн. Пример:
|
||||||
```c#
|
```c#
|
||||||
|
Loading…
Reference in New Issue
Block a user