void UpdateTileBitmask(int x, int y) { if (tiles[x, y].tile != null) { if (GetTileData(x, y).usesBitmask) { int bitmaskValue = GetBitmaskValue(x, y); int spriteIndex = bitmaskValueToIndex[bitmaskValue]; //print ("Value for (" + x + ", " + y + ") is " + bitmaskValue); BitmaskSprite bitmaskSprite = bitmaskSprites[spriteIndex]; SpriteRenderer srend = tiles[x, y].GetMainSprite(); srend.sprite = bitmaskSprite.sprite; srend.transform.rotation = Quaternion.Euler(0, 0, bitmaskSprite.angle); //TODO: calculate the collider accordingly } } }
/*void CreateBackground () * { * GameObject backgroundObj = GameObject.CreatePrimitive(PrimitiveType.Quad); * backgroundObj.name = "Background"; * backgroundObj.transform.position = new Vector3 ((width / 2) - 0.5f, (height / 2) - 0.5f, 0); * backgroundObj.transform.localScale = new Vector3 (width, height, 1); * * backgroundObj.transform.parent = this.transform; * * Renderer rend = backgroundObj.GetComponentInChildren <Renderer> (); * rend.material = backgroundMat; * rend.material.mainTextureScale = new Vector2 (width, height); * }*/ BitmaskSprite[] LoadBitmaskSprites(string prefabName) { BitmaskSprite[] newSprites = new BitmaskSprite[48]; //Sprite baseSprite = null;//Resources.Load<Sprite>(prefabName + "/BaseSprite"); Sprite sideSprite = Resources.Load <Sprite>(prefabName + "/SideSprite"); Sprite innerCornerSprite = Resources.Load <Sprite>(prefabName + "/InnerCornerSprite"); Sprite outerCornerSprite = Resources.Load <Sprite>(prefabName + "/InnerCornerSprite"); Sprite tSplitSprite = Resources.Load <Sprite>(prefabName + "/TSplitSprite"); Sprite endSprite = Resources.Load <Sprite>(prefabName + "/EndSprite"); Sprite boxSprite = Resources.Load <Sprite>(prefabName + "/BaseSprite"); Sprite xSprite = Resources.Load <Sprite>(prefabName + "/IntersectionSprite"); newSprites[0] = new BitmaskSprite(null, 0); newSprites[1] = new BitmaskSprite(endSprite, 180); newSprites[2] = new BitmaskSprite(endSprite, 270); newSprites[3] = new BitmaskSprite(innerCornerSprite, 90); newSprites[4] = new BitmaskSprite(outerCornerSprite, 90); newSprites[5] = new BitmaskSprite(endSprite, 90); newSprites[6] = new BitmaskSprite(innerCornerSprite, 0); newSprites[7] = new BitmaskSprite(outerCornerSprite, 0); newSprites[8] = new BitmaskSprite(sideSprite, 0); newSprites[9] = new BitmaskSprite(tSplitSprite, 0); newSprites[10] = new BitmaskSprite(tSplitSprite, 0); newSprites[11] = new BitmaskSprite(tSplitSprite, 0); newSprites[12] = new BitmaskSprite(sideSprite, 180); newSprites[13] = new BitmaskSprite(endSprite, 0); newSprites[14] = new BitmaskSprite(sideSprite, 90); newSprites[15] = new BitmaskSprite(innerCornerSprite, 180); newSprites[16] = new BitmaskSprite(tSplitSprite, 90); newSprites[17] = new BitmaskSprite(tSplitSprite, 90); newSprites[18] = new BitmaskSprite(innerCornerSprite, 270); newSprites[19] = new BitmaskSprite(tSplitSprite, 270); newSprites[20] = new BitmaskSprite(tSplitSprite, 270); newSprites[21] = new BitmaskSprite(tSplitSprite, 180); newSprites[22] = new BitmaskSprite(xSprite, 0); newSprites[23] = new BitmaskSprite(xSprite, 0); newSprites[24] = new BitmaskSprite(xSprite, 0); newSprites[25] = new BitmaskSprite(tSplitSprite, 180); newSprites[26] = new BitmaskSprite(outerCornerSprite, 180); newSprites[27] = new BitmaskSprite(tSplitSprite, 90); newSprites[28] = new BitmaskSprite(sideSprite, 270); newSprites[29] = new BitmaskSprite(tSplitSprite, 180); newSprites[30] = new BitmaskSprite(xSprite, 0); newSprites[31] = new BitmaskSprite(tSplitSprite, 270); newSprites[32] = new BitmaskSprite(xSprite, 0); newSprites[33] = new BitmaskSprite(innerCornerSprite, 270); newSprites[34] = new BitmaskSprite(outerCornerSprite, 270); newSprites[35] = new BitmaskSprite(tSplitSprite, 270); newSprites[36] = new BitmaskSprite(sideSprite, 90); newSprites[37] = new BitmaskSprite(tSplitSprite, 180); newSprites[38] = new BitmaskSprite(xSprite, 0); newSprites[39] = new BitmaskSprite(xSprite, 0); newSprites[40] = new BitmaskSprite(tSplitSprite, 90); newSprites[41] = new BitmaskSprite(innerCornerSprite, 180); newSprites[42] = new BitmaskSprite(sideSprite, 0); newSprites[43] = new BitmaskSprite(tSplitSprite, 0); newSprites[44] = new BitmaskSprite(innerCornerSprite, 0); newSprites[45] = new BitmaskSprite(innerCornerSprite, 90); newSprites[46] = new BitmaskSprite(null, 0); newSprites[47] = new BitmaskSprite(boxSprite, 0); return(newSprites); }