Então, para ser breve, estou tentando teletransportar um peão quando é atingido por um projétil (ou danificado por qualquer arma no meu jogo).
No momento, estou tentando chamar Pawn.SetLocation no ProcessTouch do projétil. Isso é um problema porque o ProcessTouch atingirá qualquer ator, não apenas um peão. Além disso, qualquer tentativa de verificar o "Outro ator" do ProcessTouch gera erros.
Eu tentei várias soluções (incluindo criar um evento TakeDamage na classe do controlador Pawn), mas sem sucesso.
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;
}
Esse código reclama que o peão é uma expressão ruim. De que outra forma devo verificar o tipo de ator aqui?