|  | @@ -1736,6 +1736,48 @@ void tnsui_ScenePanel(laUiList *uil, laPropPack *This, laPropPack *DetachedProps
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +void tnsui_ObjectHierachy(laUiList *uil, laPropPack *This, laPropPack *Extra, laColumn *UNUSED, int context);
 | 
											
												
													
														|  | 
 |  | +void tnsui_ChildObjectHierachy(laUiList *uil, laPropPack *This, laPropPack *Extra, laColumn *UNUSED, int context){
 | 
											
												
													
														|  | 
 |  | +    laColumn* c=laFirstColumn(uil); laShowItemFull(uil,c,This,"object",0,0,tnsui_ObjectHierachy,1)
 | 
											
												
													
														|  | 
 |  | +        ->Flags|=LA_UI_FLAGS_NO_DECAL|LA_UI_FLAGS_NO_GAP|LA_UI_COLLECTION_NO_HIGHLIGHT;
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +void tnsui_ObjectHierachy(laUiList *uil, laPropPack *This, laPropPack *Extra, laColumn *UNUSED, int context){
 | 
											
												
													
														|  | 
 |  | +    laColumn* c=laFirstColumn(uil),*cl,*cr; laSplitColumn(uil,c,0.5); cl=laLeftColumn(c,1); cr=laRightColumn(c,0);
 | 
											
												
													
														|  | 
 |  | +    laUiItem* r=laBeginRow(uil,cr,0,0);
 | 
											
												
													
														|  | 
 |  | +    laShowItemFull(uil,cr,This,"name",0,0,0,0)->Flags|=LA_UI_FLAGS_NO_DECAL;
 | 
											
												
													
														|  | 
 |  | +    laEndRow(uil,r);
 | 
											
												
													
														|  | 
 |  | +    char* prop=context?"base.children":"children";
 | 
											
												
													
														|  | 
 |  | +    laUiItem* b2=laOnConditionThat(uil,cl,laPropExpression(This,prop));{
 | 
											
												
													
														|  | 
 |  | +        laUiItem* b=laOnConditionToggle(uil,cl,0,0,0,0,0);{ b->Flags|=LA_UI_FLAGS_NO_DECAL;
 | 
											
												
													
														|  | 
 |  | +            b->State=LA_UI_ACTIVE;
 | 
											
												
													
														|  | 
 |  | +            laShowItemFull(uil,cr,This,prop,0,0,tnsui_ChildObjectHierachy,0)
 | 
											
												
													
														|  | 
 |  | +                ->Flags|=LA_UI_FLAGS_NO_DECAL|LA_UI_FLAGS_NO_GAP|LA_UI_COLLECTION_NO_HIGHLIGHT;
 | 
											
												
													
														|  | 
 |  | +        }laEndCondition(uil,b);
 | 
											
												
													
														|  | 
 |  | +    }laEndCondition(uil,b2);
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +void tnsui_WorldHierachy(laUiList *uil, laPropPack *This, laPropPack *Extra, laColumn *UNUSED, int context){
 | 
											
												
													
														|  | 
 |  | +    laColumn* c=laFirstColumn(uil),*gc; laUiList* gu;
 | 
											
												
													
														|  | 
 |  | +    laUiItem* r=laBeginRow(uil,c,0,0);
 | 
											
												
													
														|  | 
 |  | +    gu=laMakeMenuPage(uil,c,"Menu");{  gc=laFirstColumn(gu);
 | 
											
												
													
														|  | 
 |  | +        laShowItem(gu,gc,0,"M_new_root");
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +    laEndRow(uil,r);
 | 
											
												
													
														|  | 
 |  | +    laUiItem* g=laMakeEmptyGroup(uil,c,"Hierachy",0);{ gu=g->Page; gc=laFirstColumn(gu);
 | 
											
												
													
														|  | 
 |  | +        gu->HeightCoeff=-1; //g->Flags|=LA_UI_FLAGS_NO_DECAL;
 | 
											
												
													
														|  | 
 |  | +        laShowItemFull(gu,gc,0,"tns.world.root_objects",0,0,tnsui_ObjectHierachy,0)->Flags|=LA_UI_FLAGS_NO_DECAL;
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +void tnsui_DefaultObjectPropUiDefine(laUiList *uil, laPropPack *This, laPropPack *OperatorProps, laColumn *UNUSED, int context){
 | 
											
												
													
														|  | 
 |  | +    laColumn* c=laFirstColumn(uil);
 | 
											
												
													
														|  | 
 |  | +    char* prop=context?"base":"";
 | 
											
												
													
														|  | 
 |  | +    laUiItem* base=laShowInvisibleItem(uil,c,This,prop);
 | 
											
												
													
														|  | 
 |  | +    laShowItemFull(uil, c, &base->PP, "name",LA_WIDGET_STRING_PLAIN,0,0,0);
 | 
											
												
													
														|  | 
 |  | +    laShowItemFull(uil, c, &base->PP, "remove_root",0,0,0,0);
 | 
											
												
													
														|  | 
 |  | +    laShowItemFull(uil, c, 0, "M_new_root",0,0,0,0);
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  void la_RegisterBuiltinTemplates(){
 |  |  void la_RegisterBuiltinTemplates(){
 | 
											
												
													
														|  |      int obj=MAIN.InitArgs.HasWorldObjects;
 |  |      int obj=MAIN.InitArgs.HasWorldObjects;
 | 
											
												
													
														|  |      int tex=MAIN.InitArgs.HasTextureInspector;
 |  |      int tex=MAIN.InitArgs.HasTextureInspector;
 | 
											
										
											
												
													
														|  | @@ -1745,6 +1787,7 @@ void la_RegisterBuiltinTemplates(){
 | 
											
												
													
														|  |              laRegisterUiTemplate("LAUI_input_mapper","Input Mapper",laui_InputMapper,0,0,"Controlling",0,0,0);
 |  |              laRegisterUiTemplate("LAUI_input_mapper","Input Mapper",laui_InputMapper,0,0,"Controlling",0,0,0);
 | 
											
												
													
														|  |              laRegisterUiTemplate("LAUI_controllers", "Controllers", laui_GameController, lauidetached_GameController, 0,0,0,0,0);
 |  |              laRegisterUiTemplate("LAUI_controllers", "Controllers", laui_GameController, lauidetached_GameController, 0,0,0,0,0);
 | 
											
												
													
														|  |      if(obj) laRegisterUiTemplate("LAUI_scene", "Scene", tnsui_ScenePanel, tnsui_DetachedScenePanel, 0, 0, 0,25,25);
 |  |      if(obj) laRegisterUiTemplate("LAUI_scene", "Scene", tnsui_ScenePanel, tnsui_DetachedScenePanel, 0, 0, 0,25,25);
 | 
											
												
													
														|  | 
 |  | +    if(obj) laRegisterUiTemplate("LAUI_world_hierachy","World",tnsui_WorldHierachy,0,0,0,0,0,0);
 | 
											
												
													
														|  |      if(obj) laRegisterUiTemplate("LAUI_object_properties", "Properties", tnsui_ObjectProperties, tnsuidetached_ObjectProperties, 0, 0, 0,15,25);
 |  |      if(obj) laRegisterUiTemplate("LAUI_object_properties", "Properties", tnsui_ObjectProperties, tnsuidetached_ObjectProperties, 0, 0, 0,15,25);
 | 
											
												
													
														|  |      if(act) laRegisterUiTemplate("LAUI_animation_actions", "Actions", laui_AnimationActions, 0, 0, 0, 0,15,25);
 |  |      if(act) laRegisterUiTemplate("LAUI_animation_actions", "Actions", laui_AnimationActions, 0, 0, 0, 0,15,25);
 | 
											
												
													
														|  |      if(act) laRegisterUiTemplate("LAUI_animation_action_channels", "Action Channels", laui_AnimationActionChannels, 0, 0, 0, 0,20,15); 
 |  |      if(act) laRegisterUiTemplate("LAUI_animation_action_channels", "Action Channels", laui_AnimationActionChannels, 0, 0, 0, 0,20,15); 
 |