Пример #1
0
    /// <summary>
    /// Every time RunTestProfile is run a new testing field will be spawned and added to a list.
    /// </summary>
    /// <param name="desiredCoinQuantityPerUnit"></param>
    /// <param name="unitsDeep"></param>
    /// <param name="unitsWide"></param>
    /// <param name="startDelay"></param>
    /// <param name="sideRatio"></param>
    /// <returns></returns>
    IEnumerator RunTestProfile(int desiredCoinQuantityPerUnit,
                               int unitsDeep, int unitsWide,
                               float startDelay, float sideRatio)
    {
        print("Side ratio testing: " + sideRatio);
        currentTestRun.Add(Instantiate(testingUnitSpawner, Vector3.zero, Quaternion.identity, transform));
        TestingUnitSpawnerController newTestRunSpawnerController = currentTestRun[currentTestRun.Count - 1].GetComponent <TestingUnitSpawnerController>();

        newTestRunSpawnerController.desiredCoinQuantityPerUnit = desiredCoinQuantityPerUnit;
        newTestRunSpawnerController.unitsDeep  = unitsDeep;
        newTestRunSpawnerController.unitsWide  = unitsWide;
        newTestRunSpawnerController.startDelay = startDelay;
        newTestRunSpawnerController.sideRatio  = sideRatio;

        StartCoroutine(newTestRunSpawnerController.SetUpUnits());


        yield return(new WaitUntil(() => newTestRunSpawnerController.TestingComplete()));

        //print("Testing complete? " + newTestRunSpawnerController.TestingComplete());

        //float sideDropPercentage = newTestRunSpawnerController.CalculateSideDropPercent();
        //float sideDropOffset = CalculatePercentageOffset(sideDropPercentage);
        //print("side drop percent: " + sideDropPercentage);
        //print("offset: " + sideDropOffset);
        print("SetUpTestRun Complete");
    }
Пример #2
0
    IEnumerator SetUpTestRun()
    {
        runningTest = true;

        StartCoroutine(RunTestProfile(10, 10, 10, 0, lowerLimit));
        TestingUnitSpawnerController newTestRunSpawnerController = currentTestRun[currentTestRun.Count - 1].GetComponent <TestingUnitSpawnerController>();

        yield return(new WaitUntil(() => newTestRunSpawnerController.TestingComplete()));

        float lowerSideDropPercentage = newTestRunSpawnerController.CalculateSideDropPercent();
        float lowerSideDropOffset     = CalculatePercentageOffset(lowerSideDropPercentage);

        WriteData(lowerLimit, lowerSideDropPercentage, lowerSideDropOffset);
        if (lowerSideDropPercentage > 1f / 3f)
        {
            lowerLimit -= lowerSideDropOffset * limitScaler;
        }
        else
        {
            lowerLimit += lowerSideDropOffset * limitScaler;
        }


        //StartCoroutine(RunTestProfile(100, 10, 10, 0, upperLimit));

        //newTestRunSpawnerController = currentTestRun[currentTestRun.Count - 1].GetComponent<TestingUnitSpawnerController>();
        //yield return new WaitUntil(() => newTestRunSpawnerController.TestingComplete());

        //float upperSideDropPercentage = newTestRunSpawnerController.CalculateSideDropPercent();
        //float upperSideDropOffset = CalculatePercentageOffset(upperSideDropPercentage);
        //WriteData(upperLimit, upperSideDropPercentage, upperSideDropOffset);
        //if(upperSideDropPercentage < 1f / 3f)
        //{
        //    upperLimit += upperSideDropOffset * limitScaler;
        //}
        //else { upperLimit -= upperSideDropOffset * limitScaler; }


        //if (upperLimit < lowerLimit)
        //{
        //    print("*********************************swapping limits");
        //    print("upperLimit: " + upperLimit);
        //    print("lowerLimit: " + lowerLimit);
        //    float temp = upperLimit;
        //    upperLimit = lowerLimit;
        //    lowerLimit = temp;
        //    limitScaler /= 2; //half scaling every cross over event
        //    //next time i'm trying limitScaler = 1 for the whole time and run for an hour.
        //    print("*********************************new limits");
        //    print("upperLimit: " + upperLimit);
        //    print("lowerLimit: " + lowerLimit);
        //}
        runningTest = false;
    }