protected virtual void DerrivedInit(Cell cell, int size, GridController grid) { SetCell(cell); this.size = size; transform.parent = cell.transform; float height = 1f + size * .2f; float xSize = 0.25f + 0.08f * size; float ySize = 0.1f + 0.05f * size; //float height = 2.2f; //float xSize = 0.5f; //loat ySize = 0.2f; meshObject.localScale = new Vector3(xSize, ySize, height); meshObject.localPosition = new Vector3(0, 0, -(height / 2)); transform.localScale = new Vector3(1f, 1f, 1f); //transform.localPosition = new Vector3(0, 0, 0); transform.position = new Vector3(cell.transform.position.x, 0, 10f); if (grid.CheckForWhiteTiles(cell)) { this.size = 6; grid.WhiteTileAdded(); meshObject.localScale = new Vector3(.7f, .45f, 2.3f); } else if (grid.CheckForBlackTiles(cell)) { this.size = 7; grid.BlackTileAdded(); meshObject.localScale = new Vector3(.7f, .45f, 2.3f); } meshObject.GetComponent <MeshRenderer>().material = possibleMaterials[this.size - 1]; this.grid = grid; switch (size) { case 1: tileType.State = TileTypes.ESubState.Purple; break; case 2: tileType.State = TileTypes.ESubState.Green; break; case 3: tileType.State = TileTypes.ESubState.Blue; break; case 4: tileType.State = TileTypes.ESubState.Yellow; break; case 5: tileType.State = TileTypes.ESubState.Red; break; case 6: tileType.State = TileTypes.ESubState.White; break; default: break; } }