コード例 #1
0
    private Action GenerateNextSequentialAction()
    {
        Action generateNextSequentialAction = Mode.actions[_actionIndex];

        _actionIndex += 1;
        _actionIndex %= Mode.actions.Count;
        return(generateNextSequentialAction);
    }
コード例 #2
0
    private Action GenerateNextAction()
    {
        float sum = 0;

        Mode.actions.ForEach(action => sum += action.probability);
        float  random       = Random.Range(0, sum);
        Action returnAction = Mode.actions[0];

        for (int i = 0; i < Mode.actions.Count; i++)
        {
            random -= Mode.actions[i].probability;
            if (random <= 0)
            {
                return(Mode.actions[i]);
            }
        }
        return(returnAction);
    }