Page 1 sur 1

[RESOLU][DB-AL] La fonction Start ne fonctionne pas dans les classes dérivées

Publié : 29 Déc 2020 15:17
par ludoxe
Bonjour, petit soucis que j'ai :
-Je créer un seul script nommé MainClass qui contient une classe et une classe dérivée
-Je mets dans ce script :

Code : Tout sélectionner


 public class MainClass : MonoBehaviour
{
    public virtual void Start()
    {
        print("MainClass");
    }
}

public class DerivedClass : MainClass
{
    override public void Start()
    {
        base.Start();
        print("DerivedClass");
    }
}



J'obtiens dans la console "MainClass"
Ce qui veut dire que la fonction start de DerivedClass n'a pas été appelé...

Comment faire svp pour appeler la fonction Start de cette classe ?
A moins que je m'y prends mal et qu'il faut que je restructure mon projet de sorte à avoir des derived class dans des scripts à part
Merci

Re: [DB-AL] La fonction Start ne fonctionne pas dans les classes dérivées

Publié : 29 Déc 2020 15:28
par Max
Bonjour,

je dirais normal, ton fichier ayant probablement le nom de ta MainClass, seule cette classe va être considérée comme component et donc active. La classe DerivedClass sera bien définis, mais non associée en tant que component (les callback comme Start donc non appelés). Une solution est de nommer ton fichier DerivedClass.cs.
Mais il est plus sain de séparer les deux classes en deux fichiers distincts, et les gérer séparément.

Re: [RESOLU][DB-AL] La fonction Start ne fonctionne pas dans les classes dérivées

Publié : 02 Jan 2021 21:24
par ludoxe
Merci pour ta réponse