Описание тега entity-component-system

Для использования с архитектурным шаблоном, наиболее часто используемым в разработке игр. Основные элементы: Entity: Entity - объект общего назначения. Компонент: необработанные данные для одного аспекта объекта и того, как он взаимодействует с миром. Система: каждая система выполняет глобальные действия над каждой сущностью, имеющей компонент. Он запускается постоянно во время выполнения.
1 ответ

Компонентная система сущностей C#

В настоящее время я создаю движок 2D игры на C#. В данный момент я внедряю систему компонентов сущностей. Моя структура выглядит следующим образом: Класс сущности: содержит список IGameComponentс, вы можете добавлять, удалять и удалять любой компоне…
2 ответа

Изменить значение словаря как выходной параметр и ссылку

Я хочу создать пример Entity-Component-System. У меня есть такие компоненты, как internal struct Position : IComponent { public int X { get; set; } public int Y { get; set; } } а также internal struct Movementspeed : IComponent { public float Value …
10 дек '18 в 09:10
2 ответа

Связать системы с событиями

Используя шаблон Entity-Component-System, я хочу связать некоторые системы с событиями. Поэтому некоторые системы не должны работать в цикле, они должны работать только по требованию. Учитывая пример системы Здоровья, система Смерти должна запускать…
27 янв '19 в 14:30
1 ответ

SpriteKit Entity Component System - таймер восстановления с элементом отображения

В Entity Component System, как правильно создать таймер перезарядки, который имеет элемент отображения, который можно прикрепить, например, к кнопке? Моя первоначальная мысль состоит в том, чтобы отделить компоненты таймера и индикатора выполнения п…
12 фев '19 в 08:28
0 ответов

Система компонентов SpriteKit и обработка анимации

Я пытаюсь использовать объектно-компонентную модель в Spritekit, но я не уверен, какой рекомендуемый подход для перемещения конкретного SKNode через различные анимации. Например, рассмотрим Player GKEntity. Будет ли лучше иметь машину состояний, свя…
19 дек '18 в 14:11
0 ответов

Поддержание полиморфизма в системе компонент-сущность

Я писал систему компонент-сущность и столкнулся с тем, что должно быть общей проблемой: компонентами, которые зависят друг от друга. Я буду использовать пример: Допустим, вы создаете компонент предмета, который содержит данные, общие для предметов (…
1 ответ

Компонент сущности в Swift

Я пытаюсь создать простую игру для iOS с использованием архитектуры сущностей и компонентов, аналогичной описанной здесь. Чего я хотел бы добиться в своей игре, так это когда пользователь касается экрана, определяет, где произошло касание, и перемещ…
0 ответов

Обработка компонентов ECS

В моем игровом движке ECS создаются состояния, которые регистрируют определенное количество объектов и присваивают им их компоненты. Функции обновления систем вызываются один раз за цикл обновления. На этом этапе они запрашивают текущее игровое сост…
25 окт '18 в 14:24
1 ответ

Entity Component System путаница

Теперь, прежде чем я начну, я хочу сказать, что я знаю, что не существует стандартного способа внедрения ECS. Тем не менее, есть один метод, который меня интересует, но он запутался в одной конкретной вещи. Скажем, у вас есть сущность с TransformCom…
24 окт '15 в 08:58
1 ответ

Ошибка при установке пакета (компонент сущности) в Unity

Шаги, которым я следовал: Скачать последнюю версию unity 2018.2.0f2 После установки Unity я изменил Scripting Runtime Version 4.x Затем я попытался установить пакет сущности из диспетчера пакетов, но я получаю следующую ошибку: Произошла ошибка при …
1 ответ

Является ли хорошей практикой использование вектора байтов в качестве исходного хранилища для других типов?

Я начал следовать учебному пособию по ECS на YouTube и никогда не видел, чтобы кто-то выделял новую переменную в vector из uint8 до. template<typename Component> uint32 ECSComponentCreate(Array<uint8>& memory, EntityHandle entity, Ba…
04 авг '18 в 10:05
0 ответов

Сохранение "новых" объектов из копий с использованием шаблонных функций C++

Моя идея: я хочу иметь возможность создавать новые сущности с копиями из компонентов, передаваемых в качестве параметров, а также с использованием шаблонных функций с переменным числом элементов для неопределенного количества компонентов. Причина: я…
1 ответ

Создавать ссылки на объекты и хранить эти ссылки в кэше

Я хотел бы создать цепочку для каждой системы в моей Entity-Component-System. В настоящее время каждая система будет проходить через все объекты и проверять наличие необходимых компонентов. internal class MySystem : ISystem { public void Run() { for…
17 янв '19 в 08:30
0 ответов

Как представить изменяемый список как свойство только для чтения в MonoBehaviour

Допустим, у меня есть что-то вроде этого public class BodyPart : MonoBehaviour { private BodyPart parent; private List<BodyPart> children; } и я хочу иметь возможность поддерживать обе ссылки при добавлении / удалении детей и смене родителей. …
1 ответ

Компонентная система объектов - компоненты, требующие друг друга

Я написал систему компонентов сущности для моей игры (C++). Затем я реорганизовал мою систему рендеринга для работы с Entities / RenderComponents, а не с каким-то виртуальным интерфейсом для рисования. Это некоторые классы, для которых я не думаю, ч…
0 ответов

Добавление shared_ptr к моей карте приводит к нарушению прав чтения

Поэтому я работаю над созданием игрового движка на C++, просто для целей обучения. Я пытаюсь следовать системе компонентов сущностей, и у меня возникают проблемы при добавлении компонентов в мою сущность. В моем классе Entity я хочу хранить все комп…
15 сен '18 в 23:26
0 ответов

В Unity появилась своя собственная структура внедрения зависимостей. Какое будущее у Inject?

В архитектуре Unity Entity Component System, основанной на данных, она представила собственную структуру DI, включая даже атрибуты полей [Inject]. https://github.com/Unity-Technologies/EntityComponentSystemSamples/blob/master/Documentation/content/e…
0 ответов

Проверить, содержит ли список абстрактных элементов элемент определенного производного типа в C++?

Привет! C++ проблема! Я хочу проверить (в C++), если вектор, который содержит объекты абстрактного типа A, содержит объекты типа B, где B является классом, производным от A. Зачем? Мне нужно это потому, что я пытаюсь реализовать базовую Entity-Compo…
1 ответ

Система компонентов сущности C++ и доступ к компонентам с помощью шаблона

Я работал над созданием собственной системы компонентов сущностей, и я настроен на возможность получить компонент, выполнив следующие действия: const auto& component = entity->GetComponent<ComponentType>(); Вышеуказанная функция будет в…
1 ответ

Создать эффективный пул компонентов для системных циклов

Я устанавливаю очень маленький пример Entity-Component-System и имею некоторые проблемы с пулами компонентов. В настоящее время мои сущности - это просто идентификаторы (GUID), и это нормально. Каждая система должна реализовывать ISystem интерфейс i…
10 янв '19 в 13:40