1
0
KF2-Dev-Scripts/KFGame/Classes/KFBulletSkeletalMeshComponent.uc

56 lines
1.5 KiB
Ucode
Raw Normal View History

2020-12-13 15:01:13 +00:00
//=============================================================================
// KFBulletSkeletalMeshComponent
//=============================================================================
// Used to set bullets visible and invisible based on their fired and reload
// state
//=============================================================================
// Killing Floor 2
// Copyright (C) 2018 Tripwire Interactive LLC
// Based on KFSkeletalMeshComponent
// - Zane Gholson
//=============================================================================
class KFBulletSkeletalMeshComponent extends KFSkeletalMeshComponent;
var SkeletalMesh UnusedBulletMeshTemplate;
var SkeletalMesh UsedBulletMeshTemplate;
enum BulletState
{
BS_Unused,
BS_Used,
BS_Unloaded,
};
var private BulletState _CurrentBulletState;
simulated function SetBulletState(BulletState NewBulletState)
{
if(_CurrentBulletState == NewBulletState)
{
return;
}
_CurrentBulletState = NewBulletState;
Switch(NewBulletState)
{
case BS_Unused:
SetSkeletalMesh(UnusedBulletMeshTemplate);
SetHidden(False);
//with payload / unused
break;
case BS_Used:
SetHidden(False);
SetSkeletalMesh(UsedBulletMeshTemplate);
//no payload / used
break;
case BS_Unloaded:
SetHidden(true);
//invisible - "I THREW IT ON THE GROUND!"
break;
}
}
simulated function BulletState GetBulletShellState()
{
return _CurrentBulletState;
}