12345678910111213141516171819202122232425262728293031323334353637383940 |
- #ifndef EQEMU_WATER_MAP_H
- #define EQEMU_WATER_MAP_H
- #include "../../common/types.h"
- #include "position.h"
- #include <string>
- enum WaterRegionType : int {
- RegionTypeUnsupported = -2,
- RegionTypeUntagged = -1,
- RegionTypeNormal = 0,
- RegionTypeWater = 1,
- RegionTypeLava = 2,
- RegionTypeZoneLine = 3,
- RegionTypePVP = 4,
- RegionTypeSlime = 5,
- RegionTypeIce = 6,
- RegionTypeVWater = 7
- };
- class WaterMap
- {
- public:
- WaterMap() { }
- virtual ~WaterMap() { }
- static WaterMap* LoadWaterMapfile(std::string zone_name);
- virtual WaterRegionType ReturnRegionType(const glm::vec3& location) const = 0;
- virtual bool InWater(const glm::vec3& location) const = 0;
- virtual bool InVWater(const glm::vec3& location) const = 0;
- virtual bool InLava(const glm::vec3& location) const = 0;
- virtual bool InLiquid(const glm::vec3& location) const = 0;
- virtual bool InPvP(const glm::vec3& location) const = 0;
- virtual bool InZoneLine(const glm::vec3& location) const = 0;
- protected:
- virtual bool Load(FILE *fp) { return false; }
- };
- #endif
|