Экземпляр класса как компонент GameObject

Программирование на Юнити.

Экземпляр класса как компонент GameObject

Сообщение vave 14 мар 2017, 04:52

Всем привет - столкнулся с проблемой...
Есть нестатический класс, который висит на объекте сцены, при создании нового объекта из префаба - хочу повесить новый ЭКЗЕМПЛЯР этого класса (с другими настройками) на только что созданный объект - а юнити говорит - мол этож не компонетн нифига... как быть?
пример:

Синтаксис:
Используется csharp
private MobClass targetScript;
//
void Start()
    {
              targetScript = new MobClass(counter, true, "LeftMob", mobMaterial, positionCreate, defaultTarget);
    }
//
  GameObject newMob = Instantiate(prefToInstance);
 newMob.AddComponent("targetScript") as ScriptableObject;


принципиально не хочу вешать скрипт на префаб напрямую - ибо если переделать слетят все линки на префабе...
на последней строчке ругается? и кто может нормально объяснить в чем разница - повесить скрипт на объект и экземпляр класса ? мб я просто не тем путем пошел ?
кто любит больше букофф: суть задачи - есть класс в котором впринципе все настройки для префаба моб... там определяется какой конкретно моб - с какой стороны, статы, поведение, кто противники... по сути неважно на каких мобов вешать... или надо отдельно для каждого типа ручками мисать?
vave
UNец
 
Сообщения: 17
Зарегистрирован: 13 мар 2017, 06:00

Re: Экземпляр класса как компонент GameObject

Сообщение vave 14 мар 2017, 05:00

думаю важно дополнить что у класса есть конструктор(с параметрами)
vave
UNец
 
Сообщения: 17
Зарегистрирован: 13 мар 2017, 06:00

Re: Экземпляр класса как компонент GameObject

Сообщение samana 14 мар 2017, 10:15

Насколько я помню, то ScriptableObject точно не является компонентом, поэтому его и нельзя повесить на объект сцены. Но вы можете в скрипте (MonoBehaviour) этого объекта создать свойство, которому и назначить этот ScriptableObject.
И ещё я не уверен, что ScriptableObject-ы вот так просто создаются, ведь создавать надо через https://docs.unity3d.com/ScriptReferenc ... tance.html
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Экземпляр класса как компонент GameObject

Сообщение vave 14 мар 2017, 10:26

ну экземпляр сам по себе создается, мало того к нему можно обратиться по имени и запихать в делегат - вот только выловить и насадаить на инстанс объект ХЗ как(
vave
UNец
 
Сообщения: 17
Зарегистрирован: 13 мар 2017, 06:00


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9