mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-12-16 15:21:02 +00:00
43 lines
1,022 B
C++
43 lines
1,022 B
C++
|
|
//
|
|
class PClassWeaponPiece : public PClassInventory
|
|
{
|
|
DECLARE_CLASS(PClassWeaponPiece, PClassInventory)
|
|
protected:
|
|
public:
|
|
virtual void ReplaceClassRef(PClass *oldclass, PClass *newclass);
|
|
};
|
|
|
|
class AWeaponPiece : public AInventory
|
|
{
|
|
DECLARE_CLASS_WITH_META(AWeaponPiece, AInventory, PClassWeaponPiece)
|
|
HAS_OBJECT_POINTERS
|
|
protected:
|
|
bool PrivateShouldStay ();
|
|
public:
|
|
|
|
void Serialize(FSerializer &arc);
|
|
bool TryPickup (AActor *&toucher);
|
|
bool TryPickupRestricted (AActor *&toucher);
|
|
bool ShouldStay ();
|
|
virtual const char *PickupMessage ();
|
|
virtual void PlayPickupSound (AActor *toucher);
|
|
|
|
int PieceValue;
|
|
PClassActor *WeaponClass;
|
|
TObjPtr<AWeapon> FullWeapon;
|
|
};
|
|
|
|
// an internal class to hold the information for player class independent weapon piece handling
|
|
// [BL] Needs to be available for SBarInfo to check weaponpieces
|
|
class AWeaponHolder : public AInventory
|
|
{
|
|
DECLARE_CLASS(AWeaponHolder, AInventory)
|
|
|
|
public:
|
|
int PieceMask;
|
|
PClassActor * PieceWeapon;
|
|
|
|
|
|
void Serialize(FSerializer &arc);
|
|
};
|