class PropertiesPannel : DockPanel { float slider = 0; vec3 slid; vec3 slid2; void onRender() { Entity entity = activeEntity; // NAME // ------- // Id:0 [+ add component] title(entity.name); if (!entity.isRoot) contextItemPopup("##MenuOptions", any(entity), ReciverFunc(this.renameEntityMenu)); separator(); textColor(0.5, 0.5, 0.5f, "Id : " + entity.id); // We don't want to change root options if (entity.isRoot) return; sameline(); if (buttonEnd("Add Component")) { openPopup("ADD_COMPONENT", any(entity)); } space(); componentNode("Transform Component", any(entity), renderTransformComponent); if (entity.hasMeshComponent()) { componentNode_contextMenu("Mesh Component", any(entity), renderMeshComponent, removeMeshComponent); } if (entity.hasShaderComponent()) { componentNode_contextMenu("Shader Component", any(entity), renderShaderComponent, removeShaderComponent); } if (entity.hasCameraComponent()) { componentNode_contextMenu("Camera Component", any(entity), renderCameraComponent, removeCameraComponent); } space(); separator(); if (buttonCenter("Add Component##2")) { openPopup("ADD_COMPONENT", any(entity)); } simplePopup("ADD_COMPONENT", addComponentPopup); modalPopup("Rename entity", renameEntity); } void renameEntityMenu(any@ data) { Entity entity; data.retrieve(entity); if (!entity.isRoot) { if (menuItem("Rename")) { openPopup("Rename entity", data); } } } }