public void SetVtm(VehicleTrackMan vtm = null) { if (vtm == null) { this.vtm = FindObjectOfType <VehicleTrackMan>(); } else { this.vtm = vtm; } doTrackThings = vtm != null; Debug.Log($"SetVtm - DoTrackThings:{doTrackThings}"); }
public void Init(VehicleTrackMan tracks, string newname, string clr) { if (trgo == null) { trgo = new GameObject("Tracks"); } this.transform.parent = trgo.transform; this.vtm = tracks; this.rootname = newname; this.clr = clr; this.old_activate = false; this.activate = false; this.vehgo = null; SetVehicleTrackName(); }
public static VehicleTrack[] RegisterTracks(VehicleTrackMan dtm, string[] tracknames, string[] colors) { var ln = tracknames.Length; var rv = new VehicleTrack[ln]; for (int i = 0; i < ln; i++) { var iclr = i % colors.Length; var newname = tracknames[i]; var newclr = colors[iclr]; var vtrkgo = new GameObject(newname); var vtrk = vtrkgo.AddComponent <VehicleTrack>(); vtrk.Init(dtm, newname, newclr); rv[i] = vtrk; dozyTrackLookup[newname] = vtrk; } tracklayer = dtm.qmm.layerman.AddLayer("tracks"); trackParent = tracklayer.gameObject; vehiclelayer = dtm.qmm.layerman.AddLayer("vehicles"); vehicleParent = vehiclelayer.gameObject; return(rv); }
public void Init(SceneScenario scenario, VehicleTrackMan vtm) { this.scenario = scenario; this.vtm = vtm; }
public void Init(VehicleTrack vehicleTrack, SimpleDf sdf, GameObject vehicleParent, string avatartype, float startime, float avaSecpersecInput) { this.vehicleTrack = vehicleTrack; this.vtm = vehicleTrack.vtm; this.sdf = sdf; this.avaSecpersec = avaSecpersecInput; var cnt = Count(avatartype); totcnt++; avaGo = new GameObject(avatartype + "_" + cnt); avaGo.transform.parent = vehicleParent.transform; GameObject prefabgo = null; var shift = Vector3.zero; var angle = 0; var scale = 1; switch (avatartype) { case "DumpTruck": scale = 1; angle = 180; prefabgo = Resources.Load <GameObject>("obj/DumpTruck_TS1"); break; case "Dozer1": scale = 1; angle = 0; shift = new Vector3(-28.80f, 0, 0); prefabgo = Resources.Load <GameObject>("obj/Dozer1"); break; case "Dozer2": scale = 1; angle = 0; shift = new Vector3(-20, 0, 0); prefabgo = Resources.Load <GameObject>("obj/Dozer2"); break; case "Minehaul1": scale = 1; angle = 0; shift = new Vector3(0, 0, 0); prefabgo = Resources.Load <GameObject>("obj/Minehaul1"); break; case "Shovel1": scale = 1; angle = 0; shift = new Vector3(-10, 0, 0); prefabgo = Resources.Load <GameObject>("obj/Shovel1"); break; case "Rover": scale = 1; angle = 0; shift = new Vector3(0, 0, 0); prefabgo = Resources.Load <GameObject>("obj/Rover2"); break; case "Sailboat1": scale = 1; angle = 90; shift = new Vector3(0, 0, 0); prefabgo = Resources.Load <GameObject>("obj/Sailboat1"); break; case "Sailboat100": scale = 100; angle = 90; this.avaSecpersec = avaSecpersec * 100; shift = new Vector3(0, 0, 0); prefabgo = Resources.Load <GameObject>("obj/Sailboat1"); break; } switch (vtm.vehicleInitialPlacement) { case VehicleInitialPlacement.zero: this.starttime = avaSecpersec * vehicleTrack.vtm.GetSimulationTime(); break; case VehicleInitialPlacement.random: this.starttime = vehicleTrack.GetRandomTrackTime(); break; } if (prefabgo == null) { Debug.LogWarning($"Prefab not loaded for {avatartype}"); return; } var skav3 = prefabgo.transform.localScale * scale; Transform t = UnityEngine.Object.Instantiate <Transform>(prefabgo.transform); t.localScale = skav3; t.localRotation = Quaternion.Euler(0, angle, 0); t.position = shift; t.SetParent(avaGo.transform, worldPositionStays: false); MoveToTracktime(); }