ACE3/extensions/medical/handleDamage.h

67 lines
1.6 KiB
C
Raw Normal View History

2015-05-03 22:02:39 +00:00
#pragma once
#include <string>
#include <vector>
#include <memory>
namespace ace {
2015-05-03 22:32:44 +00:00
namespace medical {
2015-05-03 22:02:39 +00:00
2015-05-03 22:32:44 +00:00
namespace injuries {
class DamageType;
class InjuryType;
class OpenWound;
}
2015-05-03 22:02:39 +00:00
2015-05-03 22:32:44 +00:00
class handleDamage
{
public:
~handleDamage();
2015-05-03 22:02:39 +00:00
2015-05-03 22:32:44 +00:00
/**
*
*/
2015-05-14 14:23:01 +00:00
static std::vector<injuries::OpenWound> HandleDamageWounds(const std::string& selectionName, double amountOfDamage, const std::string& typeOfDamage);
2015-05-03 22:02:39 +00:00
2015-05-03 22:32:44 +00:00
/**
*
*/
static void AddDamageType(const std::vector<std::string>& sqfDamageTypeDefinition);
2015-05-03 22:02:39 +00:00
2015-05-03 22:32:44 +00:00
/**
*
*/
static void AddInjuryType(const std::vector<std::string>& sqfInjuryDefinition);
2015-05-03 22:02:39 +00:00
2015-05-03 22:32:44 +00:00
/**
*
*/
static std::string SetInjuryTypeData(const std::string& data);
2015-05-03 22:02:39 +00:00
2015-05-03 22:32:44 +00:00
/**
*
*/
static int SelectionToNumber(const std::string& selectionName);
2015-05-03 22:02:39 +00:00
2015-05-03 22:32:44 +00:00
/**
*
*/
static std::vector<std::shared_ptr<injuries::InjuryType>> GetInjuryInfoFor(const std::string& damageType);
2015-05-03 22:02:39 +00:00
2015-05-03 22:32:44 +00:00
/**
*
*/
static void FinalizeDefinitions();
2015-05-03 22:02:39 +00:00
2015-05-03 22:32:44 +00:00
private:
handleDamage();
static std::vector<std::shared_ptr<injuries::DamageType>> damageTypes;
static std::vector<std::shared_ptr<injuries::InjuryType>> injuryTypes;
static std::vector<std::string> selections;
static std::vector<std::string> hitPoints;
};
}
2015-05-03 22:02:39 +00:00
}