Procházet zdrojové kódy

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

Clément Espeute před 9 měsíci
rodič
revize
6b8e8a832a
1 změnil soubory, kde provedl 11 přidání a 1 odebrání
  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
 		};
 	}