UDK: Comprobando el tipo de actor en el proyectil ProcessTouch

10

Entonces, para ser breve, estoy tratando de teletransportar un peón cuando es golpeado por un proyectil (o dañado por cualquier arma en mi juego).

En este momento, estoy tratando de llamar a Pawn.SetLocation en ProcessTouch del proyectil. Eso es un problema porque ProcessTouch golpeará a cualquier actor, no solo a un peón. Además, cualquier intento de verificar el "Actor Otro" de ProcessTouch arroja errores.

He intentado un montón de soluciones (incluida la creación de un evento TakeDamage en la clase de controlador Pawn), pero fue en vano.

    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;
    }

Este código se queja de que Pawn es una mala expresión. ¿De qué otra forma debería verificar el tipo de actor aquí?

Tirar los dados
fuente

Respuestas:

0

Creo que echas de menos lanzar tu peón como:

if( myDesiredClass(Other) != none)

Compruébalo y dame tu opinión si tienes algún problema nuevo.

Emadpres
fuente
0

En mi opinión, puedes hacerlo marcando la clase

Other.class == class'Pawn '

o lanzando y verificando si es Ninguno o no

Peón (Otro)! = Ninguno

Gabeee
fuente