UDK: Verificando o tipo de ator no projétil ProcessTouch

10

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?

Lance os dados
fonte

Respostas:

0

Eu acho que você sente falta de lançar seu peão como:

if( myDesiredClass(Other) != none)

Verifique e me dê um feedback se enfrentar algum novo problema.

Emadpres
fonte
0

Na minha opinião, você poderia fazer isso verificando a classe

Other.class == class'Pawn '

ou lançando e verificando se é Nenhum ou não

Peão (Outro)! = Nenhum

Gabeee
fonte