Esempio n. 1
0
    MachineTestIndieGameResult RunWheel(MachineTestInput input)
    {
        MachineTestIndieGameResult result = _machine.WheelGame.SimulateUserPlay(input._betAmount);

        _machine.ChangeSmallGameState(SmallGameState.None);

        return(result);
    }
Esempio n. 2
0
    public MachineTestOutput Run(MachineTestInput input)
    {
        CoreSpinResult             spinResult      = Spin(input);
        MachineTestIndieGameResult indieGameResult = _indieGameManager.Run(input);
        MachineTestOutput          output          = ConstructOutput(input, spinResult, indieGameResult);

        return(output);
    }
Esempio n. 3
0
    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);
    }
Esempio n. 4
0
    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);
    }