Krótko mówiąc, próbuję teleportować pionka, gdy zostanie trafiony pociskiem (lub uszkodzony przez jakąkolwiek broń w mojej grze).
W tej chwili próbuję wywołać funkcję Pawn.SetLocation w ProcessTouch pocisku. To problem, ponieważ ProcessTouch uderzy każdego aktora, a nie tylko pionka. Dodatkowo wszelkie próby sprawdzenia „Actor Other” ProcessTouch powodują błędy.
Wypróbowałem wiele rozwiązań (w tym wykonanie zdarzenia TakeDamage w klasie kontrolerów Pion), ale bezskutecznie.
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;
}
Ten kod narzeka, że Pion jest złym wyrazem. Jak inaczej powinienem tutaj sprawdzić typ aktora?