2019-11-18 07:29:17 +00:00
|
|
|
#ifndef CREATURELIB_SCRIPTRESOLVER_HPP
|
|
|
|
#define CREATURELIB_SCRIPTRESOLVER_HPP
|
|
|
|
|
2021-03-07 10:24:45 +00:00
|
|
|
#include "../../Library/Items/Item.hpp"
|
2021-03-07 09:26:41 +00:00
|
|
|
#include "BattleScript.hpp"
|
2021-03-07 09:54:42 +00:00
|
|
|
#include "ItemUseScript.hpp"
|
2020-02-20 12:05:15 +00:00
|
|
|
#include "ScriptCategory.hpp"
|
2019-11-18 07:29:17 +00:00
|
|
|
|
2019-11-28 11:55:22 +00:00
|
|
|
namespace CreatureLib::Battling {
|
2020-01-11 10:35:59 +00:00
|
|
|
class BattleLibrary;
|
|
|
|
|
2019-11-18 07:29:17 +00:00
|
|
|
class ScriptResolver {
|
|
|
|
public:
|
2021-03-07 09:54:42 +00:00
|
|
|
ScriptResolver() {}
|
|
|
|
NO_COPY_OR_MOVE(ScriptResolver)
|
|
|
|
|
2019-11-18 07:29:17 +00:00
|
|
|
virtual ~ScriptResolver() = default;
|
|
|
|
|
2020-07-17 11:12:21 +00:00
|
|
|
virtual void Initialize([[maybe_unused]] BattleLibrary* library){};
|
2021-10-29 19:40:10 +00:00
|
|
|
virtual BattleScript* LoadScript([[maybe_unused]] const ArbUt::OptionalBorrowedPtr<void>& owner,
|
|
|
|
[[maybe_unused]] ScriptCategory category,
|
2021-03-07 09:26:41 +00:00
|
|
|
[[maybe_unused]] const ArbUt::StringView& scriptName) {
|
2020-07-17 11:12:21 +00:00
|
|
|
return nullptr;
|
|
|
|
};
|
2021-03-07 09:54:42 +00:00
|
|
|
|
2021-03-07 10:24:45 +00:00
|
|
|
virtual ItemUseScript* LoadItemScript([[maybe_unused]] const CreatureLib::Library::Item* item) {
|
|
|
|
return nullptr;
|
|
|
|
};
|
2019-11-18 07:29:17 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2019-11-28 11:55:22 +00:00
|
|
|
#endif // CREATURELIB_SCRIPTRESOLVER_HPP
|