Пример #1
0
    private void PlaceStartingLine(Vector3 pos, Quaternion rot)
    {
        StartingLine SL = (StartingLine)Scenery.Instance.Objects.Find(Obj => Obj.name == "StartingLine");

        if (SL == null)
        {
            SL = new StartingLine("StartingLine");
            Scenery.Instance.Objects.Add(SL);
        }
        else
        {
        }
        SL.PlaceObject(pos, rot, Vector3.one);    //this won't create a duplicate
        Rd.StartingLinePos = pos;
        Rd.StartingLineRot = rot;
    }
Пример #2
0
    private void PlaceStartingLine(int SegNo)
    {
        Rd.StartingLineSegIdx = SegNo;
        if (!Rd.SegmentExists(SegNo))
        {
            return;
        }
        if (!Rd.Segments[SegNo].HasMesh)
        {
            return;
        }
        StartingLine SL = (StartingLine)Scenery.Instance.Objects.Find(Obj => Obj.name == "StartingLine");

        if (SL == null)
        {
            SL = new StartingLine("StartingLine");
            Scenery.Instance.Objects.Add(SL);
        }

        SL.PlaceObject(Rd.XSecs[SegNo].MidPt, Rd.XSecs[SegNo + 1].MidPt, Vector3.one);    //this won't create a duplicate
    }
Пример #3
0
    public PlaceableObject Decode()
    {
        PlaceableObject rtn;

        switch (Type)
        {
        case "StartingLine":
            rtn = new StartingLine(name);
            break;

        default:
            rtn = new SceneryObject(name);
            break;
        }

        rtn.prefab = prefab;
        rtn.Pos    = pos.V3;
        try { rtn.Scale = Scale.V3; } catch { rtn.Scale = Vector3.one; }
        rtn.Rot         = rot.Decode;
        rtn.Addressable = Addressable;
        return(rtn);
    }