Недавно, при разработке игры на Unity, у меня возникла проблема. У меня был объект с компонентом Sword и стояла задача предоставить игроку возможность сделать копию своего меча с теми же показателями (с полями компонента Sword), но с изменёнными другими компонентами. Естественно, я решил скопировать значения всех полей из компонента Sword одного объекта в компонент Sword другого объекта. Сейчас я хочу показать как я это сделал. Я создал этот статичный метод. Обратите внимание на слово this перед аргументом comp, это слово значит, что теперь этот метод будет доступен для каждого экземпляра класса Component и его наследников. Метод довольно простой, мы просто проходимся по всем свойствам и полям одного объекта и задаёт такие же значения второму объекту Теперь перейдём к использованию этого метода Способ использования obj.GetComponent<Sword>().GetCopyOf<Sword>(obj2.GetComponent<Sword>()); Вот такой синтаксис. Из obj2 мы копируем свойства компонента Sword в obj. Естественно вместо Sword вы
Unity2D: Как скопировать компонент с одного объекта на другой
30 октября 202130 окт 2021
160
~1 мин