170 похожих чатов

Всем привет. Хочу добавить в игру триггеры, интерфейс типа ITrigger. Вопрос первый:

как правильно назвать этот интерфейс, если он может быть у: пилы которая убивает игрока, у блока на который можно встать и будет действие, у зоны в которую вошёл и будет событие. Правильно ли понимаю что лучше всего подходит слово Trigger?

Вопрос второй, реализация. Как лучше реализовать универсально.

Сейчас например так:
public interface ITrigger
{
void OnTrigger();
}
Но это если без передачи параметра. А удобно было бы передавать того кто вызвал этот триггер.

Например так:
public interface ITrigger<T>
{
void OnTrigger(T arg1);
}

Вопрос в том на сколько правильно делать так, и на сколько оптимизировано ?
collider.GetComponent<ITrigger<Player>>().OnTrigger(this);

Пугает этот участок ITrigger<Player>, не идет ли кастование, распаковка?

То есть или я обращаюсь так GetComponent<ITrigger<Player>>(), или создаю наследие IPlayerTrigger : ITrigger<Player> и уже GetComponent<IPlayerTrigger>()

Вопрос третий: По мимо триггера обычного с одним методом, нужен триггер зоны / области, где будет вызов при входе и при выходе. Сейчас сделал так, но может можно лучше? По солид и ооп.
public interface ITriggerArea
{
void OnTriggerAreaEnter();
void OnTriggerAreaExit();
}
Спасибо за любое мнение!

1 ответов

6 просмотров

Это случайно не unity?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта