修复重新编译代码会丢失[Export]赋值的bug
1 parent 597ff33 commit 4a68216d3fa00ae31cb3483d10564b78c84c86d9
@小李xl 小李xl authored on 23 Nov 2023
Showing 2 changed files
View
14
DungeonShooting_Godot/src/framework/activity/ActivityObject.cs
/// 是否开启描边
/// </summary>
public bool ShowOutline
{
get => _blendShaderMaterial.GetShaderParameter(_shader_show_outline).AsBool();
get => _blendShaderMaterial == null ? false : _blendShaderMaterial.GetShaderParameter(_shader_show_outline).AsBool();
set
{
_blendShaderMaterial.SetShaderParameter(_shader_show_outline, value);
_shadowBlendShaderMaterial.SetShaderParameter(_shader_show_outline, value);
_blendShaderMaterial?.SetShaderParameter(_shader_show_outline, value);
_shadowBlendShaderMaterial?.SetShaderParameter(_shader_show_outline, value);
}
}
 
/// <summary>
/// 描边颜色
/// </summary>
public Color OutlineColor
{
get => _blendShaderMaterial.GetShaderParameter(_shader_outline_color).AsColor();
set => _blendShaderMaterial.SetShaderParameter(_shader_outline_color, value);
get => _blendShaderMaterial == null ? Colors.Black : _blendShaderMaterial.GetShaderParameter(_shader_outline_color).AsColor();
set => _blendShaderMaterial?.SetShaderParameter(_shader_outline_color, value);
}
 
/// <summary>
/// 灰度
/// </summary>
public float Grey
{
get => _blendShaderMaterial.GetShaderParameter(_shader_grey).AsSingle();
set => _blendShaderMaterial.SetShaderParameter(_shader_grey, value);
get => _blendShaderMaterial == null ? 0 : _blendShaderMaterial.GetShaderParameter(_shader_grey).AsSingle();
set => _blendShaderMaterial?.SetShaderParameter(_shader_grey, value);
}
 
// --------------------------------------------------------------------------------
 
View
2
■■■
DungeonShooting_Godot/src/framework/activity/ActivityObject_EditorTool.cs
if (sprite.Material == null)
{
var material =
ResourceManager.Load<ShaderMaterial>(ResourcePath.resource_material_Blend_tres, false);
material.ResourceLocalToScene = true;
material.SetShaderParameter("blend", new Color(0, 0, 0, 0.47058824F));
material.SetShaderParameter("schedule", 1);
material.SetShaderParameter("modulate", new Color(1, 1, 1, 1));
sprite.Material = material;
if (animatedSprite.Material == null)
{
var material =
ResourceManager.Load<ShaderMaterial>(ResourcePath.resource_material_Blend_tres, false);
material.ResourceLocalToScene = true;
material.SetShaderParameter("blend", new Color(1, 1, 1, 1));
material.SetShaderParameter("schedule", 0);
material.SetShaderParameter("modulate", new Color(1, 1, 1, 1));
animatedSprite.Material = material;