2
0
Эх сурвалжийг харах

VIew: allow view override in plugins

lviguier 6 сар өмнө
parent
commit
80e06297c9

+ 0 - 2
hide/ui/View.hx

@@ -301,8 +301,6 @@ class View<T> extends hide.comp.Component {
 	public static var viewClasses = new Map<String,{ name : String, cl : Class<View<Dynamic>>, options : ViewOptions }>();
 	public static function register<T>( cl : Class<View<T>>, ?options : ViewOptions ) {
 		var name = Type.getClassName(cl);
-		if( viewClasses.exists(name) )
-			return null;
 		if( options == null )
 			options = {}
 		if( options.position == null )

+ 5 - 0
hide/view/Prefab.hx

@@ -30,6 +30,7 @@ class FiltersPopup extends hide.comp.Popup {
 					input.get(0).toggleAttribute("checked", true);
 
 				input.change((e) -> {
+					@:privateAccess editor.sceneFiltersChanged();
 					var on = !filters[typeid];
 					filters.set(typeid, on);
 
@@ -729,6 +730,8 @@ class Prefab extends hide.view.FileView {
 
 	function applySceneFilter(typeid: String, visible: Bool) {
 		saveDisplayState("sceneFilters/" + typeid, visible);
+		if (data == null)
+			return;
 		var all = [];
 		if (typeid != 'light')
 			all = data.findAll(hrt.prefab.Prefab, true);
@@ -928,6 +931,8 @@ class Prefab extends hide.view.FileView {
 		return null;
 	}
 
+	function sceneFiltersChanged() {}
+
 	static var _ = hide.view.FileTree.registerExtension(Prefab, ["prefab"], { icon : "sitemap", createNew : "Prefab" });
 	static var _1 = hide.view.FileTree.registerExtension(Prefab, ["l3d"], { icon : "sitemap" });