#ifndef CREATURELIB_SCRIPTRESOLVER_HPP #define CREATURELIB_SCRIPTRESOLVER_HPP #include #include "../../Library/Items/Item.hpp" #include "BattleScript.hpp" #include "ItemUseScript.hpp" #include "ScriptCategory.hpp" namespace CreatureLib::Battling { class BattleLibrary; class ScriptResolver { public: ScriptResolver() {} NO_COPY_OR_MOVE(ScriptResolver) virtual ~ScriptResolver() = default; virtual void Initialize([[maybe_unused]] BattleLibrary* library){}; virtual BattleScript* LoadScript([[maybe_unused]] const ArbUt::OptionalBorrowedPtr& owner, [[maybe_unused]] ScriptCategory category, [[maybe_unused]] const ArbUt::StringView& scriptName) { return nullptr; }; virtual ItemUseScript* LoadItemScript([[maybe_unused]] const CreatureLib::Library::Item* item) { return nullptr; }; }; } #endif // CREATURELIB_SCRIPTRESOLVER_HPP