示例#1
0
        public static void Load(AssetData assetData, NetInfo groundInfo)
        {
            NetInfo elevated = AssetEditorRoadUtils.TryGetElevated(groundInfo);
            NetInfo bridge   = AssetEditorRoadUtils.TryGetBridge(groundInfo);
            NetInfo slope    = AssetEditorRoadUtils.TryGetSlope(groundInfo);
            NetInfo tunnel   = AssetEditorRoadUtils.TryGetTunnel(groundInfo);

            foreach (var info in NetInfoExtionsion.AllElevations(groundInfo))
            {
                info.UndoVanillaForbidden();
            }

            assetData.Ground?.Apply(groundInfo);
            assetData.Elevated?.Apply(elevated);
            assetData.Bridge?.Apply(bridge);
            assetData.Slope?.Apply(slope);
            assetData.Tunnel?.Apply(tunnel);
        }
示例#2
0
        public static AssetData Create(NetInfo ground)
        {
            if (ground == null)
            {
                return(null);
            }
            NetInfo elevated = AssetEditorRoadUtils.TryGetElevated(ground);
            NetInfo bridge   = AssetEditorRoadUtils.TryGetBridge(ground);
            NetInfo slope    = AssetEditorRoadUtils.TryGetSlope(ground);
            NetInfo tunnel   = AssetEditorRoadUtils.TryGetTunnel(ground);

            var ret = new AssetData {
                Ground   = NetInfoMetaData.Create(ground),
                Elevated = NetInfoMetaData.Create(elevated),
                Bridge   = NetInfoMetaData.Create(bridge),
                Slope    = NetInfoMetaData.Create(slope),
                Tunnel   = NetInfoMetaData.Create(tunnel),
            };

            return(ret);
        }
示例#3
0
 public static void TakeSnapshot() =>
 Snapshot = CreateFromEditPrefab();