MachineTestIndieGameResult RunWheel(MachineTestInput input) { MachineTestIndieGameResult result = _machine.WheelGame.SimulateUserPlay(input._betAmount); _machine.ChangeSmallGameState(SmallGameState.None); return(result); }
public MachineTestOutput Run(MachineTestInput input) { CoreSpinResult spinResult = Spin(input); MachineTestIndieGameResult indieGameResult = _indieGameManager.Run(input); MachineTestOutput output = ConstructOutput(input, spinResult, indieGameResult); return(output); }
private MachineTestOutput ConstructOutput(MachineTestInput input, CoreSpinResult spinResult, MachineTestIndieGameResult indieGameResult) { MachineTestOutput output = new MachineTestOutput(); output._spinResult = spinResult; //when respin, not subtract output._creditChange = (input._isRespin) ? 0 : -(int)input._betAmount; if (spinResult.Type == SpinResultType.Win) { output._creditChange += (int)spinResult.WinAmount; } //consider indie game if (indieGameResult != null) { output._creditChange += (long)indieGameResult._winAmount; } output._remainCredit = input._credit + output._creditChange; output._luckyChange = _machine.LuckyManager.LongLuckyManager.GetSubtractLongLucky(spinResult); output._remainLucky = input._lucky - output._luckyChange; if (output._remainLucky < 0) { output._remainLucky = 0; } output._shouldRespin = _machine.ShouldRespin(); if (_machine.LastSmallGameState == SmallGameState.None && _machine.SmallGameState != SmallGameState.None) { output._isChangeToSpecialSmallGameState = true; } output._isPayProtection = input._isPayProtection; if (indieGameResult != null) { output._isTriggerIndieGame = true; output._indieGameWinAmount = indieGameResult._winAmount; output._indieGameCustomData = indieGameResult._customData; } return(output); }
public MachineTestIndieGameResult Run(MachineTestInput input) { MachineTestIndieGameResult result = null; SmallGameState state = _machine.SmallGameState; //add more small game handlers here if (state == SmallGameState.TapBox) { result = RunTapBox(input); } else if (state == SmallGameState.Wheel) { result = RunWheel(input); } return(result); }