Skip to content

Commit 3c6c967

Browse files
committed
Adds localisation back to SnapBuilder via BepInEx config
1 parent cabb5cc commit 3c6c967

6 files changed

+73
-17
lines changed

Tobey.SnapBuilder/Config.cs

+54
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,60 @@ public static class Config
77
{
88
internal static ConfigFile Cfg => SnapBuilder.Instance.Config;
99

10+
public static class Localisation
11+
{
12+
public static void Initialise() { }
13+
14+
public static ConfigEntry<string> ToggleSnapping { get; } =
15+
Cfg.Bind(
16+
section: nameof(Localisation),
17+
key: nameof(ToggleSnapping),
18+
defaultValue: "Snapping"
19+
);
20+
21+
public static ConfigEntry<string> ToggleFineSnapping { get; } =
22+
Cfg.Bind(
23+
section: nameof(Localisation),
24+
key: nameof(ToggleFineSnapping),
25+
defaultValue: "Fine snapping"
26+
);
27+
28+
public static ConfigEntry<string> ToggleRotation { get; } =
29+
Cfg.Bind(
30+
section: nameof(Localisation),
31+
key: nameof(ToggleRotation),
32+
defaultValue: "Rotation"
33+
);
34+
35+
public static ConfigEntry<string> ToggleFineRotation { get; } =
36+
Cfg.Bind(
37+
section: nameof(Localisation),
38+
key: nameof(ToggleFineRotation),
39+
defaultValue: "Fine rotation"
40+
);
41+
42+
public static ConfigEntry<string> HolsterItem { get; } =
43+
Cfg.Bind(
44+
section: nameof(Localisation),
45+
key: nameof(HolsterItem),
46+
defaultValue: "Holster item"
47+
);
48+
49+
public static ConfigEntry<string> DetailedCollider { get; } =
50+
Cfg.Bind(
51+
section: nameof(Localisation),
52+
key: nameof(DetailedCollider),
53+
defaultValue: "Detailed collider"
54+
);
55+
56+
public static ConfigEntry<string> OriginalCollider { get; } =
57+
Cfg.Bind(
58+
section: nameof(Localisation),
59+
key: nameof(OriginalCollider),
60+
defaultValue: "Original collider"
61+
);
62+
}
63+
1064
public static class General
1165
{
1266
public static ConfigEntry<bool> DisplayControlHints { get; } =

Tobey.SnapBuilder/Patches/BuilderPatch.cs

+5-5
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ public static void BeginHintsPrefix(out bool __state)
1818

1919
if (__state)
2020
{
21-
ControlHint.Show("Snapping", Toggles.Snapping);
22-
ControlHint.Show("Fine snapping", Toggles.FineSnapping);
21+
ControlHint.Show(Localisation.ToggleSnapping.Value, Toggles.Snapping);
22+
ControlHint.Show(Localisation.ToggleFineSnapping.Value, Toggles.FineSnapping);
2323
}
2424
}
2525

@@ -31,14 +31,14 @@ public static void BeginHintsPostfix(bool __state)
3131
{
3232
if (__state && Builder.rotationEnabled)
3333
{
34-
ControlHint.Show("Fine rotation", Toggles.FineRotation);
34+
ControlHint.Show(Localisation.ToggleFineRotation.Value, Toggles.FineRotation);
3535
}
3636

3737
if (__state && (ColliderCache?.Record?.IsImprovable ?? false))
3838
{
3939
string hintId = ColliderCache.Record.IsImproved
40-
? "Original collider"
41-
: "Detailed collider";
40+
? Localisation.OriginalCollider.Value
41+
: Localisation.DetailedCollider.Value;
4242
ControlHint.Show(hintId, Toggles.DetailedColliders);
4343
}
4444
}

Tobey.SnapBuilder/Patches/BuilderTool_GetCustomUseText_Patch.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -80,29 +80,29 @@ public static string GetCustomUseTextPostfix(string customUseText, object __inst
8080
customUseText = customUseTextField.GetValue<string>();
8181

8282
List<string> lines = customUseText.Split('\n').ToList();
83-
lines[0] += $", {ControlHint.Get("Snapping", Toggles.Snapping)}";
83+
lines[0] += $", {ControlHint.Get(Localisation.ToggleSnapping.Value, Toggles.Snapping)}";
8484

8585
if (Toggles.Snapping.IsEnabled)
8686
{
87-
lines.Insert(1, ControlHint.Get("Fine snapping", Toggles.FineSnapping));
87+
lines.Insert(1, ControlHint.Get(Localisation.ToggleFineSnapping.Value, Toggles.FineSnapping));
8888

8989
if (Builder.rotationEnabled
9090
&& (!__state.WereHintsEnabled
9191
|| !__state.WasPlacingRotatable
9292
|| (IsSnappingEnabled && !__state.WasSnappingEnabled)))
9393
{
94-
lines[1] += $", {ControlHint.Get("Fine rotation", Toggles.FineRotation)}";
94+
lines[1] += $", {ControlHint.Get(Localisation.ToggleFineRotation.Value, Toggles.FineRotation)}";
9595
}
96-
96+
9797
if (IsColliderImprovable
9898
&& (!__state.WereHintsEnabled
9999
|| !__state.WasColliderImprovable
100100
|| IsColliderImproved != __state.WasColliderImproved
101101
|| (IsSnappingEnabled && !__state.WasSnappingEnabled)))
102102
{
103103
string hint = IsColliderImproved
104-
? "Original collider"
105-
: "Detailed collider";
104+
? Localisation.OriginalCollider.Value
105+
: Localisation.DetailedCollider.Value;
106106
lines[0] += $", {ControlHint.Get(hint, Toggles.DetailedColliders)}";
107107
}
108108
}

Tobey.SnapBuilder/Patches/PlaceToolPatch.cs

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ public static void CreateGhostModelPrefix(PlaceTool __instance, ref bool __state
1616

1717
if (__state && General.DisplayControlHints.Value)
1818
{
19-
ControlHint.Show("Snapping", Toggles.Snapping);
20-
ControlHint.Show("Fine snapping", Toggles.FineSnapping);
19+
ControlHint.Show(Localisation.ToggleSnapping.Value, Toggles.Snapping);
20+
ControlHint.Show(Localisation.ToggleFineSnapping.Value, Toggles.FineSnapping);
2121
}
2222
}
2323

@@ -28,9 +28,9 @@ public static void CreateGhostModelPostfix(PlaceTool __instance, bool __state)
2828
{
2929
if (__state && General.DisplayControlHints.Value && __instance.rotationEnabled)
3030
{
31-
ControlHint.Show("Rotation", Toggles.Rotation);
32-
ControlHint.Show("Fine rotation", Toggles.FineRotation);
33-
ControlHint.Show("Holster item", GameInput.Button.Exit);
31+
ControlHint.Show(Localisation.ToggleRotation.Value, Toggles.Rotation);
32+
ControlHint.Show(Localisation.ToggleFineRotation.Value, Toggles.FineRotation);
33+
ControlHint.Show(Localisation.HolsterItem.Value, GameInput.Button.Exit);
3434
}
3535
}
3636
#endregion

Tobey.SnapBuilder/SnapBuilder.cs

+2
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ private void Awake()
4444
}
4545
}
4646

47+
private void Start() => Localisation.Initialise();
48+
4749
private void OnEnable()
4850
{
4951
Toggles.Bind();

Tobey.SnapBuilder/Tobey.SnapBuilder.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<TargetFramework>net472</TargetFramework>
55
<AssemblyName>Tobey.SnapBuilder</AssemblyName>
66
<Description>Snap-to-Grid for Subnautica!</Description>
7-
<Version>2.1.0</Version>
7+
<Version>2.2.0</Version>
88
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
99
<LangVersion>10.0</LangVersion>
1010
<Product>SnapBuilder</Product>

0 commit comments

Comments
 (0)