Project

General

Profile

« Previous | Next » 

Revision 84d746d7

Added by Leszek Koltunski about 2 years ago

Downloaded Objects more or less work now.

View differences:

src/main/java/org/distorted/objects/RubikObjectList.java
49 49
    {
50 50
    String shortName;
51 51
    boolean icon,object,extras;
52
    int numScrambles, objectMinor, extrasMinor;
52 53

  
53
    DownloadedObject(String sName, boolean i, boolean o, boolean e)
54
    DownloadedObject(String sName, int scrambles, int oMinor, int eMinor, boolean i, boolean o, boolean e)
54 55
      {
55 56
      shortName = sName;
57

  
58
      numScrambles= scrambles;
59
      objectMinor = oMinor;
60
      extrasMinor = eMinor;
61

  
56 62
      icon   = i;
57 63
      object = o;
58 64
      extras = e;
......
98 104
      mObjects.add(obj);
99 105
      mNumObjects++;
100 106

  
107
android.util.Log.e("D", "creating local object "+type.name() );
108

  
101 109
      if( obj.hasExtras() )
102 110
        {
111
        android.util.Log.e("D", "has extras "+mNumExtras );
112

  
113

  
103 114
        obj.setExtrasOrdinal(mNumExtras);
104 115
        mNumExtras++;
116
        }
117
      else
118
        {
119
        android.util.Log.e("D", "no extras");
120

  
105 121
        }
106 122
      }
107 123
    }
108 124

  
109 125
///////////////////////////////////////////////////////////////////////////////////////////////////
110 126

  
111
  private static void internalAddDownloadedObject(DownloadedObject object)
127
  private static boolean internalAddDownloadedObject(DownloadedObject object)
112 128
    {
113
    /*
114
    boolean existsAlready = false;
115 129
    String name = object.shortName;
116 130

  
117 131
    for(RubikObject ro : mObjects )
118
      if( ro.getName().equals(name) )
132
      if( ro.getLowerName().equals(name) )
119 133
        {
120
        ro.updateObject(object);
121
        existsAlready = true;
122
        break;
134
        return ro.updateObject(object);
123 135
        }
124 136

  
125
    if( !existsAlready )
137
    RubikObject obj = new RubikObject(object);
138
    mObjects.add(obj);
139
    mNumObjects++;
140

  
141

  
142
android.util.Log.e("D", "creating downloaded object "+obj.getUpperName() );
143

  
144
    if( obj.hasExtras() )
126 145
      {
127
      RubikObject obj = new RubikObject(object);
128
      mObjects.add(obj);
129
      mNumObjects++;
146
      android.util.Log.e("D", "has extras "+mNumExtras );
130 147

  
131
      if( obj.getExtrasJsonID()!=0 )
132
        {
133
        obj.setExtrasOrdinal(mNumExtras);
134
        mNumExtras++;
135
        }
148
      obj.setExtrasOrdinal(mNumExtras);
149
      mNumExtras++;
150
      }
151
    else
152
      {
153
      android.util.Log.e("D", "no extras");
136 154
      }
137
     */
155

  
156
    return true;
138 157
    }
139 158

  
140 159
///////////////////////////////////////////////////////////////////////////////////////////////////
......
167 186

  
168 187
///////////////////////////////////////////////////////////////////////////////////////////////////
169 188

  
170
  public static void addDownloadedObject(String shortName, boolean icon, boolean object, boolean extras)
189
  public static void addDownloadedObject(String shortName, int numScrambles, int objectMinor, int extrasMinor,
190
                                         boolean icon, boolean object, boolean extras)
171 191
    {
172 192
    for( DownloadedObject obj : mDownloadedObjects )
173 193
      {
......
177 197
        obj.object|= object;
178 198
        obj.extras|= extras;
179 199

  
180
        android.util.Log.e("D", "UPDATING "+shortName);
200
        android.util.Log.e("D", "Updating downloaded object "+shortName);
181 201

  
182 202
        return;
183 203
        }
184 204
      }
185 205

  
186
    DownloadedObject extra = new DownloadedObject(shortName,icon,object,extras);
187
    mDownloadedObjects.add(extra);
188

  
189
    internalAddDownloadedObject(extra);
206
    DownloadedObject extra = new DownloadedObject(shortName,numScrambles,objectMinor,extrasMinor,icon,object,extras);
207
    if ( internalAddDownloadedObject(extra) )
