LeviLamina
Loading...
Searching...
No Matches
ScriptPlugin.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/resource/ResourceInformation.h"
7#include "mc/deps/scripting/runtime/IDependencyLoader.h"
8#include "mc/scripting/PluginExecutionGroup.h"
9
10// auto generated forward declare list
11// clang-format off
14struct PackIdVersion;
15namespace Scripting { struct Capabilities; }
16namespace Scripting { struct ModuleBinding; }
17namespace Scripting { struct ModuleDescriptor; }
18namespace Scripting { struct ScriptData; }
19// clang-format on
20
22public:
23 // member variables
24 // NOLINTBEGIN
40 // NOLINTEND
41
42public:
43 // prevent constructor by default
44 ScriptPlugin& operator=(ScriptPlugin const&);
47
48public:
49 // virtual functions
50 // NOLINTBEGIN
51 // vIndex: 0
52 virtual ~ScriptPlugin() /*override*/;
53
54 // vIndex: 1
55 virtual ::std::optional<::Scripting::ScriptData> onLoadScript(
56 ::std::string const& name,
57 ::std::optional<::std::vector<::Scripting::ModuleBinding>> moduleBindings
58 ) /*override*/;
59 // NOLINTEND
60
61public:
62 // member functions
63 // NOLINTBEGIN
64 MCAPI ScriptPlugin(
65 ::std::shared_ptr<::IScriptPluginSource> pluginSource,
67 ::std::vector<::Scripting::ModuleDescriptor>&& moduleDependencies,
68 ::Scripting::Capabilities&& capabilities,
69 ::MinEngineVersion const& minEngineVersion,
70 ::PackIdVersion const& packId,
71 ::std::string const& runtimeName,
72 ::std::string const& mainScriptFilePath,
73 ::ResourceInformation::ResourceType pluginType,
74 ::PluginExecutionGroup executionGroup
75 );
76
77 MCAPI ::std::optional<::Scripting::ScriptData> _loadScript(::std::string const& fileName);
78
79 MCAPI void enableHandleCounter(bool enabled);
80 // NOLINTEND
81
82public:
83 // constructor thunks
84 // NOLINTBEGIN
85 MCAPI void* $ctor(
86 ::std::shared_ptr<::IScriptPluginSource> pluginSource,
88 ::std::vector<::Scripting::ModuleDescriptor>&& moduleDependencies,
89 ::Scripting::Capabilities&& capabilities,
90 ::MinEngineVersion const& minEngineVersion,
91 ::PackIdVersion const& packId,
92 ::std::string const& runtimeName,
93 ::std::string const& mainScriptFilePath,
94 ::ResourceInformation::ResourceType pluginType,
95 ::PluginExecutionGroup executionGroup
96 );
97 // NOLINTEND
98
99public:
100 // destructor thunk
101 // NOLINTBEGIN
102 MCAPI void $dtor();
103 // NOLINTEND
104
105public:
106 // virtual function thunks
107 // NOLINTBEGIN
108 MCAPI ::std::optional<::Scripting::ScriptData>
109 $onLoadScript(::std::string const& name, ::std::optional<::std::vector<::Scripting::ModuleBinding>> moduleBindings);
110 // NOLINTEND
111
112public:
113 // vftables
114 // NOLINTBEGIN
115 MCAPI static void** $vftable();
116 // NOLINTEND
117};
Definition IScriptPluginSource.h:10
Definition MinEngineVersion.h:10
Definition ScriptPlugin.h:21
Definition IDependencyLoader.h:13
Definition PackIdVersion.h:14
Definition Capabilities.h:7
Definition ModuleDescriptor.h:7
Definition Alias.h:14