Задать вопрос
YugGO
@YugGO

Как реализовать данную функцию ScriptableObject в Unity?

Есть код(просто пример):
using UnityEngine;

public enum Weapon
{
    Sword,
    Shield
}

[CreateAssetMenu(fileName = "Test", menuName = "Unity Test", order = 0)]
public class Test : ScriptableObject
{
    [SerializeField] private Weapon weapon;

    public int damage;
    public int defense;
}


Мне нужно, чтобы когда в "Weapon" выбрано "Sword" я в редакторе видел только "damage".
А если выбрано "Shield", то "defense".

Как показано на скринах:
624301c2437fb949919959.png
624301edad6fc860055762.png
  • Вопрос задан
  • 42 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
freeExec
@freeExec
Участник OpenStreetMap
Вариант 1: Вы пишите свой кастомный инспектр, где полностью управляете что и как выводить на экран, когда и что сохранять при изменении.
Вариант 2: Вы заводите только одну переменную Value и дальше в коде обрабатываете её в зависимости от типа.
Ответ написан
Комментировать
@Farawa
https://docs.unity3d.com/Manual/editor-CustomEdito...
делаешь в эдитор скрипте свич, в котором выбираешь какие поля отрисовывать для каждого оружия
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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