/// <summary> /// Creates a disco ball booster at position. /// </summary> /// <param name="boardPos">Board position.</param> /// <param name="worldPos">World position.</param> /// <param name="color">Color.</param> public void CreateDiscoBallAtPosition(GridCoordinate boardPos, Vector3 worldPos, ColorController.ToonColor color) { BoardObject newBoardObj = Instantiate(discoBallPrefab).GetComponent <BoardObject>(); newBoardObj.GetComponent <ColorController>().SetColor(color); newBoardObj.GridPosition = boardPos; newBoardObj.transform.position = worldPos; BoardController.Instance.AssignToBoard(newBoardObj); }
public List <Cube> GetAllCubesWithColor(ColorController.ToonColor color) { List <Cube> cubes = new List <Cube>(); foreach (BoardObject boardObj in board) { Cube currentCube = boardObj as Cube; if (currentCube != null && currentCube.ColorChanger.CurrentColor == color) { cubes.Add(currentCube); } } return(cubes); }
private Cube SpawnCube(ColorController.ToonColor color, Vector3 worldPos, Vector2Int gridPos, Transform parent) { GameObject cubeObj = PrefabUtility.InstantiatePrefab(CubeSpawner.Instance.cubePrefab) as GameObject; cubeObj.transform.position = worldPos; cubeObj.transform.SetParent(parent); cubeObj.transform.SetAsLastSibling(); Cube cube = cubeObj.GetComponent <Cube>(); cube.GridPosition.pos = gridPos; cube.SetPositionLock(true); BoardController.Instance.AssignToBoard(cube); cube.GetComponent <ColorController>().SetColor(color); cube.GetComponent <ShapeController>().SetShapeToDefault(); return(cube); }