Size: a a a

RU Rust GameDev — русскоговорящее сообщество

2020 February 26

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
Если его не ограничить дополнительно чем-то в роде T extends MyInterface
(ну хотя any все равно имплементирует все интерфейсы)
источник

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
И да, пример все-таки не совсем удачный, т.к. в generic функции в TS все равно потом можно получить runtime тип аргумента :p
источник

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
Ну не суть. Все, что dyn - в дженерик методы засунуть не удастся @SET001. Просто, как оно есть
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Вот это будет работать.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Конечно с приаттаченными компонентами всё будет веселее, и там уже только этим не обойдёшься — нужно будет юзать specs::saveload с кастомными маркерами, но для простых префабов и этот подход работать будет.
источник

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
Конечно с приаттаченными компонентами всё будет веселее, и там уже только этим не обойдёшься — нужно будет юзать specs::saveload с кастомными маркерами, но для простых префабов и этот подход работать будет.
А что это конкретно значит?) что подразумевается под приаттаченными компонентами?
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Ой я имел в виду приаттаченные энтити.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
То есть префаб с несколькими энтитями, компоненты которых ссылаются на другие энтити в префабе.
источник

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
Я так и не понимаю, почему наивные перечисления прям столько ненависти собрали. Земерот живет со всякими

#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, derive_more::From)]
pub enum Component {
   Pos(Pos),
   Strength(Strength),
   Armor(Armor),
   Meta(Meta),
   BelongsTo(BelongsTo),
   Agent(Agent),
   Blocker(Blocker),
   Abilities(Abilities),
   PassiveAbilities(PassiveAbilities),
   Effects(Effects),
   Schedule(Schedule),
   Summoner(Summoner),
}

fn add_component(parts: &mut Parts, id: Id, component: Component) {
   match component {
       Component::Pos(c) => parts.pos.insert(id, c),
       Component::Strength(c) => parts.strength.insert(id, c),
       Component::Armor(c) => parts.armor.insert(id, c),
       Component::Meta(c) => parts.meta.insert(id, c),
       Component::BelongsTo(c) => parts.belongs_to.insert(id, c),
       Component::Agent(c) => parts.agent.insert(id, c),
       Component::Blocker(c) => parts.blocker.insert(id, c),
       Component::Abilities(c) => parts.abilities.insert(id, c),
       Component::PassiveAbilities(c) => parts.passive_abilities.insert(id, c),
       Component::Effects(c) => parts.effects.insert(id, c),
       Component::Schedule(c) => parts.schedule.insert(id, c),
       Component::Summoner(c) => parts.summoner.insert(id, c),
   }
}


и не так уж и прям море боли оно пока вызывает лично у меня - не так и часто я новые типы компонентов добавляю, что бы мне сильно неприятно было в паре мест правки вносить.
источник

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
Вообще я так и не понял, зачем человеку массив компонентов
источник

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
Когда можно насоздавать функций, которые просто сбилдят готовые сущности
источник

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
Или вернут билдер с ними
источник

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
Префабы не нужны!
источник

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
Чего-то мы все перемудрили, когда решение задачи - вот оно, крайне примитивно
источник

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
Так а задачи самой озвученно не было же
источник

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
Vladyslav Batyrenko
Когда можно насоздавать функций, которые просто сбилдят готовые сущности
Нуу, из файлов грузить это не особо поможет, например.
источник

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
Человек хотел дефайнить префабы в коде
источник

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
@SET001 подтверди, правильно ли мы тебя поняли или нет
источник

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
Да? Ну тогда + к просто функциям билдерам. Для мелких прототипов игр, например, это вполне рабочий подход.
источник