Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#ifndef CREATURELIB_CLAMPEDSTATISTICSET_HPP
|
||||
#define CREATURELIB_CLAMPEDSTATISTICSET_HPP
|
||||
|
||||
#include "Exceptions/NotReachableException.hpp"
|
||||
#include "Exceptions/CreatureException.hpp"
|
||||
#include "Statistic.hpp"
|
||||
namespace CreatureLib::Library {
|
||||
template <class T, int Min, int Max> class ClampedStatisticSet {
|
||||
@@ -36,7 +36,7 @@ namespace CreatureLib::Library {
|
||||
case CreatureLib::Library::Statistic::MagicalAttack: return _magicalAttack;
|
||||
case CreatureLib::Library::Statistic::MagicalDefense: return _magicalDefense;
|
||||
case CreatureLib::Library::Statistic::Speed: return _speed;
|
||||
default: throw NotReachableException();
|
||||
default: NOT_REACHABLE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace CreatureLib::Library {
|
||||
case CreatureLib::Library::Statistic::MagicalAttack: _magicalAttack = value; break;
|
||||
case CreatureLib::Library::Statistic::MagicalDefense: _magicalDefense = value; break;
|
||||
case CreatureLib::Library::Statistic::Speed: _speed = value; break;
|
||||
default: throw NotReachableException();
|
||||
default: NOT_REACHABLE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ namespace CreatureLib::Library {
|
||||
case CreatureLib::Library::Statistic::MagicalAttack: ModifyStat(_magicalAttack, +) break;
|
||||
case CreatureLib::Library::Statistic::MagicalDefense: ModifyStat(_magicalDefense, +) break;
|
||||
case CreatureLib::Library::Statistic::Speed: ModifyStat(_speed, +) break;
|
||||
default: throw NotReachableException();
|
||||
default: NOT_REACHABLE;
|
||||
}
|
||||
}
|
||||
inline bool DecreaseStatBy(Statistic stat, T amount) {
|
||||
@@ -89,7 +89,7 @@ namespace CreatureLib::Library {
|
||||
case CreatureLib::Library::Statistic::MagicalAttack: ModifyStat(_magicalAttack, -) break;
|
||||
case CreatureLib::Library::Statistic::MagicalDefense: ModifyStat(_magicalDefense, -) break;
|
||||
case CreatureLib::Library::Statistic::Speed: ModifyStat(_speed, -) break;
|
||||
default: throw NotReachableException();
|
||||
default: NOT_REACHABLE;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -8,21 +8,17 @@
|
||||
#include <string>
|
||||
#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
|
||||
|
||||
class CreatureException : public ArbUt::Exception {
|
||||
public:
|
||||
explicit CreatureException(const std::string& error) : ArbUt::Exception(error) {}
|
||||
virtual ~CreatureException() = default;
|
||||
};
|
||||
|
||||
#define THROW_CREATURE(message) \
|
||||
std::stringstream ___ss; \
|
||||
___ss << "[" << __FILENAME__ << ":" << __LINE__ << "] " << message; \
|
||||
throw CreatureException(___ss.str());
|
||||
throw ArbUt::Exception(___ss.str());
|
||||
#define NOT_REACHABLE THROW_CREATURE("Not reachable");
|
||||
#define NOT_IMPLEMENTED THROW_CREATURE("Not implemented");
|
||||
|
||||
#define try_creature(data, msg) \
|
||||
try { \
|
||||
data; \
|
||||
} catch (const CreatureException& e) { \
|
||||
} catch (const ArbUt::Exception& e) { \
|
||||
throw e; \
|
||||
} catch (const std::exception& e) { \
|
||||
THROW_CREATURE(msg << ": '" << e.what() << "'."); \
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
#ifndef CREATURELIB_NOTIMPLEMENTEDEXCEPTION_HPP
|
||||
#define CREATURELIB_NOTIMPLEMENTEDEXCEPTION_HPP
|
||||
|
||||
#include "CreatureException.hpp"
|
||||
|
||||
class NotImplementedException : CreatureException {
|
||||
public:
|
||||
NotImplementedException(std::string error) : CreatureException(error) {}
|
||||
NotImplementedException() : CreatureException("Not Implemented") {}
|
||||
};
|
||||
|
||||
#endif // CREATURELIB_NOTIMPLEMENTEDEXCEPTION_HPP
|
||||
@@ -1,11 +0,0 @@
|
||||
#ifndef CREATURELIB_NOTREACHABLEEXCEPTION_HPP
|
||||
#define CREATURELIB_NOTREACHABLEEXCEPTION_HPP
|
||||
|
||||
#include "CreatureException.hpp"
|
||||
|
||||
class NotReachableException : CreatureException {
|
||||
public:
|
||||
NotReachableException() : CreatureException("Not Reachable"){};
|
||||
};
|
||||
|
||||
#endif // CREATURELIB_NOTREACHABLEEXCEPTION_HPP
|
||||
@@ -2,7 +2,7 @@
|
||||
#define CREATURELIB_STATISTICSET_HPP
|
||||
#include <exception>
|
||||
#include <stdint.h>
|
||||
#include "Exceptions/NotReachableException.hpp"
|
||||
#include "Exceptions/CreatureException.hpp"
|
||||
#include "Statistic.hpp"
|
||||
|
||||
namespace CreatureLib::Library {
|
||||
@@ -37,7 +37,7 @@ namespace CreatureLib::Library {
|
||||
case CreatureLib::Library::Statistic::MagicalAttack: return _magicalAttack;
|
||||
case CreatureLib::Library::Statistic::MagicalDefense: return _magicalDefense;
|
||||
case CreatureLib::Library::Statistic::Speed: return _speed;
|
||||
default: throw NotReachableException();
|
||||
default: NOT_REACHABLE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ namespace CreatureLib::Library {
|
||||
case CreatureLib::Library::Statistic::MagicalAttack: _magicalAttack = value; break;
|
||||
case CreatureLib::Library::Statistic::MagicalDefense: _magicalDefense = value; break;
|
||||
case CreatureLib::Library::Statistic::Speed: _speed = value; break;
|
||||
default: throw NotReachableException();
|
||||
default: NOT_REACHABLE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ namespace CreatureLib::Library {
|
||||
case CreatureLib::Library::Statistic::MagicalAttack: _magicalAttack += amount; break;
|
||||
case CreatureLib::Library::Statistic::MagicalDefense: _magicalDefense += amount; break;
|
||||
case CreatureLib::Library::Statistic::Speed: _speed += amount; break;
|
||||
default: throw NotReachableException();
|
||||
default: NOT_REACHABLE;
|
||||
}
|
||||
}
|
||||
inline void DecreaseStatBy(Statistic stat, T amount) {
|
||||
@@ -72,7 +72,7 @@ namespace CreatureLib::Library {
|
||||
case CreatureLib::Library::Statistic::MagicalAttack: _magicalAttack -= amount; break;
|
||||
case CreatureLib::Library::Statistic::MagicalDefense: _magicalDefense -= amount; break;
|
||||
case CreatureLib::Library::Statistic::Speed: _speed -= amount; break;
|
||||
default: throw NotReachableException();
|
||||
default: NOT_REACHABLE;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user