expose more things to lua
This commit is contained in:
@@ -84,20 +84,20 @@ namespace Barotrauma
|
||||
env = e;
|
||||
}
|
||||
|
||||
public static void SendMessage(string msg, int messageType = 0, Client sender = null, Character character = null)
|
||||
public static void SendMessage(string msg, ChatMessageType messageType = ChatMessageType.Server, Client sender = null, Character character = null)
|
||||
{
|
||||
GameMain.Server.SendChatMessage(msg, (ChatMessageType)messageType, sender, character);
|
||||
GameMain.Server.SendChatMessage(msg, messageType, sender, character);
|
||||
}
|
||||
|
||||
public static void SendTraitorMessage(Client client, string msg, int type)
|
||||
public static void SendTraitorMessage(Client client, string msg, TraitorMessageType type)
|
||||
{
|
||||
GameMain.Server.SendTraitorMessage(client, msg, "", (TraitorMessageType)type);
|
||||
GameMain.Server.SendTraitorMessage(client, msg, "", type);
|
||||
}
|
||||
|
||||
public static void SendDirectChatMessage(string sendername, string text, Character sender, int messageType = 0, Client client = null)
|
||||
public static void SendDirectChatMessage(string sendername, string text, Character sender, ChatMessageType messageType = ChatMessageType.Private, Client client = null)
|
||||
{
|
||||
|
||||
ChatMessage cm = ChatMessage.Create(sendername, text, (ChatMessageType)messageType, sender, client);
|
||||
ChatMessage cm = ChatMessage.Create(sendername, text, messageType, sender, client);
|
||||
|
||||
GameMain.Server.SendDirectChatMessage(cm, client);
|
||||
|
||||
@@ -113,9 +113,9 @@ namespace Barotrauma
|
||||
overrideRespawnSub = o;
|
||||
}
|
||||
|
||||
public static void Log(string message, int type)
|
||||
public static void Log(string message, ServerLog.MessageType type)
|
||||
{
|
||||
GameServer.Log(message, (ServerLog.MessageType)type);
|
||||
GameServer.Log(message, type);
|
||||
}
|
||||
|
||||
public static void Explode(Vector2 pos, float range = 100, float force = 30, float damage = 30, float structureDamage = 30, float itemDamage = 30, float empStrength = 0, float ballastFloraStrength = 0)
|
||||
@@ -182,10 +182,36 @@ namespace Barotrauma
|
||||
return GameMain.Server.RespawnManager.RespawnShuttle;
|
||||
}
|
||||
|
||||
public static Items.Components.Steering GetSubmarineSteering(Submarine sub)
|
||||
{
|
||||
foreach (Item item in Item.ItemList)
|
||||
{
|
||||
if (item.Submarine != sub) continue;
|
||||
|
||||
var steering = item.GetComponent<Items.Components.Steering>();
|
||||
if (steering != null)
|
||||
{
|
||||
return steering;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void DispatchRespawnSub()
|
||||
{
|
||||
GameMain.Server.RespawnManager.DispatchShuttle();
|
||||
}
|
||||
|
||||
public static void SetRespawnSubTeam(int team)
|
||||
{
|
||||
GameMain.Server.RespawnManager.RespawnShuttle.TeamID = (CharacterTeamType)team;
|
||||
}
|
||||
|
||||
public static void ExecuteCommand(string command)
|
||||
{
|
||||
DebugConsole.ExecuteCommand(command);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -284,7 +310,11 @@ namespace Barotrauma
|
||||
{
|
||||
try
|
||||
{
|
||||
return env.Call(hf.function, args);
|
||||
var result = env.Call(hf.function, args);
|
||||
if (result.IsNil() == false)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
@@ -83,12 +83,20 @@ namespace Barotrauma
|
||||
{
|
||||
Console.WriteLine("Lua!");
|
||||
|
||||
|
||||
LuaScriptLoader luaScriptLoader = new LuaScriptLoader(this);
|
||||
|
||||
LuaCustomConverters.RegisterAll();
|
||||
|
||||
UserData.RegisterType<Level.InterestingPosition>();
|
||||
UserData.RegisterType<Level.PositionType>();
|
||||
UserData.RegisterType<Level>();
|
||||
UserData.RegisterType<Items.Components.Steering>();
|
||||
UserData.RegisterType<ServerLog.MessageType>();
|
||||
UserData.RegisterType<SpawnType>();
|
||||
UserData.RegisterType<ChatMessageType>();
|
||||
UserData.RegisterType<WayPoint>();
|
||||
UserData.RegisterType<Character>();
|
||||
UserData.RegisterType<Item>();
|
||||
UserData.RegisterType<Submarine>();
|
||||
UserData.RegisterType<Client>();
|
||||
UserData.RegisterType<LuaPlayer>();
|
||||
@@ -112,6 +120,18 @@ namespace Barotrauma
|
||||
lua.Globals["Hook"] = hook;
|
||||
lua.Globals["Random"] = new LuaRandom();
|
||||
lua.Globals["Timer"] = new LuaTimer(this);
|
||||
lua.Globals["WayPoint"] = UserData.CreateStatic<WayPoint>();
|
||||
lua.Globals["SpawnType"] = UserData.CreateStatic<SpawnType>();
|
||||
lua.Globals["ChatMessageType"] = UserData.CreateStatic<ChatMessageType>();
|
||||
lua.Globals["ServerLog_MessageType"] = UserData.CreateStatic<ServerLog.MessageType>();
|
||||
lua.Globals["Submarine"] = UserData.CreateStatic<Submarine>();
|
||||
lua.Globals["Client"] = UserData.CreateStatic<Client>();
|
||||
lua.Globals["Character"] = UserData.CreateStatic<Character>();
|
||||
lua.Globals["Item"] = UserData.CreateStatic<Item>();
|
||||
lua.Globals["Level"] = UserData.CreateStatic<Level>();
|
||||
lua.Globals["Vector2"] = UserData.CreateStatic<Vector2>();
|
||||
lua.Globals["Vector3"] = UserData.CreateStatic<Vector3>();
|
||||
lua.Globals["PositionType"] = UserData.CreateStatic<Level.PositionType>();
|
||||
|
||||
foreach (string d in Directory.GetDirectories("Lua"))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user