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

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

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

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

СообщениеДобавлено: 05 дек 2018, 09:00
alt3d
Что мешает в базовом классе объявить эти функции виртуальными, переопределяя в наследниках?

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

СообщениеДобавлено: 05 дек 2018, 10:11
1max1
Синтаксис:
Используется csharp
using UnityEngine;

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

class B : A
{
    void Start()
    {
        _Start();
        print("B");
    }
}

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

СообщениеДобавлено: 05 дек 2018, 13:50
Anonymyx
Что мешает в базовом классе объявить эти функции виртуальными, переопределяя в наследниках?

+1.
Делаете методы виртуальными, описываете в них базовую логику для абстрактных классов. В наследниках переопределяете, вызывая метод базового класса.