Esempio n. 1
0
 private bool HasPart(BrickPart p, Vector2 side)
 {
     foreach (BrickPart part in parts)
     {
         if (part != p)
         {
             if (p.pos + side == part.pos)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
Esempio n. 2
0
 public void SpawnStaticBrick(List <Vector2> positions)
 {
     brickType = 8;
     foreach (Vector2 vt in positions)
     {
         BrickPart part = (BrickPart)Instantiate(partPrefab);
         part.transform.SetParent(partRegion);
         part.transform.localScale = Vector3.one;
         part.image.sprite         = sprites[brickType];
         part.image.color          = Color.gray;
         part.frame.SetActive(false);
         part.GetComponent <RectTransform>().anchoredPosition = new Vector3(vt.x * BRICK_SIZE, vt.y * BRICK_SIZE);
         part.pos = vt;
         parts.Add(part);
     }
     UpdateCorner();
 }
Esempio n. 3
0
 public void SpawnBrick(int type, bool shadow = false)
 {
     brickType = type;
     isShadow  = shadow;
     foreach (Vector2 vt in BRICK_POS[type])
     {
         BrickPart part = (BrickPart)Instantiate(partPrefab);
         part.transform.SetParent(partRegion);
         part.transform.localScale = Vector3.one;
         part.image.sprite         = isShadow ? sprites[7] : sprites[type];
         part.image.SetColorAlpha(isShadow ? 0.2f : 1);
         part.frame.SetActive(!isShadow);
         part.GetComponent <RectTransform>().anchoredPosition = new Vector3(vt.x * BRICK_SIZE, vt.y * BRICK_SIZE);
         part.pos = vt;
         parts.Add(part);
     }
     UpdateCorner();
 }
Esempio n. 4
0
 private bool HasInCorner(BrickPart p, Vector2 side1, Vector2 side2)
 {
     return(HasPart(p, side1) && HasPart(p, side2));
 }
Esempio n. 5
0
 private bool HasOutCorner(BrickPart p, Vector2 side1, Vector2 side2)
 {
     return(!HasPart(p, side1) && !HasPart(p, side2));
 }