示例#1
0
        public BeatmapDifficulty ToAssets(
            SerializedAssets.Transaction assets,
            string levelFolderPath,
            string levelID,
            Characteristic characteristic
            )
        {
            string beatmapFile          = Path.Combine(levelFolderPath, _beatmapFilename);
            var    beatmapData          = BeatmapDataBehaviorData.FromJsonFile(beatmapFile, assets.apkVersion);
            string characteristicPart   = ((characteristic == Characteristic.Standard) ? "" : characteristic.ToString());
            string assetName            = levelID + characteristicPart + _difficulty.ToString() + "BeatmapData";
            MonoBehaviorAssetData monob = new MonoBehaviorAssetData()
            {
                script = assets.scriptIDToScriptPtr[BeatmapDataBehaviorData.ScriptID],
                name   = assetName,
                data   = beatmapData,
            };
            AssetPtr assetPtr = assets.AppendAsset(monob);

            return(new BeatmapDifficulty()
            {
                difficulty = (int)_difficulty,
                difficultyRank = _difficultyRank,
                noteJumpMovementSpeed = _noteJumpMovementSpeed,
                noteJumpStartBeatOffset = _noteJumpStartBeatOffset,
                beatmapData = assetPtr,
            });
        }
示例#2
0
        public BeatmapDifficulty ToAssets(
            SerializedAssets assets,
            string levelFolderPath,
            string levelID,
            Characteristic characteristic
            )
        {
            string          beatmapFile = Path.Combine(levelFolderPath, _beatmapFilename);
            string          jsonData    = File.ReadAllText(beatmapFile);
            BeatmapSaveData saveData    = JsonConvert.DeserializeObject <BeatmapSaveData>(jsonData);

            byte[] projectedData = saveData.SerializeToBinary();

            BeatmapDataBehaviorData beatmapData = new BeatmapDataBehaviorData()
            {
                jsonData      = "",
                signature     = new byte[128], // all zeros
                projectedData = projectedData,
            };
            string characteristicPart   = ((characteristic == Characteristic.Standard) ? "" : characteristic.ToString());
            string assetName            = levelID + characteristicPart + _difficulty.ToString() + "BeatmapData";
            MonoBehaviorAssetData monob = new MonoBehaviorAssetData()
            {
                script = new AssetPtr(1, BeatmapDataBehaviorData.PathID),
                name   = assetName,
                data   = beatmapData,
            };
            AssetPtr assetPtr = assets.AppendAsset(monob);

            return(new BeatmapDifficulty()
            {
                difficulty = (int)_difficulty,
                difficultyRank = _difficultyRank,
                noteJumpMovementSpeed = _noteJumpMovementSpeed,
                noteJumpStartBeatOffset = _noteJumpStartBeatOffset,
                beatmapData = assetPtr,
            });
        }