Как возвратить объекту слой при уничтожении платформы?
У меня есть главный герой, который прыгает по платформам. Иногда появляется платформа в виде облака, на которую главный герой запрыгивает. После того как герой запрыгнул, у него меняется слой, чтобы не цеплять другие платформы. Облако на котором стоит персонаж через определенное время уничтожается. Но когда облако уничтожается, мне надо вернуть слой на котором был герой. Как это реализовать? ОnCollisionExit2D работает, когда герой спрыгивает с облака, когда уничтожается облако - нет. В скрипте героя при попадании героя на платформу анимация останавливается и меняется слой. В скрипте облака при попадании героя на платформу, вызывается анимация мигания и функция уничтожения через время. Облако является префабом и спаунится через определенное время.
freeExec, наверное не так поняли. Уничтожение облака вызывается в скрипте облака Destroy(gameObject). Когда герой прыгает на облако вызываются OnCollisionEnter2D, где герой меняет слой, чтобы не задевать другие платформы и OnCollisionExit2D когда герой спрыгивает с облака, где меняет слой чтоб прикасаться к другим платформам. Но также при запрыгивании на облаке в скрипте облака через время вызывается Destroy. Но когда облако уничтожается на героя не действует OnCollisionExit2D и слой не меняется на нужный. Я уже решил свою проблему тем что в скрипте героя создал метод ReturnLayer(), где меняется слой и в скрипте облака после Destroy вызвал метод со скрипта героя GameObject.Find("Player").GetComponent(). ReturnLayer (); и всё прекрасно работает так как и хотел))) Извините за беспокойство)))