Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет nancygold ([info]nancygold)
@ 2024-05-24 15:53:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Музыка:VNV Nation - When is the Future?

Entity Relations
Apparently the right way to implement relations is the by creating a relation table dynamically and adding there all ids satisfying the relation:

https://ajmmertens.medium.com/building-games-in-ecs-with-entity-relationships-657275ba2c6c

Basically we do

  ComponentTables["[Relation] [What]"].[EntityId] != NULL


For example
  ComponentTables["is mortal"].[Socrates] != NULL


In SQL people usually introduce secondary keys for that.

But yeah, that requires very efficient and adaptive hash table implementation, since we can have millions of relations, having just a few elements each. I.e. doing unordered_map<int,int> won't cut it.


(Читать комментарии)

Добавить комментарий:

Как:
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Имя пользователя:
Пароль:
Тема:
HTML нельзя использовать в теме сообщения
Сообщение:



Обратите внимание! Этот пользователь включил опцию сохранения IP-адресов пишущих комментарии к его дневнику.