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; }
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 }
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); }