вызов функций Update, Start, Awake в дочерних и род.классах

Общие вопросы о Unity3D

вызов функций Update, Start, Awake в дочерних и род.классах

Сообщение SP1K3 05 дек 2018, 06:31

Ситуация такая. У меня есть абстрактный класс, описывающий свойства всех врагов. Все дочерние классы уже не являются абстрактными и вполне конкретные, в каждом их которых описываются функции Awake, Start, Update и тд, многая информация в них дублируется но все же она разная. Возможно ли сделать так, чтобы эти же функции вызывались и из родительского и из дочернего классов, чтобы я мог весь повторяющийся код оставить в абстрактном классе?
SP1K3
UNец
 
Сообщения: 2
Зарегистрирован: 05 дек 2018, 06:27

Re: вызов функций Update, Start, Awake в дочерних и род.классах

Сообщение alt3d 05 дек 2018, 09:00

Что мешает в базовом классе объявить эти функции виртуальными, переопределяя в наследниках?
alt3d
Старожил
 
Сообщения: 687
Зарегистрирован: 04 сен 2011, 21:19
  • Сайт
  • ICQ

Re: вызов функций Update, Start, Awake в дочерних и род.классах

Сообщение 1max1 05 дек 2018, 10:11

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

class A : MonoBehaviour
{
    public void _Start()
    {
        print("A");
    }
}

class B : A
{
    void Start()
    {
        _Start();
        print("B");
    }
}
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: вызов функций Update, Start, Awake в дочерних и род.классах

Сообщение Anonymyx 05 дек 2018, 13:50

Что мешает в базовом классе объявить эти функции виртуальными, переопределяя в наследниках?

+1.
Делаете методы виртуальными, описываете в них базовую логику для абстрактных классов. В наследниках переопределяете, вызывая метод базового класса.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55


Вернуться в Общие вопросы

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

Сейчас этот форум просматривают: GoGo.Ru [Bot] и гости: 17