1
0

fix: add lost GetTexture in BMapSharp for BMMaterial

This commit is contained in:
2026-02-18 22:51:50 +08:00
parent 9c4c4a7fa4
commit d31a98a859
2 changed files with 14 additions and 0 deletions

View File

@@ -269,6 +269,16 @@ namespace BMapSharp.BMapWrapper {
public float GetSpecularPower() => GetGenericValue<float>(BMap.BMMaterial_GetSpecularPower);
public void SetSpecularPower(float val) => SetGenericValue<float>(BMap.BMMaterial_SetSpecularPower, val);
public BMTexture GetTexture() {
BMapException.ThrowIfFailed(BMap.BMMaterial_GetTexture(GetPointer(), GetCKID(), out uint out_texid));
if (out_texid == Utils.INVALID_CKID) return null;
else return new BMTexture(GetPointer(), out_texid);
}
public void SetTexture(BMTexture tex) {
uint texid = (tex is null) ? Utils.INVALID_CKID : tex.GetCKID();
BMapException.ThrowIfFailed(BMap.BMMaterial_SetTexture(GetPointer(), GetCKID(), texid));
}
public VxColor GetTextureBorderColor() {
BMapException.ThrowIfFailed(BMap.BMMaterial_GetTextureBorderColor(GetPointer(), GetCKID(), out uint out_val));
return new VxColor(out_val);

View File

@@ -68,6 +68,10 @@ namespace BMapSharpTest.TestSuits {
Console.WriteLine($"\tSpecular Power: {mtl.GetSpecularPower()}");
var current_texture = mtl.GetTexture();
var texture_name = current_texture is null ? "<null>" : current_texture.GetName();
Console.WriteLine($"\tTexture: {texture_name}");
Console.WriteLine($"\tTexture Border Color: {mtl.GetTextureBorderColor().ToManagedRGBA()}");
Console.WriteLine($"\tTexture Blend Mode: {mtl.GetTextureBlendMode()}");