separated Lua source by client, server and shared
github desktop bugged
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
using MoonSharp.Interpreter;
|
||||
using MoonSharp.Interpreter.Loaders;
|
||||
|
||||
namespace Barotrauma
|
||||
{
|
||||
partial class LuaSetup {
|
||||
|
||||
public class LuaScriptLoader : ScriptLoaderBase
|
||||
{
|
||||
public LuaSetup lua;
|
||||
|
||||
public LuaScriptLoader(LuaSetup l)
|
||||
{
|
||||
lua = l;
|
||||
}
|
||||
|
||||
|
||||
public override object LoadFile(string file, Table globalContext)
|
||||
{
|
||||
return File.ReadAllText(file);
|
||||
}
|
||||
|
||||
public override bool ScriptFileExists(string file)
|
||||
{
|
||||
return File.Exists(file);
|
||||
}
|
||||
|
||||
public void RunFolder(string folder)
|
||||
{
|
||||
foreach (var str in DirSearch(folder))
|
||||
{
|
||||
var s = str.Replace("\\", "/");
|
||||
|
||||
if (s.EndsWith(".lua"))
|
||||
{
|
||||
lua.PrintMessage(s);
|
||||
|
||||
try
|
||||
{
|
||||
lua.DoFile(s);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
lua.HandleLuaException(e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
static string[] DirSearch(string sDir)
|
||||
{
|
||||
List<string> files = new List<string>();
|
||||
|
||||
try
|
||||
{
|
||||
foreach (string f in Directory.GetFiles(sDir))
|
||||
{
|
||||
files.Add(f);
|
||||
}
|
||||
|
||||
foreach (string d in Directory.GetDirectories(sDir))
|
||||
{
|
||||
foreach (string f in Directory.GetFiles(d))
|
||||
{
|
||||
files.Add(f);
|
||||
}
|
||||
DirSearch(d);
|
||||
}
|
||||
}
|
||||
catch (System.Exception excpt)
|
||||
{
|
||||
Console.WriteLine(excpt.Message);
|
||||
}
|
||||
|
||||
return files.ToArray();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user