Project

General

Profile

« Previous | Next » 

Revision 3d766df3

Added by Leszek Koltunski over 2 years ago

Progress standarising stickering.

View differences:

src/main/java/org/distorted/objectlib/objects/TwistyDiamond.java
503 503
    return face>=mStickerVariants[variant].length ? -1 : mStickerVariants[variant][face];
504 504
    }
505 505

  
506
///////////////////////////////////////////////////////////////////////////////////////////////////
507

  
508
  private float getRadius()
509
    {
510
    return 0.06f;
511
    }
512

  
513
///////////////////////////////////////////////////////////////////////////////////////////////////
514

  
515
  private float getStroke()
516
    {
517
    float stroke = 0.08f;
518

  
519
    if( ObjectControl.isInIconMode() )
520
      {
521
      int[] numLayers = getNumLayers();
522

  
523
      switch(numLayers[0])
524
        {
525
        case 2: stroke*=1.4f; break;
526
        case 3: stroke*=2.0f; break;
527
        case 4: stroke*=2.1f; break;
528
        default:stroke*=2.2f; break;
529
        }
530
      }
531

  
532
    return stroke;
533
    }
534

  
506 535
///////////////////////////////////////////////////////////////////////////////////////////////////
507 536

  
508 537
  public ObjectSticker retSticker(int sticker)
509 538
    {
510 539
    if( mStickers==null )
511 540
      {
541
      float rad = getRadius();
542
      float str = getStroke();
512 543
      int numStickers = mStickerCoords.length;
513 544
      mStickers = new ObjectSticker[numStickers];
514 545

  
515 546
      for(int s=0; s<numStickers; s++)
516 547
        {
517 548
        float scale = mStickerScales[s];
518
        float radius = 0.06f / scale;
519
        float stroke = 0.08f / scale;
520
        float[] radii = new float[] {radius,radius,radius};
521

  
522
        if( ObjectControl.isInIconMode() )
523
          {
524
          int[] numLayers = getNumLayers();
525

  
526
          switch(numLayers[0])
527
            {
528
            case 2: stroke*=1.4f; break;
529
            case 3: stroke*=2.0f; break;
530
            case 4: stroke*=2.1f; break;
531
            default:stroke*=2.2f; break;
532
            }
533
          }
534

  
549
        float radius = rad / scale;
550
        float stroke = str / scale;
551
        int len = mStickerCoords[s].length;
552
        float[] radii = new float[len];
553
        for(int r=0; r<len; r++) radii[r] = radius;
535 554
        mStickers[s] = new ObjectSticker(mStickerCoords[s],null,radii,stroke);
536 555
        }
537 556
      }

Also available in: Unified diff