Base Class для ссылок на компоненты

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

Base Class для ссылок на компоненты

Сообщение AABB 01 сен 2018, 01:32

Для того, чтобы все паблик поля компонент, к которым часто обращаются разные скрипты, держать в одном месте.
Это нормальная идея или "bad design"?
Примерно:

Синтаксис:
Используется csharp
using UnityEngine;

public class Components : MonoBehaviour {

    public UICtrl UICtrl;
    public AudioCtrl AudioCtrl;
    public CombatCtrl CombatCtrl;
    public PlayerCtrl PlayerCtrl;
//и так далее
}
 

Синтаксис:
Используется csharp
using UnityEngine;

public class MBehaviourPlusRefs : MonoBehaviour
{
    public static UICtrl UICtrl;
    public static AudioCtrl AudioCtrl;
    public static CombatCtrl CombatCtrl;
    public static PlayerCtrl PlayerCtrl;
//и так далее

    void Awake()
    {
        if (GetType() == typeof(MBehaviourPlusRefs))
        {
            Components c = GetComponent<Components>();
            CombatCtrl = c.CombatCtrl ;
            UICtrl = c.UICtrl ;
            AudioCtrl= c.AudioCtrl;
            PlayerCtrl = c.PlayerCtrl;
        }
    }
}
 


А остальные классы
Синтаксис:
Используется csharp
public class UICtrl : MBehaviourPlusRefs {}
public class AudioCtrl: MBehaviourPlusRefs {}
public class PlayerCtrl : MBehaviourPlusRefs {}
public class CombatCtrl : MBehaviourPlusRefs {}
 
AABB
UNIт
 
Сообщения: 134
Зарегистрирован: 05 фев 2014, 15:52

Re: Base Class для ссылок на компоненты

Сообщение 1max1 01 сен 2018, 09:11

Это нормально лишь в том случае, если тебе так удобней, у меня к примеру есть такой же класс с префабами чтобы каждый раз не писать в авейк загрузку через Resources.Load.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Base Class для ссылок на компоненты

Сообщение Anonymyx 02 сен 2018, 12:53

А по-моему это какая дичь, по крайней мере такая реализация.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: Base Class для ссылок на компоненты

Сообщение 1max1 02 сен 2018, 13:03

На любителя...
Мне например влом в каждом новом скрипте создавать еще одно поле для префаба и подгружать его, а если скриптов много там где используется данный префаб? Еще больше бесполезных полей. (popcorn1)
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Base Class для ссылок на компоненты

Сообщение Anonymyx 02 сен 2018, 13:04

Не понял о чем вы вообще, и причем тут подгрузка префаба.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: Base Class для ссылок на компоненты

Сообщение AABB 02 сен 2018, 13:27

Anonymyx писал(а):А по-моему это какая дичь, по крайней мере такая реализация.

Смысл вроде очевиден, чтобы не засорять инспектор.
А на счёт реализации, как можно было сделать лучше?
AABB
UNIт
 
Сообщения: 134
Зарегистрирован: 05 фев 2014, 15:52

Re: Base Class для ссылок на компоненты

Сообщение seaman 02 сен 2018, 13:54

Чтобы не засорять инспектор лучше модифицировать инспектор. Например так: https://gcup.ru/forum/59-100424-1
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Base Class для ссылок на компоненты

Сообщение AABB 03 сен 2018, 12:33

seaman писал(а):Чтобы не засорять инспектор лучше модифицировать инспектор. Например так: https://gcup.ru/forum/59-100424-1

Вообще-то кнопка "свернуть" и так есть у любого компонента.
AABB
UNIт
 
Сообщения: 134
Зарегистрирован: 05 фев 2014, 15:52

Re: Base Class для ссылок на компоненты

Сообщение ilka 03 сен 2018, 16:53

AABB писал(а):
seaman писал(а):Чтобы не засорять инспектор лучше модифицировать инспектор. Например так: https://gcup.ru/forum/59-100424-1

Вообще-то кнопка "свернуть" и так есть у любого компонента.

x_x
ilka
UNIверсал
 
Сообщения: 478
Зарегистрирован: 21 авг 2015, 19:32


Вернуться в Почемучка

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

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