using System; using System.Collections.Immutable; using System.Reflection; using Barotrauma.LuaCs.Data; using Microsoft.CodeAnalysis; namespace Barotrauma.LuaCs.Services; public interface IPluginManagementService : IReusableService { /// /// Checks if an assembly with either the fully-qualified name globally or a 'friendly name' within loaded plugins /// with the given name is loaded. /// /// /// bool IsAssemblyLoadedGlobal(string friendlyName); // TODO: Documentation. FluentResults.Result> GetTypes( ContentPackage package = null, string namespacePrefix = null, bool includeInterfaces = false, bool includeAbstractTypes = false, bool includeDefaultContext = true, bool includeExplicitAssembliesOnly = false); /// /// Gets the assembly MetadataReference collection for the BCL and base game assemblies. /// /// ImmutableArray GetStandardMetadataReferences(); /// /// /// /// ImmutableArray GetPluginMetadataReferences(); /// /// /// /// /// FluentResults.Result> GetCachedAssembliesForPackage(ContentPackage package); /// /// /// /// /// Success/Failure and list of failed resources, if any. FluentResults.Result> LoadAssemblyResources(ImmutableArray resource); }