mirror of
https://github.com/kwsch/NHSE.git
synced 2026-06-16 04:50:01 -05:00
Faster tile fetch on click
essentially negligible speed improvement, but improved readability
This commit is contained in:
parent
0d979a8b7b
commit
5491ab3ac5
|
|
@ -119,17 +119,17 @@ private Button CreateGridItem(int index, int x, int y)
|
|||
|
||||
button.Click += (sender, args) =>
|
||||
{
|
||||
GetTile(button, out var tile, out var obj);
|
||||
var tile = GetTile(Layer, index);
|
||||
switch (ModifierKeys)
|
||||
{
|
||||
default: ViewTile(tile); return;
|
||||
case Keys.Shift: SetTile(tile, obj); return;
|
||||
case Keys.Alt: DeleteTile(tile, obj); return;
|
||||
case Keys.Shift: SetTile(tile, button); return;
|
||||
case Keys.Alt: DeleteTile(tile, button); return;
|
||||
}
|
||||
};
|
||||
button.MouseEnter += (sender, args) =>
|
||||
{
|
||||
GetTile(button, out var tile, out var obj);
|
||||
var tile = GetTile(Layer, index);
|
||||
var str = GameInfo.Strings;
|
||||
var name = str.GetItemName(tile.DisplayItemId);
|
||||
TT_Hover.SetToolTip(button, name);
|
||||
|
|
@ -196,10 +196,14 @@ private void GetTile(object sender, out FieldItem tile, out Button obj)
|
|||
if (index < 0)
|
||||
throw new ArgumentException(nameof(Button));
|
||||
|
||||
var layer = Layer;
|
||||
var x = X + (index % GridWidth);
|
||||
var y = Y + (index / GridWidth);
|
||||
tile = layer.GetTile(x, y);
|
||||
tile = GetTile(Layer, index);
|
||||
}
|
||||
|
||||
private FieldItem GetTile(FieldItemLayer layer, int index)
|
||||
{
|
||||
var x = X + (index % layer.GridWidth);
|
||||
var y = Y + (index / layer.GridWidth);
|
||||
return layer.GetTile(x, y);
|
||||
}
|
||||
|
||||
private static void RefreshTile(Control button, FieldItem tile)
|
||||
|
|
|
|||
|
|
@ -113,12 +113,12 @@ private Button CreateGridItem(int index, int x, int y)
|
|||
|
||||
button.Click += (sender, args) =>
|
||||
{
|
||||
GetTile(button, out var tile, out var obj);
|
||||
var tile = GetTile(index);
|
||||
switch (ModifierKeys)
|
||||
{
|
||||
default: ViewTile(tile); return;
|
||||
case Keys.Shift: SetTile(tile, obj); return;
|
||||
case Keys.Alt: DeleteTile(tile, obj); return;
|
||||
case Keys.Shift: SetTile(tile, button); return;
|
||||
case Keys.Alt: DeleteTile(tile, button); return;
|
||||
}
|
||||
};
|
||||
return button;
|
||||
|
|
@ -180,9 +180,14 @@ private void GetTile(object sender, out TerrainTile tile, out Button obj)
|
|||
if (index < 0)
|
||||
throw new ArgumentException(nameof(Button));
|
||||
|
||||
tile = GetTile(index);
|
||||
}
|
||||
|
||||
private TerrainTile GetTile(int index)
|
||||
{
|
||||
var x = X + (index % GridWidth);
|
||||
var y = Y + (index / GridWidth);
|
||||
tile = Terrain.GetTile(x, y);
|
||||
return Terrain.GetTile(x, y);
|
||||
}
|
||||
|
||||
private static void RefreshTile(Control button, TerrainTile tile)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user