Ejemplo n.º 1
0
    private void Start()
    {
        var brain = transform.Find("GridWorldBrain").GetComponent <Brain>();


        if (brain.brainType == BrainType.Internal)
        {
            CoreBrainInternal coreBrainInternal = (CoreBrainInternal)brain.coreBrain;

            string name = "summary/" + coreBrainInternal.graphModel.name + ".csv";

            csvWriter = new CsvFileWriter(name);

            List <string> columns = new List <string>()
            {
                "No", "Reward", "Step"
            };                                                                // making Index Row
            csvWriter.WriteRow(columns);
        }
    }
Ejemplo n.º 2
0
    public static void SwitchToInternalBrain()
    {
        //get training scene and find academy object
        Scene trainingScene = GetTrainingScene();

        GameObject[] gameObjects   = trainingScene.GetRootGameObjects();
        GameObject   academyObject = gameObjects.FirstOrDefault(g => g.name == AcademyName);

        if (academyObject != null)
        {
            //get child brain and change brain type
            Brain brain = academyObject.GetComponentInChildren <Brain>();
            brain.brainType = BrainType.Internal;
            brain.UpdateCoreBrains();

            //get selected text asset
            TextAsset selectedTextAsset = (TextAsset)Selection.activeObject;
            if (selectedTextAsset != null)
            {
                //set graph model of internal brain to selected text asset
                CoreBrainInternal internalBrain = (CoreBrainInternal)brain.coreBrain;
                if (internalBrain != null)
                {
                    internalBrain.graphModel = selectedTextAsset;
                }
                else
                {
                    Debug.LogError("Internal brain not found!");
                }
            }
            else
            {
                Debug.LogWarning("TextAsset for internal brain's graph model isn't selected!");
            }
        }
        else
        {
            Debug.LogError("Brain not found on current scene!");
        }
    }