mirror of
https://github.com/kwsch/NHSE.git
synced 2026-04-22 00:17:27 -05:00
57 lines
2.7 KiB
C#
57 lines
2.7 KiB
C#
using System.Collections.Generic;
|
||
|
||
namespace NHSE.Core
|
||
{
|
||
/// <summary>
|
||
/// Detail about an item's dimensions
|
||
/// </summary>
|
||
public class ItemSize
|
||
{
|
||
public readonly int Width;
|
||
public readonly int Height;
|
||
|
||
public ItemSize(int w, int h)
|
||
{
|
||
Width = w; Height = h;
|
||
}
|
||
}
|
||
|
||
public static class ItemSizeExtensions
|
||
{
|
||
public const string EnumPrefix = "S_";
|
||
|
||
private static readonly Dictionary<ItemSizeType, ItemSize> Dictionary = new()
|
||
{
|
||
{ItemSizeType.S_1_0x1_0 , new ItemSize( 2, 2)}, // 1x1
|
||
{ItemSizeType.S_2_0x1_0 , new ItemSize( 4, 2)}, // 2x1
|
||
{ItemSizeType.S_2_0x2_0 , new ItemSize( 4, 4)}, // 2x2
|
||
{ItemSizeType.S_3_0x1_0 , new ItemSize( 6, 2)}, // 3x1
|
||
{ItemSizeType.S_3_0x2_0 , new ItemSize( 6, 4)}, // 3x2
|
||
{ItemSizeType.S_3_0x3_0 , new ItemSize( 6, 6)}, // 3x3
|
||
{ItemSizeType.S_1_0x0_5 , new ItemSize( 2, 1)}, // 1x0.5
|
||
{ItemSizeType.S_2_0x0_5 , new ItemSize( 4, 1)}, // 2x0.5
|
||
{ItemSizeType.S_1_5x1_5 , new ItemSize( 3, 3)}, // 1.5x1.5
|
||
{ItemSizeType.S_1_0x0_5_Wall, new ItemSize( 2, 1)}, // 1x0.5(壁)
|
||
{ItemSizeType.S_0_5x1_0_Wall, new ItemSize( 1, 2)}, // 0.5x1(壁)
|
||
{ItemSizeType.S_1_0x1_0_Wall, new ItemSize( 2, 2)}, // 1x1(壁)
|
||
{ItemSizeType.S_1_0x1_5_Wall, new ItemSize( 2, 3)}, // 1x1.5 (壁)
|
||
{ItemSizeType.S_1_0x2_0_Wall, new ItemSize( 2, 4)}, // 1x2 (壁)
|
||
{ItemSizeType.S_2_0x1_0_Wall, new ItemSize( 4, 2)}, // 2x1(壁)
|
||
{ItemSizeType.S_2_0x1_5_Wall, new ItemSize( 4, 3)}, // 2x1.5 (壁)
|
||
{ItemSizeType.S_2_0x2_0_Wall, new ItemSize( 4, 4)}, // 2x2(壁)
|
||
{ItemSizeType.S_1_0x1_0_Rug , new ItemSize( 2, 2)}, // 1x1(ラグ)
|
||
{ItemSizeType.S_2_0x1_0_Rug , new ItemSize( 4, 2)}, // 2x1(ラグ)
|
||
{ItemSizeType.S_2_0x2_0_Rug , new ItemSize( 4, 4)}, // 2x2(ラグ)
|
||
{ItemSizeType.S_3_0x2_0_Rug , new ItemSize( 6, 4)}, // 3x2(ラグ)
|
||
{ItemSizeType.S_3_0x3_0_Rug , new ItemSize( 6, 6)}, // 3x3(ラグ)
|
||
{ItemSizeType.S_4_0x3_0_Rug , new ItemSize( 8, 6)}, // 4x3(ラグ)
|
||
{ItemSizeType.S_4_0x4_0_Rug , new ItemSize( 8, 8)}, // 4x4(ラグ)
|
||
{ItemSizeType.S_5_0x4_0_Rug , new ItemSize(10, 8)}, // 5x4(ラグ)
|
||
{ItemSizeType.S_5_0x5_0_Rug , new ItemSize(10, 10)}, // 5x5(ラグ)
|
||
};
|
||
|
||
public static int GetWidth(this ItemSizeType s) => Dictionary.TryGetValue(s, out var val) ? val.Width : 2;
|
||
public static int GetHeight(this ItemSizeType s) => Dictionary.TryGetValue(s, out var val) ? val.Height : 2;
|
||
}
|
||
}
|