208
      {
209
      android.util.Log.e("D", "Adding new downloaded object "+shortName);
210
      mDownloadedObjects.add(extra);
211
      }
190 212
    }
191 213

  
192 214
///////////////////////////////////////////////////////////////////////////////////////////////////
......
208 230
  public static void savePreferences(SharedPreferences.Editor editor)
209 231
    {
210 232
    RubikObject obj = getObject(mObject);
211
    if( obj!=null ) editor.putString("rol_objName", obj.getName() );
233
    if( obj!=null ) editor.putString("rol_objName", obj.getUpperName() );
212 234

  
213 235
    int numDownloaded = mDownloadedObjects.size();
214 236

  
......
223 245
        DownloadedObject object = mDownloadedObjects.get(i);
224 246
        downloadedObjects.append(object.shortName);
225 247
        downloadedObjects.append(' ');
248
        downloadedObjects.append(object.numScrambles);
249
        downloadedObjects.append(' ');
250
        downloadedObjects.append(object.objectMinor);
251
        downloadedObjects.append(' ');
252
        downloadedObjects.append(object.extrasMinor);
253
        downloadedObjects.append(' ');
226 254
        downloadedObjects.append(object.icon   ? "1":"0");
227 255
        downloadedObjects.append(' ');
228 256
        downloadedObjects.append(object.object ? "1":"0");
......
230 258
        downloadedObjects.append(object.extras ? "1":"0");
231 259
        }
232 260

  
233
      editor.putString("rol_downloaded", downloadedObjects.toString() );
261
      String objects = downloadedObjects.toString();
262
android.util.Log.e("D", "saving: "+objects);
263

  
264
      editor.putString("rol_downloaded", objects );
234 265
      }
235 266
    }
236 267

  
......
244 275

  
245 276
      if( obj!=null )
246 277
        {
247
        String name = obj.getName();
278
        String name = obj.getUpperName();
248 279
        editor.putInt("rol_"+name, obj.getMeshState() );
249 280
        }
250 281
      }
......
255 286
  public static void restorePreferences(SharedPreferences preferences)
256 287
    {
257 288
    RubikObject object = getObject(DEF_OBJECT);
258
    String defName = object==null ? "CUBE_3" : object.getName();
289
    String defName = object==null ? "CUBE_3" : object.getUpperName();
259 290
    String objName= preferences.getString("rol_objName",defName);
260 291
    mObject = getOrdinal(objName);
261 292

  
......
273 304
        {
274 305
        String[] parts = dObj.split(" ");
275 306

  
276
        if( parts.length==4 )
307
        if( parts.length==7 )
277 308
          {
278 309
          String name = parts[0];
279
          String icon = parts[1];
280
          String obje = parts[2];
281
          String extr = parts[3];
310
          String scra = parts[1];
311
          String objM = parts[2];
312
          String extM = parts[3];
313
          String icon = parts[4];
314
          String obje = parts[5];
315
          String extr = parts[6];
316

  
317
          int scrambles = Integer.parseInt(scra);
318
          int oMinor    = Integer.parseInt(objM);
319
          int eMinor    = Integer.parseInt(extM);
282 320

  
283 321
          boolean bIcon = icon.equals("1");
284 322
          boolean bObje = obje.equals("1");
285 323
          boolean bExtr = extr.equals("1");
286 324

  
287
          android.util.Log.e("D", "adding: "+name);
288

  
289
          addDownloadedObject(name,bIcon,bObje,bExtr);
325
          addDownloadedObject(name,scrambles,oMinor,eMinor,bIcon,bObje,bExtr);
290 326
          }
291 327
        }
292 328
      }
......
302 338

  
303 339
      if( obj!=null )
304 340
        {
305
        String name  = obj.getName();
341
        String name  = obj.getUpperName();
306 342
        int meshState= preferences.getInt("rol_"+name,MESH_NICE);
307 343
        obj.setMeshState(meshState);
308 344
        }
......
353 389
    {
354 390
    if( mThis==null ) mThis = new RubikObjectList();
355 391

  
392
    String lowerName = name.toLowerCase();
393

  
356 394
    for(int i=0; i<mNumObjects; i++)
357 395
      {
358 396
      RubikObject obj = mObjects.get(i);
359

  
360
      if( obj.getName().equals(name) ) return i;
397
      if( obj.getLowerName().equals(lowerName) ) return i;
361 398
      }
362 399

  
363 400
    return -1;

Also available in: Unified diff