metaforce/DataSpec/DNACommon/Tweaks/ITweakGunRes.hpp

96 lines
3.3 KiB
C++
Raw Normal View History

#ifndef __DNACOMMON_ITWEAKGUNRES_HPP__
#define __DNACOMMON_ITWEAKGUNRES_HPP__
#include "../DNACommon.hpp"
namespace DataSpec
{
struct ITweakGunRes : BigYAML
{
2016-08-16 22:49:19 +00:00
enum class EBeamId
{
Power,
Ice,
Plasma,
Wave,
Phazon
};
virtual const std::string& GetGunMotion() const=0;
virtual const std::string& GetGrappleArm() const=0;
virtual const std::string& GetRightHand() const=0;
virtual const std::string& GetPowerBeam() const=0;
virtual const std::string& GetIceBeam() const=0;
virtual const std::string& GetWaveBeam() const=0;
virtual const std::string& GetPlasmaBeam() const=0;
virtual const std::string& GetPhazonBeam() const=0;
virtual const std::string& GetHoloTransition() const=0;
virtual const std::string& GetBombSet() const=0;
virtual const std::string& GetBombExplode() const=0;
virtual const std::string& GetPowerBombExplode() const=0;
virtual const std::string& GetPowerBeamWeapon() const=0;
virtual const std::string& GetPowerBallWeapon() const=0;
virtual const std::string& GetIceBeamWeapon() const=0;
virtual const std::string& GetIceBallWeapon() const=0;
virtual const std::string& GetWaveBeamWeapon() const=0;
virtual const std::string& GetWaveBallWeapon() const=0;
virtual const std::string& GetPlasmaBeamWeapon() const=0;
virtual const std::string& GetPlasmaBallWeapon() const=0;
virtual const std::string& GetPhazonBeamWeapon() const=0;
virtual const std::string& GetPhazonBallWeapon() const=0;
virtual const std::string& GetPowerMuzzleParticle() const=0;
virtual const std::string& GetIceMuzzleParticle() const=0;
virtual const std::string& GetWaveMuzzleParticle() const=0;
virtual const std::string& GetPlasmaMuzzleParticle() const=0;
virtual const std::string& GetPhazonMuzzleParticle() const=0;
virtual const std::string& GetPowerChargeParticle() const=0;
virtual const std::string& GetIceChargeParticle() const=0;
virtual const std::string& GetWaveChargeParticle() const=0;
virtual const std::string& GetPlasmaChargeParticle() const=0;
virtual const std::string& GetPhazonChargeParticle() const=0;
virtual const std::string& GetPowerAuxMuzzleParticle() const=0;
virtual const std::string& GetIceAuxMuzzleParticle() const=0;
virtual const std::string& GetWaveAuxMuzzleParticle() const=0;
virtual const std::string& GetPlasmaAuxMuzzleParticle() const=0;
virtual const std::string& GetPhazonAuxMuzzleParticle() const=0;
virtual const std::string& GetGrappleSegmentParticle() const=0;
virtual const std::string& GetGrappleClawParticle() const=0;
virtual const std::string& GetGrappleHitParticle() const=0;
virtual const std::string& GetGrappleMuzzleParticle() const=0;
virtual const std::string& GetGrappleSwooshParticle() const=0;
2016-08-16 22:49:19 +00:00
const std::string& GetBeamModel(EBeamId beam) const
{
int b = int(beam);
if (b < 0 || b > 4)
b = 0;
switch (EBeamId(b))
{
case EBeamId::Power:
default:
return GetPowerBeam();
case EBeamId::Ice:
return GetIceBeam();
case EBeamId::Plasma:
return GetPlasmaBeam();
case EBeamId::Wave:
return GetWaveBeam();
case EBeamId::Phazon:
return GetPhazonBeam();
}
}
};
}
#endif