public static StageBuilder CreateStageBuilder(EStageType StageType) { StageBuilder builder = null; switch (StageType) { case EStageType.ONAJIMISAN: builder = new OnajimisanBuilder(); break; case EStageType.FOURTOWER: builder = new FourTowerBuilder(); break; case EStageType.CROSSCROSS: builder = new CrossCrossBuilder(); break; case EStageType.LAWOFCYCLES: builder = new LawOfCyclesBuilder(); break; case EStageType.PRODUCTORISUS: builder = new ProductorIsUsBuilder(); break; default: builder = null; break; } return(builder); }
public Control(UserChoice userChoice, TakeOver takeOver, DisplayInfo dInfo, Input input, IOperator Operator) { this.dInfo = dInfo; this.Operator = Operator; BarType = userChoice.BarType; bool extendon = true; if (BarType == EBarType.SHORT) { extendon = false; } //バーとボールのインスタンスを生成 bar = new Bar(BarType, dInfo, Operator); mainBall = new Ball(dInfo, bar); ballSpeedUpCount = 0; SmallBalls = new LinkedList <Ball>(); willBeAddedSmallBalls = new List <Ball>(); cleared = false; Score = takeOver.Score; Stock = takeOver.Stock; Stage = userChoice.StageType; ramdomWalkCount = 0; ComboCount = 0; OnCombo = false; combooncount = 0; alphacombo = 0; PrepareSound(); // 残機表示の読み込み gh = new Bitmap(Main.ResourceDirectory + "ball_b.png"); builder = StageBuilder.CreateStageBuilder(Stage); builder.CreateStage(out blocks, ref stageTotalBlockCount, extendon); }