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?

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.


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.