String[]title = {"Penis Length Flaccid", "Penis Length Erect", "Shaft Grith Flaccid", "Shaft Grith Erect",
"Curve Up/Down Flaccid", "Curve Up/Down Erect", "Bend Left/Right Flaccid", "Bend Left/Right Erect",
"Base Up/Down Flaccid", "Base Up/Down Erect", "Small Scrotum Flaccid", "Small Scrotum Erect",
"Right Testicle Up Flaccid", "Right Testicle Up Erect", "Left Testicle Up Flaccid", "Left Testicle Up Erect" };
float[][]value = new float[][] { // init value, min value, max value, edit this part !
new float[] {1f, -10f, 10f}, new float[] {0f, -10f, 10f}, new float[] {0f, -10f, 10f}, new float[] {0f, -10f, 10f},
new float[] {0f, -10f, 10f}, new float[] {2f, -10f, 10f}, new float[] {0f, -10f, 10f}, new float[] {0f, -10f, 10f},
new float[] {0f, -10f, 10f}, new float[] {0f, -10f, 10f}, new float[] {3f, -10f, 10f}, new float[] {0f, -10f, 10f},
new float[] {0f, -10f, 10f}, new float[] {0f, -10f, 10f}, new float[] {0f, -10f, 10f}, new float[] {4f, -10f, 10f}};
public override void Init()
{// generate a 4×4 (column x row) cell.
CustomLayoutUI layout = CustomLayoutUI.create(this, CreateUIElement, "TestLayout", 0, 300).newFullLineUI().enableLayoutMode(false).setLayout(4, 4); // 300 is height as fullline ui (4x4)
for (int r = 0; r < layout.row; r++)
for (int c = 0; c < layout.col; c++)
{// Since all components included in the CustomLayoutUI are owned by the layout itself,
// the concepts of "Left" and "Right" have no meaningful relevance.
String name = title[r*4 + c];
float []_val = value[r*4 + c];
BaseLabelUI ui01 = CustomUI.addLabel(this, true, name).setTextFontSize(20).setBackgroundColor(Color.black).setTextColor(Color.white); // This is not saved to the scene, so it does not need to be register().
BaseSliderSimpleUI ui02 = CustomUI.addSliderSimple(this, true, name, _val[0], _val[1], _val[2]).setLabelTextWeight(0.03f).setSliderWeight(0.7f).setCallback(callbackEvent).register();
CustomLayoutUI cell = CustomLayoutUI.create(this, CreateUIElement, "Cell").newHalfLineUI(true).enableLayoutMode(false).setLayout(1, 2).setRowWeight(0f,0.4f,1f); // halfline ui (1x2), label (0~0.4f), slider (0.4f~0.6f)
cell.addUIComponent(ui01, 0, 0).addUIComponent(ui02, 0, 1);
layout.addUIComponent(cell, c, r);
}
}
void callbackEvent(String name, float value)
{
if (true) SuperController.LogMessage($"[INF] callback [{name}] [{value}]"); // for debug, event check
if (false) {}
else if (name == title[0]) { /* do someting */ }
else if (name == title[1]) { /* do someting */ }
else if (name == title[2]) { /* do someting */ }
else if (name == title[3]) { /* do someting */ }
else if (name == title[4]) { /* do someting */ }
else if (name == title[5]) { /* do someting */ }
else if (name == title[6]) { /* do someting */ }
else if (name == title[7]) { /* do someting */ }
else if (name == title[8]) { /* do someting */ }
else if (name == title[9]) { /* do someting */ }
else if (name == title[10]) { /* do someting */ }
else if (name == title[11]) { /* do someting */ }
else if (name == title[12]) { /* do someting */ }
else if (name == title[13]) { /* do someting */ }
else if (name == title[14]) { /* do someting */ }
else if (name == title[15]) { /* do someting */ }
}