From 2a30b18a91d0038af5ad3eeb796a5d45ed83bdab Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Sun, 15 Jun 2025 04:21:29 -0400 Subject: [PATCH 01/16] Create English_settings.jecs --- LWGlass/languages/English/English_settings.jecs | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 LWGlass/languages/English/English_settings.jecs diff --git a/LWGlass/languages/English/English_settings.jecs b/LWGlass/languages/English/English_settings.jecs new file mode 100644 index 0000000..5539a4f --- /dev/null +++ b/LWGlass/languages/English/English_settings.jecs @@ -0,0 +1,6 @@ +LW_Mods.LW_Glass.GlassTransparency: "Glass Transparency" + +LW_Mods.LW_Glass.GlassTransparency.Description: """ + Transparency of the Glass Material. + \* No specified length. + """ From 2d69eac8604b895359738b72336f7766cb6dfb12 Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Sun, 15 Jun 2025 04:26:12 -0400 Subject: [PATCH 02/16] Create LWGlass_settingsdata.jecs --- LWGlass/settings/LWGlass_settingsdata.jecs | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 LWGlass/settings/LWGlass_settingsdata.jecs diff --git a/LWGlass/settings/LWGlass_settingsdata.jecs b/LWGlass/settings/LWGlass_settingsdata.jecs new file mode 100644 index 0000000..726dcd4 --- /dev/null +++ b/LWGlass/settings/LWGlass_settingsdata.jecs @@ -0,0 +1,8 @@ +RetroLights.DisplayEffect.DisplayIntensity: + Page: Graphics + Heading: LW_Glass + Min: 15 + Max: 85 + SliderInterval: 1 + DecimalPlacesToDisplay: 0 + PerformanceImpact: Low From dfa5aa7858377c7c362bd6c94192ef014d1723cd Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Sun, 15 Jun 2025 04:29:38 -0400 Subject: [PATCH 03/16] Update English_settings.jecs --- LWGlass/languages/English/English_settings.jecs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/LWGlass/languages/English/English_settings.jecs b/LWGlass/languages/English/English_settings.jecs index 5539a4f..727143a 100644 --- a/LWGlass/languages/English/English_settings.jecs +++ b/LWGlass/languages/English/English_settings.jecs @@ -1,6 +1,5 @@ -LW_Mods.LW_Glass.GlassTransparency: "Glass Transparency" +LWGlass.LWGlass.GlassTransparency: "Glass Transparency" LW_Mods.LW_Glass.GlassTransparency.Description: """ Transparency of the Glass Material. - \* No specified length. """ From f5f2722111e3a2dd334b15daca6ada5acb8ff0ce Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Sun, 15 Jun 2025 04:41:44 -0400 Subject: [PATCH 04/16] Update Main.cs --- LWGlass/src/client/Main.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/LWGlass/src/client/Main.cs b/LWGlass/src/client/Main.cs index c074ed8..aad8c65 100644 --- a/LWGlass/src/client/Main.cs +++ b/LWGlass/src/client/Main.cs @@ -20,6 +20,12 @@ namespace LWGlass.Client IResizableX, IResizableZ { + [Setting_SliderFloat("LWGlass.LWGlass.GlassTransparency")] + public static float GlassTransparency { + get => _glassTransparency; + set => _glassTransparency = value; + } + private int previousSizeX; private int previousSizeZ; @@ -125,7 +131,7 @@ namespace LWGlass.Client var meshFilter = myGameObject.AddComponent(); meshFilter.sharedMesh = LogicWorld.References.Meshes.OriginCube; var meshRenderer = myGameObject.AddComponent(); - meshRenderer.sharedMaterial = LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, 0.2f); + meshRenderer.sharedMaterial = LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, (float) _glassTransparency/10); return new IDecoration[] { new Decoration() @@ -144,4 +150,4 @@ namespace LWGlass.Client Data.Color = new Color24(120, 120, 120); } } -} \ No newline at end of file +} From 7c3158bed69ada42b95dc06d38d63219434bbcab Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Sun, 15 Jun 2025 04:42:54 -0400 Subject: [PATCH 05/16] Update English_settings.jecs --- LWGlass/languages/English/English_settings.jecs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LWGlass/languages/English/English_settings.jecs b/LWGlass/languages/English/English_settings.jecs index 727143a..5eb0e18 100644 --- a/LWGlass/languages/English/English_settings.jecs +++ b/LWGlass/languages/English/English_settings.jecs @@ -1,5 +1,5 @@ -LWGlass.LWGlass.GlassTransparency: "Glass Transparency" +LWGlass.Glass.GlassTransparency: "Glass Transparency" -LW_Mods.LW_Glass.GlassTransparency.Description: """ +LWGlass.Glass.GlassTransparency.Description: """ Transparency of the Glass Material. """ From 0cf45dc62c50baa87ff85ee5d9259abdc05994fd Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Sun, 15 Jun 2025 04:44:16 -0400 Subject: [PATCH 06/16] Update LWGlass_settingsdata.jecs --- LWGlass/settings/LWGlass_settingsdata.jecs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LWGlass/settings/LWGlass_settingsdata.jecs b/LWGlass/settings/LWGlass_settingsdata.jecs index 726dcd4..4b050ee 100644 --- a/LWGlass/settings/LWGlass_settingsdata.jecs +++ b/LWGlass/settings/LWGlass_settingsdata.jecs @@ -1,4 +1,4 @@ -RetroLights.DisplayEffect.DisplayIntensity: +LWGlass.Glass.GlassTransparency: Page: Graphics Heading: LW_Glass Min: 15 From 135fe5deda23518862dba2b1e24e162ca65c191e Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Sun, 15 Jun 2025 04:45:16 -0400 Subject: [PATCH 07/16] Update Main.cs --- LWGlass/src/client/Main.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/LWGlass/src/client/Main.cs b/LWGlass/src/client/Main.cs index aad8c65..a433a91 100644 --- a/LWGlass/src/client/Main.cs +++ b/LWGlass/src/client/Main.cs @@ -1,5 +1,6 @@ using JimmysUnityUtilities; using LogicAPI.Data; +using LogicSettings; using LogicWorld.Building.Overhaul; using LogicWorld.ClientCode; using LogicWorld.ClientCode.Resizing; @@ -20,7 +21,7 @@ namespace LWGlass.Client IResizableX, IResizableZ { - [Setting_SliderFloat("LWGlass.LWGlass.GlassTransparency")] + [Setting_SliderFloat("LWGlass.Glass.GlassTransparency")] public static float GlassTransparency { get => _glassTransparency; set => _glassTransparency = value; From 85ef66b2def12f2c1472f4ee67321d64f2e3fa00 Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Sun, 15 Jun 2025 04:48:30 -0400 Subject: [PATCH 08/16] Update Main.cs --- LWGlass/src/client/Main.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/LWGlass/src/client/Main.cs b/LWGlass/src/client/Main.cs index a433a91..7276894 100644 --- a/LWGlass/src/client/Main.cs +++ b/LWGlass/src/client/Main.cs @@ -26,6 +26,7 @@ namespace LWGlass.Client get => _glassTransparency; set => _glassTransparency = value; } + private static float _glassTransparency = 15; private int previousSizeX; private int previousSizeZ; From f01933e3fe48458bd368a234392ba09f8463b967 Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Sun, 15 Jun 2025 05:18:26 -0400 Subject: [PATCH 09/16] Update Main.cs --- LWGlass/src/client/Main.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LWGlass/src/client/Main.cs b/LWGlass/src/client/Main.cs index 7276894..601edb0 100644 --- a/LWGlass/src/client/Main.cs +++ b/LWGlass/src/client/Main.cs @@ -61,13 +61,13 @@ namespace LWGlass.Client { Data.Color = new Color24(255, 255, 255); GameObject obj = Decorations[0].DecorationObject; - obj.GetComponent().sharedMaterial = LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, 0.7f); + obj.GetComponent().sharedMaterial = LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, (float) _glassTranparency/10); } protected override void DataUpdate() { GameObject obj = Decorations[0].DecorationObject; - obj.GetComponent().sharedMaterial = LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, 0.2f); + obj.GetComponent().sharedMaterial = LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, (float) _glassTranparency/10); if (SizeX == previousSizeX && SizeZ == previousSizeZ) return; previousSizeX = SizeX; From 63a6d2106163e34820501c0e7f7ef86668d25867 Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Sun, 15 Jun 2025 05:20:21 -0400 Subject: [PATCH 10/16] Update Main.cs --- LWGlass/src/client/Main.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LWGlass/src/client/Main.cs b/LWGlass/src/client/Main.cs index 601edb0..9dede3c 100644 --- a/LWGlass/src/client/Main.cs +++ b/LWGlass/src/client/Main.cs @@ -61,13 +61,13 @@ namespace LWGlass.Client { Data.Color = new Color24(255, 255, 255); GameObject obj = Decorations[0].DecorationObject; - obj.GetComponent().sharedMaterial = LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, (float) _glassTranparency/10); + obj.GetComponent().sharedMaterial = LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, (float) _glassTransparency/10); } protected override void DataUpdate() { GameObject obj = Decorations[0].DecorationObject; - obj.GetComponent().sharedMaterial = LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, (float) _glassTranparency/10); + obj.GetComponent().sharedMaterial = LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, (float) _glassTransparency/10); if (SizeX == previousSizeX && SizeZ == previousSizeZ) return; previousSizeX = SizeX; From 0643736c21246f3b9041c443de5c91cb81cd7b5c Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Sun, 15 Jun 2025 05:34:55 -0400 Subject: [PATCH 11/16] Update English_settings.jecs --- LWGlass/languages/English/English_settings.jecs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LWGlass/languages/English/English_settings.jecs b/LWGlass/languages/English/English_settings.jecs index 5eb0e18..c179fbd 100644 --- a/LWGlass/languages/English/English_settings.jecs +++ b/LWGlass/languages/English/English_settings.jecs @@ -1,4 +1,4 @@ -LWGlass.Glass.GlassTransparency: "Glass Transparency" +MHG.SettingsMenu.Pages.Graphics.Headings.LW_Glass: "Glass Transparency" LWGlass.Glass.GlassTransparency.Description: """ Transparency of the Glass Material. From e576b75ab307af6b800e82b4a64b5521e7f117f4 Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Sun, 15 Jun 2025 09:54:24 -0400 Subject: [PATCH 12/16] Update English_settings.jecs --- LWGlass/languages/English/English_settings.jecs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/LWGlass/languages/English/English_settings.jecs b/LWGlass/languages/English/English_settings.jecs index c179fbd..0c40680 100644 --- a/LWGlass/languages/English/English_settings.jecs +++ b/LWGlass/languages/English/English_settings.jecs @@ -1,4 +1,5 @@ -MHG.SettingsMenu.Pages.Graphics.Headings.LW_Glass: "Glass Transparency" +MHG.SettingsMenu.Pages.Graphics.Headings.LW_Glass: "Mod: Glass" +LWGlass.Glass.GlassTransparency: "Transparency" LWGlass.Glass.GlassTransparency.Description: """ Transparency of the Glass Material. From c4525e6cd381dc51c29d8b5b0bd5cbe2ca45d1c7 Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Mon, 16 Jun 2025 07:34:13 -0400 Subject: [PATCH 13/16] Update Main.cs --- LWGlass/src/client/Main.cs | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/LWGlass/src/client/Main.cs b/LWGlass/src/client/Main.cs index 9dede3c..cff1314 100644 --- a/LWGlass/src/client/Main.cs +++ b/LWGlass/src/client/Main.cs @@ -24,9 +24,32 @@ namespace LWGlass.Client [Setting_SliderFloat("LWGlass.Glass.GlassTransparency")] public static float GlassTransparency { get => _glassTransparency; - set => _glassTransparency = value; + set + { + _glassTransparency = value; + updateGlassTransparency(); + } } private static float _glassTransparency = 15; + + protected static void updateGlassTransparency() + { + var world = Instances.MainWorld; + if (world == null) + { + return; + } + var glass = world.ComponentType("LWGlass.Client.Glass"); + foreach(var kvp in world.Data.AllComponents) + { + var (addr, data) = kvp; + if (data.Data.Type == glass) + { + GameObject obj = Decorations[0].DecorationObject; + obj.GetComponent().sharedMaterial = LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, (float) _glassTransparency/10); + } + } + } private int previousSizeX; private int previousSizeZ; From 8b9dda2f659aa34330e29fbc41bdc603c02e7a04 Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Mon, 16 Jun 2025 07:43:57 -0400 Subject: [PATCH 14/16] Update Main.cs --- LWGlass/src/client/Main.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/LWGlass/src/client/Main.cs b/LWGlass/src/client/Main.cs index cff1314..bd3e61d 100644 --- a/LWGlass/src/client/Main.cs +++ b/LWGlass/src/client/Main.cs @@ -45,8 +45,7 @@ namespace LWGlass.Client var (addr, data) = kvp; if (data.Data.Type == glass) { - GameObject obj = Decorations[0].DecorationObject; - obj.GetComponent().sharedMaterial = LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, (float) _glassTransparency/10); + mainWorld.Renderer.Entities.GetClientCode(addr).QueueFrameUpdate(); } } } From ba96b5a58c328e132139a776d265fca9408d4950 Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Mon, 16 Jun 2025 07:47:05 -0400 Subject: [PATCH 15/16] Update Main.cs --- LWGlass/src/client/Main.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LWGlass/src/client/Main.cs b/LWGlass/src/client/Main.cs index bd3e61d..a23051c 100644 --- a/LWGlass/src/client/Main.cs +++ b/LWGlass/src/client/Main.cs @@ -39,13 +39,13 @@ namespace LWGlass.Client { return; } - var glass = world.ComponentType("LWGlass.Client.Glass"); + var glass = world.ComponentTypes.GetComponentType("LWGlass.Client.Glass"); foreach(var kvp in world.Data.AllComponents) { var (addr, data) = kvp; if (data.Data.Type == glass) { - mainWorld.Renderer.Entities.GetClientCode(addr).QueueFrameUpdate(); + world.Renderer.Entities.GetClientCode(addr).QueueFrameUpdate(); } } } From fbfa6b1c5d41ed834f2679eee69851b922fad6e5 Mon Sep 17 00:00:00 2001 From: Lexxy Wolfgang <20842958+LexxyDrexxy@users.noreply.github.com> Date: Mon, 16 Jun 2025 13:45:15 -0400 Subject: [PATCH 16/16] update main.cs --- LWGlass/src/client/Main.cs | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/LWGlass/src/client/Main.cs b/LWGlass/src/client/Main.cs index a23051c..3dfa425 100644 --- a/LWGlass/src/client/Main.cs +++ b/LWGlass/src/client/Main.cs @@ -22,15 +22,16 @@ namespace LWGlass.Client IResizableZ { [Setting_SliderFloat("LWGlass.Glass.GlassTransparency")] - public static float GlassTransparency { + public static float GlassTransparency + { get => _glassTransparency; set { - _glassTransparency = value; + _glassTransparency = (float) value; updateGlassTransparency(); } } - private static float _glassTransparency = 15; + private static float _glassTransparency = 50; protected static void updateGlassTransparency() { @@ -39,13 +40,13 @@ namespace LWGlass.Client { return; } - var glass = world.ComponentTypes.GetComponentType("LWGlass.Client.Glass"); + var glass = world.ComponentTypes.GetComponentType("LWGlass.Glass"); foreach(var kvp in world.Data.AllComponents) { - var (addr, data) = kvp; + var (address, data) = kvp; if (data.Data.Type == glass) { - world.Renderer.Entities.GetClientCode(addr).QueueFrameUpdate(); + world.Renderer.Entities.GetClientCode(address).QueueDataUpdate(); } } } @@ -77,19 +78,24 @@ namespace LWGlass.Client } public int MinZ => 1; public int MaxZ => 80; - public float GridIntervalZ => 1f; + public float GridIntervalZ => 1f; + + protected Material setSharedMaterial() + { + return LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, (float) GlassTransparency/100); + } protected override void OnComponentImaged() { Data.Color = new Color24(255, 255, 255); GameObject obj = Decorations[0].DecorationObject; - obj.GetComponent().sharedMaterial = LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, (float) _glassTransparency/10); + obj.GetComponent().sharedMaterial = setSharedMaterial(); } protected override void DataUpdate() { GameObject obj = Decorations[0].DecorationObject; - obj.GetComponent().sharedMaterial = LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, (float) _glassTransparency/10); + obj.GetComponent().sharedMaterial = setSharedMaterial(); if (SizeX == previousSizeX && SizeZ == previousSizeZ) return; previousSizeX = SizeX; @@ -155,7 +161,7 @@ namespace LWGlass.Client var meshFilter = myGameObject.AddComponent(); meshFilter.sharedMesh = LogicWorld.References.Meshes.OriginCube; var meshRenderer = myGameObject.AddComponent(); - meshRenderer.sharedMaterial = LogicWorld.References.MaterialsCache.StandardUnlitColorTransparent(Color, (float) _glassTransparency/10); + meshRenderer.sharedMaterial = setSharedMaterial(); return new IDecoration[] { new Decoration()