Project

General

Profile

Download (4.97 KB) Statistics
| Branch: | Tag: | Revision:

magiccube / src / main / java / org / distorted / solvers / ImplementedSolversList.java @ master

1 373fa45f Leszek Koltunski
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2020 Leszek Koltunski                                                               //
3
//                                                                                               //
4
// This file is part of Magic Cube.                                                              //
5
//                                                                                               //
6 bb62ca3f Leszek Koltunski
// Magic Cube is proprietary software licensed under an EULA which you should have received      //
7
// along with the code. If not, check https://distorted.org/magic/License-Magic-Cube.html        //
8 373fa45f Leszek Koltunski
///////////////////////////////////////////////////////////////////////////////////////////////////
9
10
package org.distorted.solvers;
11
12 93a1c364 Leszek Koltunski
import org.distorted.main.R;
13 62054004 leszek
import org.distorted.objectlib.metadata.MetadataCUBE_2;
14
import org.distorted.objectlib.metadata.MetadataCUBE_3;
15
import org.distorted.objectlib.metadata.MetadataCU_232;
16
import org.distorted.objectlib.metadata.MetadataCU_323;
17
import org.distorted.objectlib.metadata.MetadataDIAM_2;
18
import org.distorted.objectlib.metadata.MetadataDIN4_3;
19
import org.distorted.objectlib.metadata.MetadataDINO_3;
20
import org.distorted.objectlib.metadata.MetadataIVY_2;
21
import org.distorted.objectlib.metadata.MetadataJING_2;
22
import org.distorted.objectlib.metadata.MetadataPDIA_3;
23
import org.distorted.objectlib.metadata.MetadataPDUO_2;
24
import org.distorted.objectlib.metadata.MetadataPYRA_3;
25
import org.distorted.objectlib.metadata.MetadataSKEW_2;
26 373fa45f Leszek Koltunski
27
///////////////////////////////////////////////////////////////////////////////////////////////////
28
29
public enum ImplementedSolversList
30
{
31 62054004 leszek
  CUBE2          (MetadataCUBE_2.INDEX, R.string.solver_cube2_title, R.string.solver_cube2_description, true),
32
  CUBE3_KOCIEMBA (MetadataCUBE_3.INDEX, R.string.solver_cube3_title, R.string.solver_cube3_description, true),
33
  CU_232         (MetadataCU_232.INDEX, R.string.solver_cu232_title, R.string.solver_cu232_description, true),
34
  CU_323         (MetadataCU_323.INDEX, R.string.solver_cu323_title, R.string.solver_cu323_description, true),
35
  PYRAMINX       (MetadataPYRA_3.INDEX, R.string.solver_pyra3_title, R.string.solver_pyra3_description, true),
36
  SKEWB          (MetadataSKEW_2.INDEX, R.string.solver_skew2_title, R.string.solver_skew2_description, true),
37
  PYRAMINX_DUO   (MetadataPDUO_2.INDEX, R.string.solver_pduo2_title, R.string.solver_pduo2_description, true),
38
  IVY            (MetadataIVY_2.INDEX , R.string.solver_ivy_title, R.string.solver_ivy_description, true),
39
  DIAMOND        (MetadataDIAM_2.INDEX, R.string.solver_diam2_title, R.string.solver_diam2_description, true),
40
  JING2          (MetadataJING_2.INDEX, R.string.solver_jing2_title, R.string.solver_jing2_description, true),
41
  DINO6          (MetadataDINO_3.INDEX, R.string.solver_dino6_title, R.string.solver_dino6_description, true),
42
  DINO4          (MetadataDIN4_3.INDEX, R.string.solver_dino4_title, R.string.solver_dino4_description, true),
43
  PDIA           (MetadataPDIA_3.INDEX, R.string.solver_pdia_title, R.string.solver_pdia_description, true),
44 373fa45f Leszek Koltunski
  ;
45
46
  public static final int NUM_OBJECTS = values().length;
47
48 d433b50e Leszek Koltunski
  private final int mObject;
49 93a1c364 Leszek Koltunski
  private final int mTitle;
50
  private final int mDescription;
51
  private final boolean mImplemented;
52 373fa45f Leszek Koltunski
53
  private static final ImplementedSolversList[] objects;
54
55
  static
56
    {
57
    objects = new ImplementedSolversList[NUM_OBJECTS];
58
    int i=0;
59
60
    for(ImplementedSolversList object: ImplementedSolversList.values())
61
      {
62
      objects[i++] = object;
63
      }
64
    }
65
66
///////////////////////////////////////////////////////////////////////////////////////////////////
67
68 b42c8399 leszek
  public static ImplementedSolversList getSolver(int solverOrdinal)
69 373fa45f Leszek Koltunski
    {
70 b42c8399 leszek
    return objects[solverOrdinal];
71
    }
72
73
///////////////////////////////////////////////////////////////////////////////////////////////////
74
75
  public static int getSolverOrdinal(int objectOrdinal)
76
    {
77
    for(int o=0; o<NUM_OBJECTS; o++)
78
      if( objects[o].mObject==objectOrdinal ) return o;
79
80
    return -1;
81 373fa45f Leszek Koltunski
    }
82
83
///////////////////////////////////////////////////////////////////////////////////////////////////
84
85 93a1c364 Leszek Koltunski
  ImplementedSolversList(int object, int title, int descripton, boolean implemented)
86 373fa45f Leszek Koltunski
    {
87 93a1c364 Leszek Koltunski
    mObject      = object;
88
    mTitle       = title;
89
    mDescription = descripton;
90
    mImplemented = implemented;
91
    }
92
93
///////////////////////////////////////////////////////////////////////////////////////////////////
94
95
  public int getObject()
96
    {
97
    return mObject;
98
    }
99
100
///////////////////////////////////////////////////////////////////////////////////////////////////
101
102
  public int getTitle()
103
    {
104
    return mTitle;
105
    }
106
107
///////////////////////////////////////////////////////////////////////////////////////////////////
108
109
  public int getDescription()
110
    {
111
    return mDescription;
112
    }
113
114
///////////////////////////////////////////////////////////////////////////////////////////////////
115
116
  public boolean isImplemented()
117
    {
118
    return mImplemented;
119 373fa45f Leszek Koltunski
    }
120
}