Exemple #1
0
 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}");
 }
Exemple #2
0
    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();
    }
Exemple #3
0
    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);
    }
Exemple #4
0
 public void Init(SceneScenario scenario, VehicleTrackMan vtm)
 {
     this.scenario = scenario;
     this.vtm      = vtm;
 }
Exemple #5
0
    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();
    }