public Tetramino(TetraminoTypeEnum type, int[,] matrix, Vector2 pivot, RotationStateEnum currentRotation, MinoColorsEnum color) { Type = type; Matrix = matrix; Pivot = pivot; CurrentRotationState = currentRotation; Color = color; Size = new Vector2Int(Matrix.GetLength(0), Matrix.GetLength(1)); }
public Material GetMaterial(MinoColorsEnum color) { if (colorMaterials == null) { InitializeMaterialsDictionary(); } return(colorMaterials[color]); }
public void OnMouseInput(GridInputMouseSignal signal) { var colorValues = (MinoColorsEnum[])Enum.GetValues(typeof(MinoColorsEnum)); MinoColorsEnum color = colorValues[UnityEngine.Random.Range(0, colorValues.Length)]; if (tetrisGrid.GetCell(signal.Position) != null) { tetrisGrid.DeleteMino(signal.Position); } else { tetrisGrid.CreateMino(signal.Position, color); } }
public Mino CreateMino(int x, int y, MinoColorsEnum color) { CheckIfPositionValid(x, y); if (Grid[x, y] != null) { throw new ArgumentException($"Existing cell found at passed coordinates ({x}, {y})."); } var result = new Mino(color); Grid[x, y] = result; OnMinoAdded?.Invoke(new Vector2Int(x, y), result); return(result); }
public Mino CreateMino(Vector2Int position, MinoColorsEnum color) { return(CreateMino(position.x, position.y, color)); }
public Mino(MinoColorsEnum color) { Color = color; }
public void SetColor(MinoColorsEnum color) { spriteRenderer.material = colorMaterials.GetMaterial(color); }