浏览代码

[fx] Fix shaders breaking on add if DynamicShader was overriden by hide-plugin.js

Clément Espeute 9 月之前
父节点
当前提交
6b8e8a832a
共有 1 个文件被更改,包括 11 次插入1 次删除
  1. 11 1
      hrt/prefab/Shader.hx

+ 11 - 1
hrt/prefab/Shader.hx

@@ -284,10 +284,20 @@ class Shader extends Prefab {
 	override function getHideProps() : HideProps {
 		var cl = Type.getClass(this);
 		var name = Type.getClassName(cl).split(".").pop();
+		var inheritDynamicShader = false;
+		var thisClass : Class<Dynamic> = cl;
+		while (thisClass != null) {
+			if (thisClass == hrt.prefab.DynamicShader) {
+				inheritDynamicShader = true;
+				break;
+			}
+			thisClass = Type.getSuperClass(thisClass);
+		}
+
 		return {
 			icon : "cog",
 			name : name,
-			fileSource : cl == hrt.prefab.DynamicShader ? ["hx"] : null
+			fileSource : inheritDynamicShader ? ["hx"] : null
 		};
 	}