Ich muss wissen, wie Sie eine Methode in einem Klassenkonstruktor übergeben, damit es später aufgerufen werden kann. Die Idee besteht darin, eine Bullet-Klasse zu erstellen, die zwei Eigenschaften hat, eine beschädigte ganze Zahl und eine Methode, die aufgerufen werden kann, wenn ein Geschoss dieses Typs ein Objekt getroffen hat. Der folgende Code sollte ein bisschen besser erklären:So speichern Sie eine Methode in einer Klasse später
public class Bullet
{
public Method OnHit;
public int Damage;
public Bullet(int Damage,Method OnHit)
{
this.Damage = Damage;
this.OnHit = OnHit;
}
}
Dies ist so, ich Kugeln machen kann, die unterschiedlichen Aufgaben beim Aufprall Vorform durch so etwas wie Bullet.OnHit (HitGameObject) ausgeführt wird.
nur eine Ergänzung. Das OP könnte auch System- "Delegaten" und "Ereignisse" verwenden. – Cabrra
@Cabrra Ja, OP könnte rohe "Delegierte" und "Ereignisse" verwenden. es ist nur so, dass OP Funktion in eine Funktion übergeben wollte, dann später aufrufen ** NOT ** nur ein Ereignis später aufrufen. Ich denke, dass "System.Action" oder "Func" dafür viel geeigneter ist und weniger Code. – Programmer
hervorragende Erklärung (auch upvoted) – Cabrra