本文整理汇总了C#中EditorMap.AddLight方法的典型用法代码示例。如果您正苦于以下问题:C# EditorMap.AddLight方法的具体用法?C# EditorMap.AddLight怎么用?C# EditorMap.AddLight使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EditorMap
的用法示例。
在下文中一共展示了EditorMap.AddLight方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MapContainer_MouseDown
/// <summary>
/// Handles when a mouse button is pressed on a map.
/// </summary>
/// <param name="sender">The <see cref="IToolTargetMapContainer"/> the event came from. Cannot be null.</param>
/// <param name="map">The <see cref="EditorMap"/>. Cannot be null.</param>
/// <param name="camera">The <see cref="ICamera2D"/>. Cannot be null.</param>
/// <param name="e">The <see cref="System.Windows.Forms.MouseEventArgs"/> instance containing the event data. Cannot be null.</param>
protected override void MapContainer_MouseDown(IToolTargetMapContainer sender, EditorMap map, ICamera2D camera,
MouseEventArgs e)
{
base.MapContainer_MouseDown(sender, map, camera, e);
if (IsSelecting)
return;
// Left-click
if (e.Button == MouseButtons.Left)
{
// Place light
if (Input.IsKeyDown(_placeLightKey))
{
var msc = MapScreenControl.TryFindInstance(map);
if (msc != null)
{
var dm = msc.DrawingManager;
if (dm != null)
{
var pos = camera.ToWorld(e.Position());
pos = GridAligner.Instance.Align(pos);
var light = new Light { Center = pos, IsEnabled = true, Tag = map };
map.AddLight(light);
dm.LightManager.Add(light);
}
}
}
}
}