1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-26 18:35:20 +00:00

97 lines
2.9 KiB
C++
Raw Normal View History

2010-06-28 19:20:45 +02:00
#ifndef INTERPRETER_CONTEXT_H_INCLUDED
#define INTERPRETER_CONTEXT_H_INCLUDED
#include <components/esm/refid.hpp>
2010-07-02 18:08:00 +02:00
#include <string>
2022-05-21 10:48:32 +02:00
#include <string_view>
2010-07-02 18:08:00 +02:00
#include <vector>
2010-06-28 19:20:45 +02:00
namespace Interpreter
{
class Context
{
2022-09-22 21:26:05 +03:00
public:
virtual ~Context() {}
virtual ESM::RefId getTarget() const = 0;
2022-09-22 21:26:05 +03:00
virtual int getLocalShort(int index) const = 0;
2021-02-14 16:25:38 +01:00
2022-09-22 21:26:05 +03:00
virtual int getLocalLong(int index) const = 0;
2022-09-22 21:26:05 +03:00
virtual float getLocalFloat(int index) const = 0;
2022-09-22 21:26:05 +03:00
virtual void setLocalShort(int index, int value) = 0;
2022-09-22 21:26:05 +03:00
virtual void setLocalLong(int index, int value) = 0;
2022-09-22 21:26:05 +03:00
virtual void setLocalFloat(int index, float value) = 0;
2022-09-22 21:26:05 +03:00
virtual void messageBox(std::string_view message, const std::vector<std::string>& buttons) = 0;
2022-09-22 21:26:05 +03:00
void messageBox(std::string_view message)
{
std::vector<std::string> empty;
messageBox(message, empty);
}
2022-09-22 21:26:05 +03:00
virtual void report(const std::string& message) = 0;
2022-09-22 21:26:05 +03:00
virtual int getGlobalShort(std::string_view name) const = 0;
2022-09-22 21:26:05 +03:00
virtual int getGlobalLong(std::string_view name) const = 0;
2022-09-22 21:26:05 +03:00
virtual float getGlobalFloat(std::string_view name) const = 0;
2022-09-22 21:26:05 +03:00
virtual void setGlobalShort(std::string_view name, int value) = 0;
2022-09-22 21:26:05 +03:00
virtual void setGlobalLong(std::string_view name, int value) = 0;
2022-09-22 21:26:05 +03:00
virtual void setGlobalFloat(std::string_view name, float value) = 0;
2022-09-22 21:26:05 +03:00
virtual std::vector<std::string> getGlobals() const = 0;
2022-09-22 21:26:05 +03:00
virtual char getGlobalType(std::string_view name) const = 0;
2022-09-22 21:26:05 +03:00
virtual std::string getActionBinding(std::string_view action) const = 0;
2022-09-22 21:26:05 +03:00
virtual std::string_view getActorName() const = 0;
2022-09-22 21:26:05 +03:00
virtual std::string_view getNPCRace() const = 0;
2022-09-22 21:26:05 +03:00
virtual std::string_view getNPCClass() const = 0;
2022-09-22 21:26:05 +03:00
virtual std::string_view getNPCFaction() const = 0;
2022-09-22 21:26:05 +03:00
virtual std::string_view getNPCRank() const = 0;
2022-09-22 21:26:05 +03:00
virtual std::string_view getPCName() const = 0;
2022-09-22 21:26:05 +03:00
virtual std::string_view getPCRace() const = 0;
2022-09-22 21:26:05 +03:00
virtual std::string_view getPCClass() const = 0;
2022-09-22 21:26:05 +03:00
virtual std::string_view getPCRank() const = 0;
2022-09-22 21:26:05 +03:00
virtual std::string_view getPCNextRank() const = 0;
2022-09-22 21:26:05 +03:00
virtual int getPCBounty() const = 0;
2022-09-22 21:26:05 +03:00
virtual std::string_view getCurrentCellName() const = 0;
virtual int getMemberShort(ESM::RefId id, std::string_view name, bool global) const = 0;
virtual int getMemberLong(ESM::RefId id, std::string_view name, bool global) const = 0;
virtual float getMemberFloat(ESM::RefId id, std::string_view name, bool global) const = 0;
virtual void setMemberShort(ESM::RefId id, std::string_view name, int value, bool global) = 0;
virtual void setMemberLong(ESM::RefId id, std::string_view name, int value, bool global) = 0;
virtual void setMemberFloat(ESM::RefId id, std::string_view name, float value, bool global) = 0;
2010-06-28 19:20:45 +02:00
};
}
#endif