Merge pull request #5845 from Mailaender/new-lua-chatline

Added Media.AddChatLine to the new Lua API
This commit is contained in:
Paul Chote
2014-07-28 16:42:29 +12:00
3 changed files with 33 additions and 0 deletions

View File

@@ -543,6 +543,7 @@
<Compile Include="Widgets\Logic\DebugMenuLogic.cs" />
<Compile Include="Widgets\LabelWithTooltipWidget.cs" />
<Compile Include="ProductionQueueFromSelection.cs" />
<Compile Include="Scripting\Global\MediaGlobal.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\OpenRA.Game\OpenRA.Game.csproj">

View File

@@ -0,0 +1,29 @@
#region Copyright & License Information
/*
* Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information,
* see COPYING.
*/
#endregion
using System.Drawing;
namespace OpenRA.Scripting
{
[ScriptGlobal("Media")]
public class MediaGlobal : ScriptGlobal
{
public MediaGlobal(ScriptContext context) : base(context) { }
[Desc("Display a text message to the player.")]
public void DisplayMessage(string text, string prefix = "Mission") // TODO: expose HSLColor to Lua and add as parameter
{
if (string.IsNullOrEmpty(text))
return;
Game.AddChatLine(Color.White, prefix, text);
}
}
}

View File

@@ -117,6 +117,7 @@ SendUnits = function(entryCell, unitTypes, interval, targetCell)
SendWave()
else
Trigger.AfterDelay(3000, SovietsRetreating)
Media.DisplayMessage("You survived the onslaught!")
end
end
@@ -129,6 +130,8 @@ SendWave = function()
local units = wave[3]
local target = Utils.Random(wave[4]).Location
Media.DisplayMessage("Defend Fort Lonestar at all costs!")
print(string.format("Sending wave %i in %i.", Wave, delay))
Trigger.AfterDelay(delay, function() SendUnits(entry, units, 40, target) end)
end