Страница 1 из 1

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

СообщениеДобавлено: 01 сен 2018, 01:32
AABB
Для того, чтобы все паблик поля компонент, к которым часто обращаются разные скрипты, держать в одном месте.
Это нормальная идея или "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 {}
 

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

СообщениеДобавлено: 01 сен 2018, 09:11
1max1
Это нормально лишь в том случае, если тебе так удобней, у меня к примеру есть такой же класс с префабами чтобы каждый раз не писать в авейк загрузку через Resources.Load.

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

СообщениеДобавлено: 02 сен 2018, 12:53
Anonymyx
А по-моему это какая дичь, по крайней мере такая реализация.

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

СообщениеДобавлено: 02 сен 2018, 13:03
1max1
На любителя...
Мне например влом в каждом новом скрипте создавать еще одно поле для префаба и подгружать его, а если скриптов много там где используется данный префаб? Еще больше бесполезных полей. (popcorn1)

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

СообщениеДобавлено: 02 сен 2018, 13:04
Anonymyx
Не понял о чем вы вообще, и причем тут подгрузка префаба.

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

СообщениеДобавлено: 02 сен 2018, 13:27
AABB
Anonymyx писал(а):А по-моему это какая дичь, по крайней мере такая реализация.

Смысл вроде очевиден, чтобы не засорять инспектор.
А на счёт реализации, как можно было сделать лучше?

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

СообщениеДобавлено: 02 сен 2018, 13:54
seaman
Чтобы не засорять инспектор лучше модифицировать инспектор. Например так: https://gcup.ru/forum/59-100424-1

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

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

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

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

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

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

x_x