Fix shader materials on forcefields

This commit is contained in:
Marco 2025-02-24 14:23:59 +01:00
commit dc70bd8122
8 changed files with 201 additions and 25 deletions

View file

@ -6,18 +6,19 @@ using System.Threading.Tasks;
public partial class ForceField : Door
{
[Export]
public Shader TurnOffShader { get; private set; }
public Material TurnOffMaterial { get; private set; }
[Export]
public Shader ActiveShader { get; private set; }
public Material ActiveMaterial { get; private set; }
// Disable
public override void Open()
{
base.Open();
if (TurnOffShader is null) return;
if (TurnOffMaterial is null) return;
((ShaderMaterial)_animatedSprite.Material).Shader = TurnOffShader;
_animatedSprite.Material = TurnOffMaterial;
//((ShaderMaterial)_animatedSprite.Material).Shader = TurnOffShader;
_ = AnimateShutdownAsync();
}
@ -36,8 +37,9 @@ public partial class ForceField : Door
{
base.Close();
if (ActiveShader is null) return;
((ShaderMaterial)_animatedSprite.Material).Shader = ActiveShader;
if (ActiveMaterial is null) return;
_animatedSprite.Material = ActiveMaterial;
//((ShaderMaterial)_animatedSprite.Material).Shader = ActiveShader;
}
private void SetShaderTeleportProgress(float value)