Показать сообщение отдельно
Старый 08.06.2018, 12:08
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 42  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Цитата:
Сообщение от Appleman Посмотреть сообщение
что кстати поднимает отдельный вопрос трудозатрат на перенос схемы под новые проекты, но сейчас не об этом.
Переносится механика: предметы дамажут, надеваются, используются. Если требуется новое поведение, то тогда да, добавляются таблицы, описывающие его, а код игры/движка обновляется.

Цитата:
Сообщение от Appleman Посмотреть сообщение
Значит, в рамках программы должна быть какая-то СУБД
Да, субд есть, очень простая: получение записи по id, кеширование данных при загрузке игры, этого хватает. Что и откуда тянуть - знает обрабатывающий код/функция, выполняющая какое-то действие. Если это надевание предмета, она запросит данные этого предмета по его id, запросит данные экипируемого слота. Проверит что-то и либо выполнит действие, либо отвалится с сообщением об ошибке. (Такого предмета не существует, был передан не экипируемый предмет, слот уже экипирован, или такого слота не существует) То-есть, в саму субд я не закладываю такого функционала, что-бы она сама подтягивала дополнительные данные из других таблиц. У меня таблица - это просто список записей, которые можно запросить по id или пройтись по всему списку целиком.

Цитата:
Сообщение от Appleman Посмотреть сообщение
Каким образом ты "говоришь", что эффект - это не просто запись, а именно ссылка на другую таблицу данных?
Мы изначально так проектируем нашу бд. У нас есть Item, у него есть поле effect. Это поле содержит id записи из таблицы Effects. На какую-то другую таблицу оно ссылаться не может. Вообще это вопрос о том, как проектировать базу данных, как выделять сущности. Можно почитать что-то на эту тему.
__________________
Дети не должны знать о своих родителях