using MoonSharp.Interpreter;
namespace Barotrauma.LuaCs.Services.Safe;
///
/// Service for providing stateful functions and in-memory storage for lua functions
///
public interface ILuaDataService : ILuaService
{
///
/// Returns stored table for the given object if it exists.
///
///
///
/// The table data or null if none exists.
Table GetObjectTable(object obj, string tableName);
///
/// Returns stored table data under the given name if it exists.
///
///
/// The table data or null if none exists.
Table GetTable(string tableName);
///
/// Returns stored table data for the given object or creates a new table if one doesn't exist.
///
///
///
///
Table GetOrCreateObjectTable(object obj, string tableName);
///
/// Returns stored table data or creates a new table if one doesn't exist.
///
///
///
Table GetOrCreateTable(string tableName);
}