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í?