J'ai une classe de base qui a une fonction qui ne sait pas ce qu'une des fonctions qu'elle appelle fera. Ce comportement est défini dans l'enfant. La fonction parents est alors appelée depuis l'enfant. Quelle est la syntaxe/méthode correcte pour que cela fonctionne? En particulier, que dois-je mettre à la place de FunctionToBeDefinedLater
Exemple suit:Enfant appelant une fonction parente qui utilise la fonction enfant dans Unity
public class ToolScript : MonoBehaviour {
public void isActive()
{
if (Input.GetKeyDown("space"))
{
Use();
}
}
FunctionToBeDefinedLater Use();
}
public class GunController : ToolScript
{
public void Use()
{
//Spawn bullet at this direction, this speed, give it spiral, tons of behavior etc. etc.
}
private void Update()
{
isActive();
}
}
public class FlamethrowerController : ToolScript
{
public void Use()
{
//Spawn fire at this direction, this speed, set tip of flamethrower to be red etc etc
}
private void Update()
{
isActive();
}
}
La fonction Update
est de l'unité et est appelée à chaque trame. S'il vous plaît laissez-moi savoir si je peux clarifier ma question plus loin et je le ferai dès que possible. Je ne sais pas si cela fait référence au remplacement, à l'interfaçage ou à l'abstraction, donc je les ai tous tagués. Je vais régler ça dès que je le saurai.
En savoir plus sur les méthodes abstraites et virtuelles ici: https://stackoverflow.com/questions/14728761/difference-between-virtual-and-abstract-methods –