コード例 #1
0
        private static void SetupVehicle()
        {
            EditorHelper.SetUndoGroup("Setup Vehicle");

            GameObject selected = Selection.activeGameObject;

            //Create raycast anchor
            GameObject anchor = EditorHelper.CreateGameObject("Raycast Anchor", selected.transform);

            //Add AI scripts
            VehicleAI  veAi       = EditorHelper.AddComponent <VehicleAI>(selected);
            WheelDrive wheelDrive = EditorHelper.AddComponent <WheelDrive>(selected);

            TrafficSystem ts = GameObject.FindObjectOfType <TrafficSystem>();

            //Configure the vehicle AI script with created objects
            anchor.transform.localPosition = Vector3.zero;
            anchor.transform.localRotation = Quaternion.Euler(Vector3.zero);
            veAi.raycastAnchor             = anchor.transform;

            if (ts != null)
            {
                veAi.trafficSystem = ts;
            }

            //Create layer AutonomousVehicle if it doesn't exist
            EditorHelper.CreateLayer("AutonomousVehicle");

            //Set the tag and layer name
            selected.tag = "AutonomousVehicle";
            EditorHelper.SetLayer(selected, LayerMask.NameToLayer("AutonomousVehicle"), true);
        }
コード例 #2
0
        private static void CreateTraffic()
        {
            EditorHelper.SetUndoGroup("Create Traffic Objects");

            GameObject mainGo = EditorHelper.CreateGameObject("Traffic System");

            mainGo.transform.position = Vector3.zero;
            EditorHelper.AddComponent <TrafficSystem>(mainGo);

            GameObject segmentsGo = EditorHelper.CreateGameObject("Segments", mainGo.transform);

            segmentsGo.transform.position = Vector3.zero;

            GameObject intersectionsGo = EditorHelper.CreateGameObject("Intersections", mainGo.transform);

            intersectionsGo.transform.position = Vector3.zero;

            //Close Undo Operation
            Undo.CollapseUndoOperations(Undo.GetCurrentGroup());
        }