Quindi, per essere breve, sto cercando di teletrasportare una pedina quando viene colpita da un proiettile (o danneggiata da qualsiasi arma nel mio gioco).
In questo momento, sto provando a chiamare Pawn.SetLocation nel ProcessTouch del proiettile. Questo è un problema perché ProcessTouch colpirà qualsiasi attore, non solo una pedina. Inoltre, qualsiasi tentativo di controllare "Actor Other" di ProcessTouch genera errori.
Ho provato un sacco di soluzioni (incluso la realizzazione di un evento TakeDamage nella classe del controller di Pedone), ma senza risultati.
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;
}
Questo codice si lamenta che Pawn è una cattiva espressione. In quale altro modo dovrei controllare il tipo di attore qui?