73 lines
2.4 KiB
ActionScript
73 lines
2.4 KiB
ActionScript
import Entity getActiveEntity() from "ActiveEntity";
|
|
import void setActiveEntity(Entity) from "ActiveEntity";
|
|
|
|
class PropertiesPanel : DockPanel {
|
|
float slider = 0;
|
|
vec3 slid;
|
|
vec3 slid2;
|
|
|
|
void onRender() {
|
|
Entity entity = getActiveEntity();
|
|
|
|
// NAME
|
|
// Id:0 [+ add component]
|
|
UI::title(entity.name);
|
|
if (!entity.isRoot)
|
|
UI::contextItemPopup("##MenuOptions", Callback(this.renameEntityMenu));
|
|
UI::separator();
|
|
UI::textColor(0.5, 0.5, 0.5f, "Id : " + entity.id);
|
|
|
|
// We don't want to change root options
|
|
if (entity.isRoot)
|
|
return;
|
|
|
|
UI::sameline();
|
|
if (UI::buttonEnd("Add Component")) {
|
|
UI::openPopup("ADD_COMPONENT", any(entity));
|
|
}
|
|
|
|
UI::space();
|
|
|
|
TransformPropertiesRender transformComponentRender(entity);
|
|
UI::componentNode("Transform Component", Callback(transformComponentRender.renderTransformComponent));
|
|
|
|
if (entity.hasMeshComponent()) {
|
|
MeshComponentRender meshComponentRender(entity);
|
|
UI::componentNodeContextMenu("Mesh Component", Callback(meshComponentRender.render), Callback(meshComponentRender.remove));
|
|
}
|
|
|
|
if (entity.hasShaderComponent()) {
|
|
ShaderComponentRender shaderComponentRender(entity);
|
|
UI::componentNodeContextMenu("Shader Component", Callback(shaderComponentRender.render), Callback(shaderComponentRender.remove));
|
|
}
|
|
|
|
if (entity.hasCameraComponent()) {
|
|
CameraComponentRender cameraComponentRender(entity);
|
|
UI::componentNodeContextMenu("Camera Component", Callback(cameraComponentRender.render), Callback(cameraComponentRender.remove));
|
|
}
|
|
|
|
UI::space();
|
|
|
|
UI::separator();
|
|
|
|
if (UI::buttonCenter("Add Component##2")) {
|
|
UI::openPopup("ADD_COMPONENT", any(entity));
|
|
}
|
|
|
|
AddComponentRender addComponentRender(entity);
|
|
UI::simplePopup("ADD_COMPONENT", Callback(addComponentRender.addComponentPopup));
|
|
UI::modalPopup("Rename entity", Callback(this.renameEntityMenu));
|
|
}
|
|
|
|
void renameEntityMenu() {
|
|
Entity entity = getActiveEntity();
|
|
|
|
if (!entity.isRoot) {
|
|
if (UI::menuItem("Rename")) {
|
|
UI::openPopup("Rename entity", any(entity));
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|