Skip to content

Commit

Permalink
Merge branch 'Beta' into Translation
Browse files Browse the repository at this point in the history
  • Loading branch information
MacSergey committed Jun 13, 2023
2 parents efdc22d + 2d7c8b3 commit 5cac2dc
Show file tree
Hide file tree
Showing 10 changed files with 65 additions and 9 deletions.
4 changes: 2 additions & 2 deletions IMT/IntersectionMarkingTool.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@
</PropertyGroup>

<PropertyGroup>
<AssemblyVersion>1.14.0.1153</AssemblyVersion>
<AssemblyVersion>1.14.0.1159</AssemblyVersion>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)' == 'Stable Release' OR '$(Configuration)' == 'Stable Debug'">
<AssemblyVersion>1.14.2</AssemblyVersion>
<AssemblyVersion>1.14.3</AssemblyVersion>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Stable Release|AnyCPU'">
Expand Down
2 changes: 1 addition & 1 deletion IMT/MarkingItems/Filler/Style/2D/Asphalt.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

namespace IMT.Manager
{
public class AsphaltFillerStyle : BaseFillerStyle, IColorStyle
public class AsphaltFillerStyle : BaseFillerStyle, IColorStyle, IThemeFiller
{
public override StyleType Type => StyleType.FillerAsphalt;
public override MarkingLOD SupportLOD => MarkingLOD.LOD0 | MarkingLOD.LOD1;
Expand Down
2 changes: 1 addition & 1 deletion IMT/MarkingItems/Filler/Style/3D/CustomTexture.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

namespace IMT.Manager
{
public class CustomTextureFillerStyle : CurbFillerStyle
public class CustomTextureFillerStyle : CurbFillerStyle, IThemeFiller
{
public override StyleType Type => StyleType.FillerTexture;
public override MarkingLOD SupportLOD => MarkingLOD.LOD0 | MarkingLOD.LOD1;
Expand Down
1 change: 1 addition & 0 deletions IMT/MarkingItems/Filler/Style/Base/BaseFillerStyle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ public interface IFollowGuideFiller : IGuideFiller
{
PropertyValue<bool> FollowGuides { get; }
}
public interface IThemeFiller { }
public abstract class BaseFillerStyle : Style<BaseFillerStyle>, IFillerStyle
{
public static float DefaultAngle => 0f;
Expand Down
2 changes: 1 addition & 1 deletion IMT/MarkingItems/Filler/Style/Base/MeshFillerStyle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

namespace IMT.Manager
{
public abstract class MeshFillerStyle : BaseFillerStyle
public abstract class MeshFillerStyle : BaseFillerStyle, IThemeFiller
{
public PropertyThemeValue PavementTheme { get; }
public PropertyValue<float> Elevation { get; }
Expand Down
2 changes: 1 addition & 1 deletion IMT/MarkingItems/Filler/Style/Base/ThemeFillerStyle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

namespace IMT.Manager
{
public abstract class ThemeFillerStyle : CurbFillerStyle
public abstract class ThemeFillerStyle : CurbFillerStyle, IThemeFiller
{
public PropertyThemeValue Theme { get; }
protected abstract ThemeHelper.TextureType TextureType { get; }
Expand Down
52 changes: 51 additions & 1 deletion IMT/Mod.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ public class Mod : BasePatcherMod<Mod>
protected override string IdRaw => "IntersectionMarkingTool";
public override List<ModVersion> Versions { get; } = new List<ModVersion>
{
new ModVersion(new Version(1,14,3), new DateTime(2023, 6, 13)),
new ModVersion(new Version(1,14,2), new DateTime(2023, 5, 27)),
new ModVersion(new Version(1,14,1), new DateTime(2023, 4, 15)),
new ModVersion(new Version(1,14), new DateTime(2023, 4, 1)),
Expand Down Expand Up @@ -64,7 +65,7 @@ public class Mod : BasePatcherMod<Mod>
new ModVersion(new Version(1,1), new DateTime(2020, 7, 14)),
new ModVersion(new Version(1,0), new DateTime(2020, 7, 7)),
};
protected override Version RequiredGameVersion => new Version(1, 17, 0, 3);
protected override Version RequiredGameVersion => new Version(1, 17, 1, 2);

public override string NameRaw => "Intersection Marking Tool";
public override string Description => !IsBeta ? Localize.Mod_Description : CommonLocalize.Mod_DescriptionBeta;
Expand Down Expand Up @@ -115,6 +116,8 @@ protected override bool PatchProcess()
PatchNetInfo(ref success);
PatchLoading(ref success);

success &= Patch_ThemeMixer_TerrainTexture();

return success;
}

Expand Down Expand Up @@ -627,6 +630,53 @@ private static bool PackageHelperResolveLegacyTypeHandlerPrefix(string type, ref

#endregion

#region OTHERS

private bool Patch_ThemeMixer_TerrainTexture()
{
if (AccessTools.TypeByName("ThemeMixer.Themes.Terrain.TerrainTexture") is Type type)
return AddPostfix(typeof(Mod), nameof(Mod.ThemeMixer_TerrainTexture_Postfix), type, "LoadValue");
else
{
Logger.Error($"Theme mixer is not found, patch skiped");
return true;
}
}
private static void ThemeMixer_TerrainTexture_Postfix()
{
if (SingletonManager<NodeMarkingManager>.Exist)
{
for (int i = 0; i < NetManager.MAX_NODE_COUNT; i += 1)
{
if (SingletonManager<NodeMarkingManager>.Instance.TryGetMarking((ushort)i, out var marking))
{
foreach (var filler in marking.Fillers)
{
if (filler.Style.Value is IThemeFiller)
marking.Update(filler, true, false);
}
}
}
}

if (SingletonManager<SegmentMarkingManager>.Exist)
{
for (int i = 0; i < NetManager.MAX_SEGMENT_COUNT; i += 1)
{
if (SingletonManager<SegmentMarkingManager>.Instance.TryGetMarking((ushort)i, out var marking))
{
foreach (var filler in marking.Fillers)
{
if (filler.Style.Value is IThemeFiller)
marking.Update(filler, true, false);
}
}
}
}
}

#endregion

#endregion
}

Expand Down
5 changes: 5 additions & 0 deletions IMT/Properties/Localize.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2879,5 +2879,10 @@ public class Localize
/// Recalculate all markings
/// </summary>
public static string Settings_RecalculateMarkings => LocaleManager.GetString("Settings_RecalculateMarkings", Culture);

/// <summary>
/// [FIXED] Update fillers texture when map theme is changed in Theme Mixer mod.
/// </summary>
public static string Mod_WhatsNewMessage1_14_3 => LocaleManager.GetString("Mod_WhatsNewMessage1_14_3", Culture);
}
}
2 changes: 1 addition & 1 deletion Workshop/Workshop description.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[img]https://i.imgur.com/a0VrMRr.png[/img]
[img]https://i.imgur.com/0O9w9Ta.png[/img]
[HR][/HR]
[url=https://github.com/MacSergey/NodeMarkup/wiki][img]https://i.imgur.com/fkaKgIp.png[/img][/url]
[code][h1]Overview[/h1]
Expand Down

0 comments on commit 5cac2dc

Please sign in to comment.