Здравствуйте, сделал скриптабл обжект(скрипт) для врагов сделал внутри механизм сброса

к стартовым значениям, создал 2 объекта под 2 разных типа врагов, запускаю игру а там их параметры по нолям... а в инспекторе показывает что нормальные значения. через дебаг вывожу а там ноль.
у игрока также свой скриптабл там все ровно также и все ок

в чем может быть проблема?

10 ответов

16 просмотров

Проблема в том что ты ScriptsbleObject не по назначению используешь. Механики лучше писать в MonoBehaviour, а в ScriptableObject лучше только хранить данные т.е. только поля для данных врагов твоих и никаких методов функций. Максимум что можно методом сделать это выборку данных например метод 'int GetMaxHealthByLevel(int level)' в SO у тебя массив с максимальными значениями здоровья и ты от туда берёшь одно значение в зависимости от уровня который к тебе в метод будет передаваться.

Алексей- Автор вопроса
Mikhail Suvorov
Проблема в том что ты ScriptsbleObject не по назна...

единственный метод там, я просто меняю там значения

Это не правильно. Там данные должны только читаться иначе у тебя будут вот такие проблемы. Ты же это на многих врагах используешь, а данные как бы для одного. И все кому не лень туда лезут и меняют данные и пойди пойми кто последний поменял их и что там может быть.

Алексей- Автор вопроса
Mikhail Suvorov
Это не правильно. Там данные должны только читатьс...

ну в моем случае мне и нужно менять данные у всех врагов одного типа, а как иначе дублировать данные во врагов и там у каждого изменять? тогда смысл скриптабла пропадает помоему

Алексей
ну в моем случае мне и нужно менять данные у всех ...

Погоди, ты не правильно мыслишь. У тебя же есть какие-то изначальные значения для врагов. Вот пусть они не будут трогаться и изменяться и пусть лежат в SO. А в монобехе ты из скопируешь себе и уже копии будешь менять на монобехе и сбрасывать ничего не придётся

Алексей- Автор вопроса

ну тоесть дублировать характеристики в каждого из сотни мобов потом их там менять? а скриптабл мне просто для структуризации типа? я хочу менять при определенном событии все характеристики всех мобов... насколько я понимаю в билде мне уже не понадобится вертать взад значения это чисто для тестов внутри юнити, во всяком случае на практике при перезапуске на билде все само скидывалось к начальным

Алексей- Автор вопроса
Mikhail Suvorov
Да, а то ты так и будешь мучаться

а есть вариант со скриптаблом без мучений?😂

Алексей
а есть вариант со скриптаблом без мучений?😂

Ну а чем тебе не тот вариант который я тебе описал?

Алексей- Автор вопроса
Mikhail Suvorov
Ну а чем тебе не тот вариант который я тебе описал...

у меня возникает смутное подозрение что я могу просто удалить скриптабл и засунуть все переменные в класс врага и все будет также как ты предложил но без скриптабла

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
3
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Всем привет. Не понимаю, в чём тут шутка юмора. Убирается только разрешение на send_messages. А send_media_messages остаётся. Как сделать, чтобы оба убирались? await b...
Alexander
2
Карта сайта