102 lines
2.4 KiB
ActionScript
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);
|
|
} |