Donc, pour être bref, j'essaie de téléporter un pion quand il est frappé par un projectile (ou endommagé par une arme dans mon jeu.)
En ce moment, j'essaie d'appeler Pawn.SetLocation dans le ProcessTouch du projectile. C'est un problème car ProcessTouch frappera n'importe quel acteur, pas seulement un pion. De plus, toute tentative de vérification de "l'Acteur Autre" de ProcessTouch génère des erreurs.
J'ai essayé un tas de solutions (y compris la création d'un événement TakeDamage dans la classe de contrôleur Pawn), mais en vain.
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;
}
Ce code se plaint que Pawn est une mauvaise expression. Sinon, comment vérifier le type d'acteur ici?