public override void OnLoadData() { base.OnLoadData(); if (!serializableDataManager.EnumerateData().Contains(dataID)) { Debug.Log("No LaneChanger data found in save file."); return; } byte[] data = serializableDataManager.LoadData(dataID); Debug.Log(string.Format("Read {0} bytes for {1}", data.Length, dataID)); LaneChangerPathManager pathManager = (LaneChangerPathManager)PathManager.instance; int posn = 0; for (ushort i = 0; i < 32768; i++) { ushort segCount = (ushort)data[posn++]; if (segCount > 0) { pathManager.laneChangerSegments[i] = new LaneChangerSegment(); for (int j = 0; j < segCount; j++) { pathManager.laneChangerSegments[i].AddPermittedConnection(BitConverter.ToUInt16(data, posn)); posn = posn + 2; SegmentSelector.UpdateLaneMarkers(i); } } } }
public void BeginLaneSelect() { laneSelector = new GameObject("SegmentSelector"); SegmentSelector segmentSelector = laneSelector.AddComponent <SegmentSelector>(); segmentSelector.button = this; this.textColor = new Color32(0, 255, 0, 255); laneSelectEnabled = true; }