/// <summary> /// プリセットを指定してこうげきだまパターンを生成 /// </summary> /// <param name="preset"></param> /// <param name="line"></param> /// <param name="order"></param> /// <param name="columns"></param> /// <param name="rows"></param> /// <param name="patternRows"></param> public void SetupDropPreset(DropOrderPresetType preset, ColorLineType line, ColorOrderType order, int columns, int rows, int patternRows) { var datas = GenerateDropOrder(preset, columns, rows, patternRows); GenerateColorPattern(datas, line, order, columns, rows, patternRows); dropAttackTamaPattern = datas; }
/// <summary> /// 座標が設定されているデータに色を設定 /// </summary> /// <param name="datas">座標が設定されているデータ配列</param> /// <param name="preset">落下順序プリセット</param> /// <param name="line">配色パターン</param> /// <param name="order">色の順序</param> /// <param name="columns">列数</param> /// <param name="rows">行数</param> /// <param name="patternRows">パターンの行数</param> public static void GenerateColorPattern(AttackTamaData[] datas, ColorLineType line, ColorOrderType order, int columns, int rows, int patternRows) { System.Action <AttackTamaData[], ColorOrderType, int, int, int> generator; switch (line) { case ColorLineType.Vertical: generator = GenerateColorPatternVertical; break; case ColorLineType.Horizontal: generator = GenerateColorPatternHorizontal; break; case ColorLineType.Diagonal: generator = GenerateColorPatternDiagonal; break; case ColorLineType.Mountain: generator = GenerateColorPatternMountain; break; case ColorLineType.ParallelogramDrop: generator = GenerateColorPatternParallelogram; break; case ColorLineType.VerticalHorizontalAlternately: generator = GenerateColorPatternVerticalHorizontalAlternately; break; case ColorLineType.LCharacter: generator = GenerateColorPatternLCharacter; break; case ColorLineType.ReverseLCharacter: generator = GenerateColorPatternReverseLCharacter; break; default: generator = (d, l, c, r, p) => { for (int i = 0; i < d.Length; ++i) { d[i].Color = ColorType.Yellow; } }; break; } generator(datas, order, columns, rows, patternRows); }