Показать сообщение отдельно
Старый 26.03.2015, 06:46   #112
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Передача переменной в метод

Можно сделать через getComponent, ведь ты по сути получаешь этим способом экземпляр класса и можешь вызывать любой метод.
Делаешь public метод ShakeStart с нужными параметрами, как минимум с параметром shakeOver
public void ShakeStart(float shakeOver) {
    
this.shakeOver shakeOver;
    
shakeTime 0f;
    
OriginalPos CameraTransform.position;
    
isShake true;

далее из других скриптов получаешь экземпляр и вызываешь метод
CameraShake shaker camera.GetComponent<CameraShake>();
shaker.ShakeStart(2.5f); 
Если время тряски фиксировано для разных случаев, то можно сделать константы (static readonly) в классе CameraShake и использовать их, например
shaker.ShakeStart(CameraShake.DELAY_FOR_EXPLOSION); 
тогда не придётся по коду искать интервалы тряски, можно будет изменять в одном месте.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilOkta (26.03.2015)