|
@@ -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(){
|
|
|
int obj=MAIN.InitArgs.HasWorldObjects;
|
|
|
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_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_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(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);
|