Ich hoffe mir kann einer mal erklären, wann Interfaces und wann Custom Events (nenne ich einfach nur Event) besser sind.
Bevor wieder irgendeiner meint, dass Events nicht gut sind, weil sie an den falschen Actor gehn, damit hatte ich nie Probleme, wozu gibt es ein Castto, mit dem man überprüft ob der Actor auch wirklich ein "Gegner" ist...
In meinem derzeitigen Projekt mach ich alles mit Events, find ich einfach übersichtlicher, man platziert ein Event, called es in nem andern BP und wenn man später das passende Gegenstück sucht, klickt man entweder auf den Caller doppelt und kommt an die richtige Stelle oder man sucht die Referenzen ab.
Sollte ich Interfaces benutzen, hab ich immer das Problem, dass ich mich dumm und dämlich suchen kann ... nicht mal über die Referenz-Suche findet man den richtigen Part.
Derzeit ist es bei mir so, dass ich im Player Character nen Trace mache, den Hit_Actor als Variable speichere und dann noch aufn Enemy_BP caste, um rauszufinden ob es wirklich ein Gegner ist, den man grad anvisiert.
Danach wird ein Projektil gespawnt, welchem ich dann mit einem Event alle nützlichen Daten weiter gebe.
Im Projektil wird alles berechnet und dann mit "Apply Damage" oder "Apply Radial Damage with Falloff" an den Gegner weiter gegeben und das Projektil zerstört.
Im Gegner selber wird dann nur noch der Schaden vom Leben abgezogen, der Damage-Text gespawnt und bei <=0 Leben, zerstört.
In einem Beispiel DamageText Projekt (vom orig. UE4 Forum), wird egal was, immer nur mit Interfaces gemacht, da wird nicht mal das "Apply Damage" benutzt, sondern ein eigenes Interface um den Schaden vom Projektil zum Gegner weiter zu geben und der Schaden dann direkt im Gegner berechnet, was ich extrem dämlich finde...
Wobei der Character dort überhaupt keine Werte besitzt, mein Character hat dagegen noch einige Multiplikatoren auf Lager, wegen Rüssi und Waffen und das Projektil hat auch noch eigene Werte^^