protected override float GetRandomValue(RandOption option)
    {
        switch (option)
        {
        case RandOption.SHOT_TIME:
            float randValue = Random.Range(1.0f - (GameController.GameLevel * 0.2f), 6.0f - (GameController.GameLevel * 0.2f));
            return(randValue >= 0.5f ? randValue : 0.5f);

        //if (GameController.GameLevel >= 16)
        //    return Random.Range(0.25f, 0.5f);
        //else if (GameController.GameLevel >= 8)
        //    return Random.Range(0.5f, 1.0f);
        //else
        //    return Random.Range(1.0f, 1.5f);

        case RandOption.BULLET_SPEED:
            return(Random.Range(0, 0.05f));

        //if (GameController.GameLevel >= 16)
        //    return Random.Range(0.1f, 0.15f);
        //else if (GameController.GameLevel >= 8)
        //    return Random.Range(0.05f, 0.1f);
        //else
        //    return Random.Range(0, 0.05f);
        default:
            return(0.0f);
        }
    }
        private static void GetTableRandSettings(RandOption option, out int slotStart, out int slotStop, out bool copy)
        {
            copy = false;
            switch (option)
            {
            default:     // All
                slotStart = 0;
                slotStop  = -1;
                break;

            case RandOption.Regular_Only:
                slotStart = 0;
                slotStop  = 1;
                break;

            case RandOption.SOS_Only:
                slotStart = 1;
                slotStop  = -1;
                break;

            case RandOption.Regular_CopySOS:
                slotStart = 0;
                slotStop  = 1;
                copy      = true;
                break;
            }
        }
    protected virtual float GetRandomValue(RandOption option)
    {
        switch (option)
        {
        case RandOption.SHOT_TIME:
            float randValue = Random.Range(2.0f - (GameController.GameLevel * 0.1f), 6.0f - (GameController.GameLevel * 0.1f));
            return(randValue >= 1 ? randValue : 1);

        //if (GameController.GameLevel >= 10)
        //    return Random.Range(1.0f, 3.0f);
        //else if (GameController.GameLevel >= 5)
        //    return Random.Range(2.0f, 6.0f);
        //else
        //    return Random.Range(3.0f, 9.0f);

        case RandOption.BULLET_SPEED:
            return(Random.Range(-0.025f, 0.025f));

        //if (GameController.GameLevel >= 10)
        //    return Random.Range(0.05f, 0.1f);
        //else if (GameController.GameLevel >= 5)
        //    return Random.Range(0, 0.05f);
        //else
        //    return Random.Range(-0.025f, 0.025f);
        default:
            return(0.0f);
        }
    }