DeerEngine/roe/editor/properties/components_render.as

102 lines
2.4 KiB
ActionScript

void renderTransformComponent(any@ data) {
Entity entity;
data.retrieve(entity);
TransformComponent transform = entity.transform;
vec3 position = transform.position;
vec3 scale = transform.scale;
vec3 rotation = transform.rotation;
transform.position = magicSlider3("Posiiton", position, 0.1);
transform.scale = magicSlider3("Scale", scale, 0.1);
transform.rotation = magicSlider3("Rotation", rotation, 0.1);
}
void renderMeshComponent(any@ data) {
Entity entity;
data.retrieve(entity);
MeshComponent meshComponent = entity.getMeshComponent();
if (meshComponent.hasMesh) {
drawIcon("object3d", 32);
} else {
drawIcon("empty", 32);
}
dragDropTarget("MESH", any(meshComponent), setMeshComponentMesh);
if (meshComponent.hasMesh) {
sameline();
space();
sameline();
titleCenterY(meshComponent.getMesh(), 32);
dragDropTarget("MESH", any(meshComponent), setMeshComponentMesh);
}
space(20, 20);
if (button("Clear")) {
meshComponent.clear();
}
sameline();
space(10, 20);
sameline();
if (meshComponent.hasMesh) {
meshComponent.isActive = checkbox("Active", meshComponent.isActive);
} else {
checkboxDisabled("Active", meshComponent.isActive);
}
}
void renderShaderComponent(any@ data) {
Entity entity;
data.retrieve(entity);
ShaderComponent shaderComponent = entity.getShaderComponent();
if (shaderComponent.hasShader) {
drawIcon("shader", 32);
} else {
drawIcon("empty", 32);
}
dragDropTarget("SHADER", any(shaderComponent), setShaderComponent);
if (shaderComponent.hasShader) {
sameline();
space();
sameline();
titleCenterY(shaderComponent.getShader(), 32);
dragDropTarget("SHADER", any(shaderComponent), setShaderComponent);
}
space(20, 20);
if (button("Clear")) {
shaderComponent.clear();
}
}
void setMeshComponentMesh(any@ meshComponent_data, any@ mesh_data){
string mesh;
mesh_data.retrieve(mesh);
MeshComponent meshComponent;
meshComponent_data.retrieve(meshComponent);
meshComponent.setMesh(mesh);
}
void setShaderComponent(any@ shaderComponent_data, any@ shader_data) {
string shader;
shader_data.retrieve(shader);
ShaderComponent shaderComponent;
shaderComponent_data.retrieve(shaderComponent);
shaderComponent.setShader(shader);
}