Project

General

Profile

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

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

1
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2020 Leszek Koltunski                                                               //
3
//                                                                                               //
4
// This file is part of Magic Cube.                                                              //
5
//                                                                                               //
6
// 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
///////////////////////////////////////////////////////////////////////////////////////////////////
9

    
10
package org.distorted.solvers;
11

    
12
import org.distorted.main.R;
13
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

    
27
///////////////////////////////////////////////////////////////////////////////////////////////////
28

    
29
public enum ImplementedSolversList
30
{
31
  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
  ;
45

    
46
  public static final int NUM_OBJECTS = values().length;
47

    
48
  private final int mObject;
49
  private final int mTitle;
50
  private final int mDescription;
51
  private final boolean mImplemented;
52

    
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
  public static ImplementedSolversList getSolver(int solverOrdinal)
69
    {
70
    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
    }
82

    
83
///////////////////////////////////////////////////////////////////////////////////////////////////
84

    
85
  ImplementedSolversList(int object, int title, int descripton, boolean implemented)
86
    {
87
    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
    }
120
}
(1-1/16)