Project

General

Profile

« Previous | Next » 

Revision 7480fbab

Added by Leszek Koltunski over 1 year ago

Progress with marking objects as free.

View differences:

src/main/java/org/distorted/objects/RubikObjectList.java
222 222
      }
223 223
    }
224 224

  
225
///////////////////////////////////////////////////////////////////////////////////////////////////
226

  
227
  public static boolean allAlreadyBought()
228
    {
229
    return mFreeBoughtObjects.equals("*");
230
    }
231

  
232
///////////////////////////////////////////////////////////////////////////////////////////////////
233

  
234
  public static boolean objectAlreadyBought(String shortName)
235
    {
236
    RubikObject o = getObject(shortName);
237
    return ( o!=null && o.isFree() );
238
    }
239

  
225 240
///////////////////////////////////////////////////////////////////////////////////////////////////
226 241

  
227 242
  public static void buyAll()
......
244 259
    if( o!=null && !o.isFree() )
245 260
      {
246 261
      o.markFree();
247
      mFreeBoughtObjects += (","+shortName);
262
      String add = mFreeBoughtObjects.length()==0 ? shortName : (","+shortName);
263
      mFreeBoughtObjects += add;
248 264
      return true;
249 265
      }
250 266

  
......
260 276
    if( o!=null && !o.isFree() )
261 277
      {
262 278
      o.markFree();
263
      mFreeSolvedObjects += (","+shortName);
279
      String add = mFreeSolvedObjects.length()==0 ? shortName : (","+shortName);
280
      mFreeSolvedObjects += add;
264 281
      return true;
265 282
      }
266 283

  
......
317 334

  
318 335
///////////////////////////////////////////////////////////////////////////////////////////////////
319 336

  
320
  public static void restorePreferences(Context context, SharedPreferences preferences)
337
  public static void restorePreferences(Context context, SharedPreferences preferences, boolean justStarted)
321 338
    {
322 339
    if( mThis==null ) mThis = new RubikObjectList();
323 340

  
......
364 381
    mObject = getOrdinal(objName);
365 382
    if( mObject<0 || mObject>=mNumObjects ) mObject = DEF_OBJECT;
366 383

  
367
    mFreeSolvedObjects = preferences.getString("rol_freeSolved", "");
368
    mFreeBoughtObjects = preferences.getString("rol_freeBought", "");
369

  
370
    if( mFreeBoughtObjects.length()>0 )
384
    if( justStarted )
371 385
      {
372
      if( mFreeBoughtObjects.charAt(0)=='*' )
386
      mFreeSolvedObjects = preferences.getString("rol_freeSolved", "");
387
      mFreeBoughtObjects = preferences.getString("rol_freeBought", "");
388

  
389
      if( mFreeBoughtObjects.length()>0 )
373 390
        {
374
        for(int i=0; i<mNumObjects; i++)
391
        if( mFreeBoughtObjects.charAt(0)=='*' )
392
          {
393
          for(int i=0; i<mNumObjects; i++)
394
            {
395
            RubikObject o = mObjects.get(i);
396
            o.markFree();
397
            }
398
          }
399
        else
375 400
          {
376
          RubikObject o = mObjects.get(i);
377
          o.markFree();
401
          String[] objs = mFreeBoughtObjects.split(",");
402

  
403
          for( String obj : objs )
404
            {
405
            RubikObject o = getObject(obj);
406
            if( o!=null ) o.markFree();
407
            }
378 408
          }
379 409
        }
380
      else
410

  
411
      if( mFreeSolvedObjects.length()>0 )
381 412
        {
382
        String[] objs = mFreeBoughtObjects.split(",");
413
        String[] objs = mFreeSolvedObjects.split(",");
383 414

  
384 415
        for( String obj : objs )
385 416
          {
......
388 419
          }
389 420
        }
390 421
      }
391

  
392
    if( mFreeSolvedObjects.length()>0 )
393
      {
394
      String[] objs = mFreeSolvedObjects.split(",");
395

  
396
      for( String obj : objs )
397
        {
398
        RubikObject o = getObject(obj);
399
        if( o!=null ) o.markFree();
400
        }
401
      }
402 422
    }
403 423

  
404 424
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff