/// <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="preset"></param> /// <param name="columns"></param> /// <param name="rows"></param> /// <param name="patternRows"></param> /// <returns></returns> public static AttackTamaData[] GenerateDropOrder(DropOrderPresetType preset, int columns, int rows, int patternRows) { System.Func <int, int, int, AttackTamaData[]> generator; switch (preset) { case DropOrderPresetType.LeftBottomStart: generator = GenerateDropOrderLeftDownStart; break; case DropOrderPresetType.CenterStart: generator = GenerateDropOrderCenterStart; break; case DropOrderPresetType.BothSideStart: generator = GenerateDropOrderBothSideStart; break; case DropOrderPresetType.OddColumnRightStart: generator = GenerateDropOrderOddColumnRightStart; break; case DropOrderPresetType.VerticalHorizontalAlternately: generator = GenerateDropOrderVerticalHorizontalAlternately; break; case DropOrderPresetType.LCharacter: generator = GenerateDropOrderLCharacter; break; case DropOrderPresetType.ReversedLCharacter: generator = GenerateDropOrderReverseLCharacter; break; default: generator = GenerateDropOrderFlatLeftStart; break; } return(generator(columns, rows, patternRows)); }