Mógłbyś podać jaki sposób zaprojektowania menu byłby lepszy? Nie chodzi mi o kod, tylko bardziej o pomysł.
Obecny sposób wydaje mi się dogodny do użycia, jednak z lepszego z chęcią bym skorzystał.
Rysowanie menu:
public void Draw(Canvas canvas) {
canvas.drawBitmap(Graphic_Menu.Menu[6], 0, 0, null); //Tło
Custom_ArrayList<Button> Template = Buttons_Menu.get(MenuPage.get(0));
for (int TB_01 = 1; TB_01 < MenuPage.size(); ++TB_01) Template = Template.D.get(MenuPage.get(TB_01));
for (Button TB_01 : Template.Array) TB_01.Draw(canvas, false, 0, false);
}
Obsługa kliknięć:
int Value = ArrayList_To_Value(MenuPage);
int Result = 0;
if (Value == 0) Result = MenuLogicClick_00(X, Y);
else if (Value == 1) Result = MenuLogicClick_01(X, Y);
else if (Value == 20) Result = MenuLogicClick_02_0(X, Y);
else if (Value == 21) Result = MenuLogicClick_02_1(X, Y);
else if (Value == 210) Result = MenuLogicClick_02_1_0(X, Y);
else if (Value == 211) Result = MenuLogicClick_02_1_1(X, Y);
else if (Value == 2110) Result = MenuLogicClick_02_1_1_0(X, Y);
else if (Value == 212) Result = MenuLogicClick_02_1_2(X, Y);
else if (Value == 213) Result = MenuLogicClick_02_1_3(X, Y);
else if (Value == 214) Result = MenuLogicClick_02_1_4(X, Y);
else if (Value == 3) Result = MenuLogicClick_03(X, Y);
else if (Value == 4) Result = MenuLogicClick_04(X, Y);
private int ArrayList_To_Value(ArrayList<Integer> Array){
int Value = 0;
for (int TB_01 = 0; TB_01 < Array.size(); ++TB_01){
Value += Array.get(TB_01) * Math.pow(10, Array.size() - TB_01 - 1);
}
return Value;
}