コード例 #1
0
    public void Evaluate(IBlackBox box)
    {
        // Random starting point in radius 20
        Vector3 dir = new Vector3(UnityEngine.Random.Range(-1f, 1f), 0, UnityEngine.Random.Range(-1f, 1f));
        Vector3 pos = dir.normalized * 20;

        pos.y = 1;
        GameObject         obj  = Instantiate(Robot, pos, Quaternion.identity) as GameObject;
        TrainingController robo = obj.GetComponent <TrainingController>();

        Target.transform.position   = new Vector3(0, 1, 0);
        Target.transform.localScale = new Vector3(Settings.Brain.TargetSize, 2, Settings.Brain.TargetSize);
        dict.Add(box, robo);

        if (Settings.Brain.MultipleTargets)
        {
            GameObject t = Instantiate(Target, new Vector3(0, 1, 0), Quaternion.identity) as GameObject;
            t.transform.localScale = new Vector3(1, 1, 1);
            TargetController tc = t.AddComponent <TargetController>();
            tc.Activate(obj.transform);
            targetDict.Add(robo, tc);
            robo.Activate(box, t);
        }
        else
        {
            robo.Activate(box, Target);
        }
        evaluationStartTime = 0;
    }