как правильно назвать этот интерфейс, если он может быть у: пилы которая убивает игрока, у блока на который можно встать и будет действие, у зоны в которую вошёл и будет событие. Правильно ли понимаю что лучше всего подходит слово 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();
                  
                  
                      }
                  
                  
                  Спасибо за любое мнение!
                  
                  
                
Это случайно не unity?
Обсуждают сегодня