2022-08-13 01:26:00 +00:00
|
|
|
#ifndef _CMATERIALFILTER_HPP
|
|
|
|
#define _CMATERIALFILTER_HPP
|
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
|
|
|
|
#include "Collision/CMaterialList.hpp"
|
|
|
|
|
|
|
|
class CMaterialFilter {
|
|
|
|
public:
|
|
|
|
enum EFilterType {
|
|
|
|
kFT_Always,
|
|
|
|
kFT_Include,
|
|
|
|
kFT_Exclude,
|
|
|
|
kFT_IncludeExclude,
|
|
|
|
};
|
|
|
|
|
|
|
|
CMaterialFilter() : type(kFT_Always) {}
|
|
|
|
CMaterialFilter(const CMaterialList& include, const CMaterialList& exclude, EFilterType type)
|
|
|
|
: include(include), exclude(exclude), type(type) {}
|
|
|
|
|
2022-09-18 06:05:46 +00:00
|
|
|
static CMaterialFilter MakeIncludeExclude(const CMaterialList& include,
|
|
|
|
const CMaterialList& exclude) {
|
2022-08-13 01:26:00 +00:00
|
|
|
return CMaterialFilter(include, exclude, kFT_IncludeExclude);
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
|
|
CMaterialList include;
|
|
|
|
CMaterialList exclude;
|
|
|
|
EFilterType type;
|
|
|
|
};
|
|
|
|
CHECK_SIZEOF(CMaterialFilter, 0x18)
|
|
|
|
|
2022-09-18 06:05:46 +00:00
|
|
|
#endif
|