1
0
Files

64 lines
1.6 KiB
C++
Raw Permalink Normal View History

#pragma once
#include "../Rule.hpp"
namespace BMapInspector::Rule {
// Reference: https://tieba.baidu.com/p/3182981807
/**
* @brief Gamepiaynmo Rule 1
* @details
* The most comprehensive group checker inspired from Ballance Blender Plugin.
*/
2026-02-04 20:46:04 +08:00
class GpRule1 : public IRule {
public:
2026-02-04 20:46:04 +08:00
GpRule1();
virtual ~GpRule1();
YYCC_DELETE_COPY_MOVE(GpRule1)
public:
std::u8string_view GetRuleName() const override;
void Check(Reporter::Reporter& reporter, Map::Level& level) const override;
};
/**
* @brief Gamepiaynmo Rule 2
* @details
2026-02-04 20:46:04 +08:00
* Every Ballance group should not have any groups with same name.
*/
2026-02-04 20:46:04 +08:00
class GpRule2 : public IRule {
public:
2026-02-04 20:46:04 +08:00
GpRule2();
virtual ~GpRule2();
YYCC_DELETE_COPY_MOVE(GpRule2)
public:
std::u8string_view GetRuleName() const override;
void Check(Reporter::Reporter& reporter, Map::Level& level) const override;
};
2026-02-04 20:46:04 +08:00
///**
// * @brief Gamepiaynmo Rule 2
// * @details
// * This rule make sure that one Ballance element must be grouped into only one sector group.
// * Multiple grouping and none grouping will throw error.
// */
///**
// * @brief Gamepiaynmo Rule 3
// * @details
// * This rule make sure that all Ballance element is grouped into correct element group.
// * This rule will check the mesh of PH and guess which element it is.
// */
//class Gp3Rule : public IRule {
//public:
// Gp3Rule();
// virtual ~Gp3Rule();
// YYCC_DELETE_COPY_MOVE(Gp3Rule)
//public:
// std::u8string_view GetRuleName() const override;
// void Check(Reporter::Reporter& reporter, Map::Level& level) const override;
//};
}