public MachineTestAnalysisResultPrinter(MachineTestConfig config, MachineTestUserResult userResult, MachineTestAnalysisResult analysisResult)
 {
     _mode           = MachineTestAnalysisMode.User;
     _config         = config;
     _userResult     = userResult;
     _analysisResult = analysisResult;
 }
 public MachineTestAnalysisResultPrinter(MachineTestConfig config, MachineTestMachineResult machineResult, MachineTestAnalysisResult analysisResult)
 {
     _mode           = MachineTestAnalysisMode.Machine;
     _config         = config;
     _machineResult  = machineResult;
     _analysisResult = analysisResult;
 }
 static void InitConfig()
 {
     _config = AssetDatabase.LoadAssetAtPath <MachineTestConfig>(_configFilePath);
     if (_config == null)
     {
         _config = new MachineTestConfig();
         AssetDatabase.CreateAsset(_config, _configFilePath);
     }
     else
     {
         //handle the case that after adding new machine in CoreDefine.AllMachineNames
         //reading the old .asset file won't add the new machine
         if (_config._selectMachines.Length < CoreDefine.AllMachineNames.Length)
         {
             bool[] machines = new bool[CoreDefine.AllMachineNames.Length];
             _config._selectMachines.CopyTo(machines, 0);
             _config._selectMachines = machines;
             EditorUtility.SetDirty(_config);
             AssetDatabase.SaveAssets();
         }
         if (_config._allMachines.Length < CoreDefine.AllMachineNames.Length)
         {
             _config._allMachines = CoreDefine.AllMachineNames;
             EditorUtility.SetDirty(_config);
             AssetDatabase.SaveAssets();
         }
     }
 }
    public void UpdateTestConfigToGenConfig(MachineTestConfig testConfig, MachineSeedGenConfig genConfig)
    {
        genConfig._initLucky  = testConfig._initLucky;
        genConfig._initCredit = testConfig._initCredit;
        genConfig._spinCount  = testConfig._spinCount;
        genConfig._betMode    = testConfig._betMode;

        genConfig._spinCount     = testConfig._spinCount;
        genConfig._betMode       = testConfig._betMode;
        genConfig._betAmount     = testConfig._betAmount;
        genConfig._betPercentage = testConfig._betPercentage;
        genConfig._minBetAmountInPercentageMode = testConfig._minBetAmountInPercentageMode;
        genConfig._stopCredit = testConfig._stopCredit;

        genConfig._userCount             = testConfig._userCount;
        genConfig._seedMode              = testConfig._seedMode;
        genConfig._startSeedForFixedMode = testConfig._startSeedForFixedMode;

        genConfig._isPayProtectionEnable = testConfig._isPayProtectionEnable;

//		int index = ListUtility.Find(testConfig._selectMachines, (bool s) => {
//			return true;
//		});
//
//		if(index >= 0 && index < testConfig._allMachines.Length)
//		{
//			genConfig._machineName = testConfig._allMachines[index];
//		}
//		else
//		{
//			Debug.LogError("Find no machine name");
//		}
    }
    static void ShowMachineConfig(MachineTestConfig config)
    {
        EditorGUILayout.LabelField("----- machine config -----");
        const int countPerRow = 2;
        int       rowNum      = (CoreDefine.AllMachineNames.Length + countPerRow - 1) / countPerRow;

        for (int i = 0; i < rowNum; i++)
        {
            EditorGUILayout.BeginHorizontal();
            for (int k = 0; k < countPerRow; k++)
            {
                int index = i * countPerRow + k;
                if (index < CoreDefine.AllMachineNames.Length)
                {
                    string m = CoreDefine.AllMachineNames[index];
                    config._selectMachines[index] = EditorGUILayout.Toggle(m, config._selectMachines[index]);
                }
            }
            EditorGUILayout.EndHorizontal();
        }

        if (GUILayout.Button("Select all machines", GUILayout.Width(160.0f)))
        {
            ListUtility.FillElements(config._selectMachines, true);
        }
        if (GUILayout.Button("Deselect all machines", GUILayout.Width(160.0f)))
        {
            ListUtility.FillElements(config._selectMachines, false);
        }
    }
    public void Run(MachineSeedGenConfig genConfig, MachineTestConfig testConfig)
    {
        _testEngine.Init(testConfig);
        MachineTestMachineResult machineResult = _testEngine.RunSingleMachine(genConfig._machineName);
        List <uint> seedList = FilterMachineSeeds(machineResult, genConfig._limitConfigs);

        OutputPrintMachineResult(machineResult, genConfig);
        OutputMachineSeeds(genConfig, seedList);

        Debug.Log("Seed generator engine done");
    }
    static void InitConfig()
    {
        _genConfig = AssetDatabase.LoadAssetAtPath <MachineSeedGenConfig>(_configFilePath);
        if (_genConfig == null)
        {
            _genConfig = new MachineSeedGenConfig();
            AssetDatabase.CreateAsset(_genConfig, _configFilePath);
        }

        _testConfig = new MachineTestConfig();

        _engine.UpdateGenConfigToTestConfig(_genConfig, _testConfig, true);
    }
    public static void ShowAllUsersConfig(MachineTestConfig config)
    {
        EditorGUILayout.LabelField("----- all users config -----");
        config._userCount = EditorGUILayout.IntField("userCount", config._userCount);
        config._seedMode  = (MachineTestSeedMode)EditorGUILayout.EnumPopup("seedMode", config._seedMode);
        if (config._seedMode == MachineTestSeedMode.Fixed)
        {
            config._startSeedForFixedMode = (uint)EditorGUILayout.IntField("  startSeedForFixedMode", (int)config._startSeedForFixedMode);

            //show seed range
            uint   startSeed = config._startSeedForFixedMode;
            uint   endSeed   = config._startSeedForFixedMode + (uint)config._userCount - 1;
            string s         = string.Format("  User seed range: [{0}, {1}]", startSeed, endSeed);
            EditorGUILayout.LabelField(s);
        }
    }
    public static void ShowSingleUserConfig(MachineTestConfig config)
    {
        EditorGUILayout.LabelField("----- single user config -----");
        config._initLucky             = EditorGUILayout.IntField("initLucky", config._initLucky);
        config._initCredit            = EditorGUILayout.LongField("initCredit", config._initCredit);
        config._spinCount             = EditorGUILayout.IntField("spinCount", config._spinCount);
        config._isPayProtectionEnable = EditorGUILayout.Toggle("pay protection", config._isPayProtectionEnable);

        config._betMode = (MachineTestBetMode)EditorGUILayout.EnumPopup("betMode", config._betMode);
        if (config._betMode == MachineTestBetMode.FixBetAmount)
        {
            config._betAmount = EditorGUILayout.IntField("  betAmount", config._betAmount);
        }
        else if (config._betMode == MachineTestBetMode.FixBetPercentage)
        {
            config._betPercentage = EditorGUILayout.FloatField("  betPercentage %", config._betPercentage);
            config._minBetAmountInPercentageMode = EditorGUILayout.FloatField("  minBetAmount", config._minBetAmountInPercentageMode);
        }

        config._stopCredit = EditorGUILayout.IntField("stopCredit", config._stopCredit);
    }
    public void UpdateGenConfigToTestConfig(MachineSeedGenConfig genConfig, MachineTestConfig testConfig, bool isCheckMachineName)
    {
        testConfig._initLucky  = genConfig._initLucky;
        testConfig._initCredit = genConfig._initCredit;
        testConfig._spinCount  = genConfig._spinCount;
        testConfig._betMode    = genConfig._betMode;

        testConfig._spinCount     = genConfig._spinCount;
        testConfig._betMode       = genConfig._betMode;
        testConfig._betAmount     = genConfig._betAmount;
        testConfig._betPercentage = genConfig._betPercentage;
        testConfig._minBetAmountInPercentageMode = genConfig._minBetAmountInPercentageMode;
        testConfig._stopCredit = genConfig._stopCredit;

        testConfig._userCount             = genConfig._userCount;
        testConfig._seedMode              = genConfig._seedMode;
        testConfig._startSeedForFixedMode = genConfig._startSeedForFixedMode;

        testConfig._isPayProtectionEnable = genConfig._isPayProtectionEnable;

        if (isCheckMachineName)
        {
            if (testConfig._allMachines.Contains(genConfig._machineName))
            {
                int index = ListUtility.Find(testConfig._allMachines, (string name) => {
                    return(name == genConfig._machineName);
                });

                Debug.Assert(index >= 0 && index < testConfig._allMachines.Length);

                testConfig._selectMachines[index] = true;
            }
            else
            {
                Debug.LogError("machineName is wrong: " + genConfig._machineName);
            }
        }
    }
 public void Init(MachineTestConfig config)
 {
     _config = config;
 }
Beispiel #12
0
 public MachineTestRound(CoreMachine machine, MachineTestConfig config, MachineTestIndieGameManager indieGameManager)
 {
     _machine          = machine;
     _config           = config;
     _indieGameManager = indieGameManager;
 }