rott/kf_sources/ScrnStoryGame/Classes/Touchable.uc
2026-07-14 20:27:09 +07:00

52 lines
920 B
Ucode

class Touchable extends Actor;
var private Pawn MyPawn;
var() bool bTouchable;
var() bool bUsable;
function Pawn GetMyPawn()
{
return MyPawn;
}
function SetMyPawn(Pawn NewPawn)
{
if ( MyPawn == NewPawn )
return;
if ( MyPawn != none ) {
bHardAttach = false;
SetBase(none);
}
MyPawn = NewPawn;
if ( MyPawn != none ) {
bHardAttach = true;
SetLocation( MyPawn.Location );
SetBase(MyPawn);
SetCollisionSize(MyPawn.CollisionRadius * 1.5, MyPawn.CollisionHeight) ;
}
}
function Touch( Actor Other )
{
if ( bTouchable && MyPawn != none && MyPawn != Other )
MyPawn.Touch(Other);
}
function UsedBy( Pawn user )
{
if ( bUsable && MyPawn != none && MyPawn != user )
MyPawn.UsedBy(user);
}
defaultproperties
{
bHidden=True
RemoteRole=ROLE_None
CollisionRadius=30.000000
CollisionHeight=40.000000
bCollideActors=True
}