UDK: Sprawdzanie typu aktora w pocisku ProcessTouch

10

Krótko mówiąc, próbuję teleportować pionka, gdy zostanie trafiony pociskiem (lub uszkodzony przez jakąkolwiek broń w mojej grze).

W tej chwili próbuję wywołać funkcję Pawn.SetLocation w ProcessTouch pocisku. To problem, ponieważ ProcessTouch uderzy każdego aktora, a nie tylko pionka. Dodatkowo wszelkie próby sprawdzenia „Actor Other” ProcessTouch powodują błędy.

Wypróbowałem wiele rozwiązań (w tym wykonanie zdarzenia TakeDamage w klasie kontrolerów Pion), ale bezskutecznie.

    simulated function ProcessTouch(Actor Other, Vector HitLocation, Vector HitNormal)
    {
         if (Other != Instigator)
         {
              //This is where the Other.TakeDamage goes if we are using a traditional gun.
              if (Other == Pawn);
              {
                   Other.SetLocation(0,0,0);
              }
         }
    Destroy;
    }

Ten kod narzeka, że ​​Pion jest złym wyrazem. Jak inaczej powinienem tutaj sprawdzić typ aktora?

Rzucić kostką
źródło

Odpowiedzi:

0

Myślę, że tęsknisz za rzuceniem swojego pionka jako:

if( myDesiredClass(Other) != none)

Sprawdź i przekaż mi opinię, jeśli napotkasz nowy problem.

Emadpres
źródło
0

Moim zdaniem możesz to zrobić, sprawdzając klasę

Other.class == class'Pawn '

lub przesyłając i sprawdzając, czy nie ma, czy nie

Pion (inne)! = Brak

Gabeee
źródło