Пятница, 19 Апреля 2024, 21:19

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Отключение и включение объявленных переменных
Отключение и включение объявленных переменных
vampir0305Дата: Пятница, 15 Июня 2018, 13:50 | Сообщение # 1
Unity C# Programmer
Сейчас нет на сайте
Как-то уже задавал этот вопрос в Вопрос-Ответ, но так и не получилось сделать.

Можно ли как то делать проверки вне функций. Например:

Код
public class NewScript : MonoBehaviour {

public bool isStart = false;

if (isStart)
{
public GameObject obj;
}

}


В общем надо как-то проверить, если в редакторе на объекте на котором висит скрипт допустим стоит галочка, то получается что isStart = true и тогда public GameObject obj; активен и можно перетаскивать объект. А если в редакторе галочка не стоит, значит public GameObject obj; неактивен и перетаскивать объект нельзя.

Пробовал так:
Код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[CreateAssetMenu(fileName = "New Item", menuName = "Item")]
public class Item : ScriptableObject {

    public new string name;
    public string description;
    public Sprite itemSprite;
    public int amount;
    
    public int healing;

    public ItemTypes itemTypes;
    public enum ItemTypes
    {
        Weapon, Food, Resources
    }

#if UNITY_EDITOR
    void OnValidate()
    {
        if (!Application.isPlaying)
        {
            if (itemTypes == ItemTypes.Weapon)
            {
                public int damage;
                public float fireRate;
                public float range;
            }
        }
    }
#endif

    void Start () {
  
    }    
}


Но естественно ошибка)
В общем надо сделать чтобы когда
Код
itemTypes == ItemTypes.Weapon
то объявлялись 3 переменных. Иначе - чтобы не объявлялись.


Красочная сюжетно-ориентированная игра-головоломка
drcrackДата: Пятница, 15 Июня 2018, 14:50 | Сообщение # 2
старожил
Сейчас нет на сайте
так сделать нельзя, но можно написать кастомный редактор для класса который будет скрывать эти 3 поля в зависимости от нужных тебе условий
гугли unity custom inspector


Сообщение отредактировал drcrack - Пятница, 15 Июня 2018, 14:51
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Отключение и включение объявленных переменных
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг