Note Prefab功能

This commit is contained in:
SoulliesOfficial
2025-03-24 13:41:50 -04:00
parent 54de98b0fa
commit 188f05182b
22 changed files with 756 additions and 33 deletions

View File

@@ -114,4 +114,53 @@ MonoBehaviour:
- {fileID: 8182686472733940155, guid: a7b108af9c94847598fd1eb0216f9a29, type: 3}
- {fileID: 8182686472733940155, guid: 9aa2b3262bc254b63a96346290d0c276, type: 3}
- {fileID: 1157693068037168295, guid: a7b108af9c94847598fd1eb0216f9a29, type: 3}
_Values: febc7fe765b0407b8c8e90345544ac394753b1a281922a4e114589015196ee4776dac15926adab1e4620c9a232d1ed566ec628c1efb3c0693a954d39e3d36066f7d0f7b20b638d2be0a95163e7ea141dcc1f6b7591d3a73e949134651819880de72e3b2ecf0dbc66f70629b01243766dcd4f9bcf7dee1e4185b3b64b611e3b6ddb9f15d3e773b400f9c3036d9fa280501bc798c97db9902b9e9549f346d5832eb56db8a23f89a7640733ce3e6d52283bf75ba0ec3738db260ae957f27d5ee2668ac131e2db057329631d4d0b8c6d0e3ae43753f6ee4b353bd2e2253bebcd1860a0d4110fb94b096d897f3d09494eb63919371d8cc711425cd33b203e27204208f885cc092656e150e128c851cd967a1faedeb3ac8643a066696941ce49905954dfd41e62741c9c0aa24726e7840a0343e00326e5bdac65587954269665689864e713ed6a2aafad56a7eda6d48a710f5ea039098a96961a33923a2536bdcc8f3956cf3dcf0690ce165927cb38a6b5d322f7c42dc76a0f38733adf6e4e962d5c724536aed9f37e2a0bdb44464957c307518d1d6d10b64b0a6e7bc20b8ff906d175ab6ca57cd054ac25fd0313370dae837788d136e691bc77608932df9423e3b3338526c6cbf834351a137c1a389017a534ffce0da47d9d35274df6eeb94b093a0b8594cefd75351f440851d414a23ed05fd81393f2f058b123a51281feba84311bb826be24e5a3a934ef519d2cc8208573c74de13776471b2de3aaa287b71dfe7cdf46a2847f54867bbdc7e042f5ddeb7b72f23af89a976e0042eb07904531eb0bafe6f4f03cf60c72c6667aae67d83705be2614c5e205e248a312fd7aec8b041ed350852f5e12e7049d558c480b488043b79862cbcac2a022982aef40f444f346a79a2ea1059b0743f618754523ca1259ae546227e77ad0441e52f4cb51133a25211633edbab3491382a220691737035f2a7a62d67a87d7709a44b14069338061638a5bbba599d354a9ac5d294f9b556740c304008b773d36e0f8591ae3c7fa2d3130b993d419467c3a1a11a336459a24f05e953a20def4426fb65fc8a58b1358f90d04e060c5c571d2b1d2df9baa98256d81d67ace3ff30fdb03fd7487f0de3b
- {fileID: 11500000, guid: c25331c63f94545888c2f71a36d239ec, type: 3}
- {fileID: 2800000, guid: 2fd6421f253b4ef1a19526541f9ffc0c, type: 3}
- {fileID: 2800000, guid: ee148e281f3c41c5b4ff5f8a5afe5a6c, type: 3}
- {fileID: 2944176489136536419, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 5782493454778412628, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 7364243904719608872, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 8170277298609262468, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 912609835647631034, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 3551056828837948860, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 5145023756108790107, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 5967472751040280357, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 8514023445642076534, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 30001522610211603, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 6546938958927478753, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 6727852922299981386, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 3183801560891420552, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 3394599716781288918, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 4332982135153255073, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 4259592601424320053, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 5344402362771977772, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 4547045404086189632, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 1869355374050028639, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 5030466365138004664, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 5574127344164461865, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 1334193276192568318, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 8836011024305959625, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 7729236586028906151, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 5609799793774807629, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 7690171638868425400, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 8625122601240492421, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 212014556473450237, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 3293741353593090497, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 2047969805760758725, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 93384146751404154, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 4224620927663903161, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 4421562747241209883, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 2711967451113446164, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 3992682784278731230, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 3901728204246151022, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 2717030685201888368, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 354551466666157161, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 871011837536797899, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 8449855526810682095, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 9075724505701020271, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 7714908464223831977, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 6217558024793849739, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 5074318044607185102, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 6665551763869936365, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
- {fileID: 1627351685873884114, guid: 242457327b3d44e9db4ad431bca454c6, type: 3}
_Values: febc7fe765b0407b8c8e90345544ac394753b1a281922a4e114589015196ee4776dac15926adab1e4620c9a232d1ed566ec628c1efb3c0693a954d39e3d36066f7d0f7b20b638d2be0a95163e7ea141dcc1f6b7591d3a73e949134651819880de72e3b2ecf0dbc66f70629b01243766dcd4f9bcf7dee1e4185b3b64b611e3b6ddb9f15d3e773b400f9c3036d9fa280501bc798c97db9902b9e9549f346d5832eb56db8a23f89a7640733ce3e6d52283bf75ba0ec3738db260ae957f27d5ee2668ac131e2db057329631d4d0b8c6d0e3ae43753f6ee4b353bd2e2253bebcd1860a0d4110fb94b096d897f3d09494eb63919371d8cc711425cd33b203e27204208f885cc092656e150e128c851cd967a1faedeb3ac8643a066696941ce49905954dfd41e62741c9c0aa24726e7840a0343e00326e5bdac65587954269665689864e713ed6a2aafad56a7eda6d48a710f5ea039098a96961a33923a2536bdcc8f3956cf3dcf0690ce165927cb38a6b5d322f7c42dc76a0f38733adf6e4e962d5c724536aed9f37e2a0bdb44464957c307518d1d6d10b64b0a6e7bc20b8ff906d175ab6ca57cd054ac25fd0313370dae837788d136e691bc77608932df9423e3b3338526c6cbf834351a137c1a389017a534ffce0da47d9d35274df6eeb94b093a0b8594cefd75351f440851d414a23ed05fd81393f2f058b123a51281feba84311bb826be24e5a3a934ef519d2cc8208573c74de13776471b2de3aaa287b71dfe7cdf46a2847f54867bbdc7e042f5ddeb7b72f23af89a976e0042eb07904531eb0bafe6f4f03cf60c72c6667aae67d83705be2614c5e205e248a312fd7aec8b041ed350852f5e12e7049d558c480b488043b79862cbcac2a022982aef40f444f346a79a2ea1059b0743f618754523ca1259ae546227e77ad0441e52f4cb51133a25211633edbab3491382a220691737035f2a7a62d67a87d7709a44b14069338061638a5bbba599d354a9ac5d294f9b556740c304008b773d36e0f8591ae3c7fa2d3130b993d419467c3a1a11a336459a24f05e953a20def4426fb65fc8a58b1358f90d04e060c5c571d2b1d2df9baa98256d81d67ace3ff30fdb03fd7487f0de3b24b60f810b51bf243c06a7599b0665329be02c0a24c06d257fb2b1b92bc13b5741d788d13165e2476a8c158cb8c388005461687b65a3ff1b24340358a005f80142ff99728e376301c37373b1d6f9dd45d64ff173d548421cd7a3aefd628aa7636cec3148a304701d0398480ecfb2ba1d13492eeff76bd706bc7d4932e661634ee528ba16386a5d2e222b8a926faf1324ea91eb185bb86b273cc874da44c2c8630469d658085c1a5814ff32331eba696b6f91e488b384552cbd92da6ff683e95e632696d9866c2d4553bcd3a41560b90932df6bb3de40b07741fcea64c975b168176f69bbafbd0e02659edc6f57fa421c4de43d1617368022761e988981c87c3693c4457b358b4774d2694e3f634120464531e71ac865af2011b8ba6fdb7a7f63dd5a236d4b39183f9dc945aee841be3402ad314c4f68000774658ced46b6504c174de2429b726e0c19a8b791aa5d085276ef6d2e49321474591be0b0c606851a79f9c5352400cf703e2433a7b16f5c2e6edf6435237e961b396ee87f91be4612239c0aa4233e7677

View File

@@ -250,6 +250,22 @@ namespace Ichni.RhythmGame
/// </summary>
/// <param name="attached">父物体</param>
public abstract GameElement DuplicateBM(GameElement attached);
public static List<BaseElement_BM> GetAllAttachedBaseElements(GameElement_BM gameElement, List<BaseElement_BM> clip)
{
Guid elementGuid = gameElement.elementGuid;
List<BaseElement_BM> result = new List<BaseElement_BM>();
foreach (BaseElement_BM element in clip)
{
if (element.attachedElementGuid == elementGuid)
{
result.Add(element);
}
}
return result;
}
}
}
}

View File

@@ -43,6 +43,11 @@ namespace Ichni.RhythmGame
flick.track = null;
flick.isOnTrack = false;
}
if (EditorManager.instance.useNotePrefab)
{
EditorManager.instance.projectManager.notePrefabManager.LoadNotePrefab(flick,GetNoteTypeName(flick) + "_Prefab");
}
return flick;
}
@@ -66,6 +71,11 @@ namespace Ichni.RhythmGame
{
TemporaryObject.GenerateElement("New Note Visual", Guid.NewGuid(), new List<string>(), true, this);
});
if (noteVisual != null)
{
generateNoteVisualButton.button.interactable = false;
}
}
}

View File

@@ -47,6 +47,11 @@ namespace Ichni.RhythmGame
hold.track = null;
hold.isOnTrack = false;
}
if (EditorManager.instance.useNotePrefab)
{
EditorManager.instance.projectManager.notePrefabManager.LoadNotePrefab(hold,GetNoteTypeName(hold) + "_Prefab");
}
return hold;
}
@@ -112,6 +117,11 @@ namespace Ichni.RhythmGame
{
TemporaryObject.GenerateElement("New Note Visual", Guid.NewGuid(), new List<string>(), true, this);
});
if (noteVisual != null)
{
generateNoteVisualButton.button.interactable = false;
}
}
}

View File

@@ -159,6 +159,12 @@ namespace Ichni.RhythmGame
exactJudgeTimeInputField.AddListenerFunction(UpdateNoteInTrack);
exactJudgeTimeInputField.Mark(inspector, "ExactJudgeTime");
var saveNotePrefabButton =
inspector.GenerateButton(this, container, "Save Note Prefab", () =>
{
EditorManager.instance.projectManager.notePrefabManager.SaveNotePrefab(this, GetNoteTypeName(this) + "_Prefab");
});
var noteScreenPositionText = inspector.GenerateHintText(this, container, () => "Note Screen Position: " + noteScreenPosition);
}
}
@@ -173,6 +179,18 @@ namespace Ichni.RhythmGame
Miss
}
public static string GetNoteTypeName(NoteBase note)
{
return note switch
{
Tap => "Tap",
Stay => "Stay",
Hold => "Hold",
Flick => "Flick",
_ => throw new NotImplementedException("Note type not recognized")
};
}
}
namespace Beatmap

View File

@@ -39,6 +39,11 @@ namespace Ichni.RhythmGame
stay.track = null;
stay.isOnTrack = false;
}
if (EditorManager.instance.useNotePrefab)
{
EditorManager.instance.projectManager.notePrefabManager.LoadNotePrefab(stay,GetNoteTypeName(stay) + "_Prefab");
}
return stay;
}
@@ -61,6 +66,11 @@ namespace Ichni.RhythmGame
{
TemporaryObject.GenerateElement("New Note Visual", Guid.NewGuid(), new List<string>(), true, this);
});
if (noteVisual != null)
{
generateNoteVisualButton.button.interactable = false;
}
}
}

View File

@@ -41,6 +41,11 @@ namespace Ichni.RhythmGame
tap.isOnTrack = false;
}
if (EditorManager.instance.useNotePrefab)
{
EditorManager.instance.projectManager.notePrefabManager.LoadNotePrefab(tap,GetNoteTypeName(tap) + "_Prefab");
}
return tap;
}
}
@@ -62,6 +67,11 @@ namespace Ichni.RhythmGame
{
TemporaryObject.GenerateElement("New Note Visual", Guid.NewGuid(), new List<string>(), true, this);
});
if (noteVisual != null)
{
generateNoteVisualButton.button.interactable = false;
}
}
}

View File

@@ -19,7 +19,7 @@ namespace Ichni.RhythmGame
string themeBundleName, string objectName, GameElement parentElement)
{
GameObject themeBundleObject = ThemeBundleManager.instance.GetObject<GameObject>(themeBundleName, objectName);
Debug.Log(parentElement.elementName);
SubstantialObject substantialObject = Instantiate(themeBundleObject, parentElement.transform).GetComponent<SubstantialObject>();
substantialObject.Initialize(elementName, id, tags, isFirstGenerated, parentElement);
substantialObject.themeBundleName = themeBundleName;

View File

@@ -35,6 +35,7 @@ namespace Ichni
public CommandScripts commandScripts;
public NoteBase.NoteJudgeType currentJudgeType;
public bool useNotePrefab;
public BasePrefabsCollection basePrefabs;
[Title("Runtime Global Elements")]
@@ -117,6 +118,9 @@ namespace Ichni
inspector.GenerateButton(this, container, "Generate Variables Container",
() => VariablesContainer.GenerateElement("Variables Container", Guid.NewGuid(),
new List<string>(), true, null, new Dictionary<string, int>()));
var useNotePrefabToggle =
inspector.GenerateToggle(this, container, "Use Note Prefab", nameof(useNotePrefab));
projectInformation.SetUpInspector();
songInformation.SetUpInspector();

View File

@@ -31,6 +31,7 @@ namespace Ichni
public LoadManager loadManager;
public ExportManager exportManager;
public BeatmapClipManager beatmapClipManager;
public NotePrefabManager notePrefabManager;
public AutoSaveManager autoSaveManager;
public ProjectManager()
@@ -39,6 +40,7 @@ namespace Ichni
loadManager = new LoadManager();
exportManager = new ExportManager();
beatmapClipManager = new BeatmapClipManager();
notePrefabManager = new NotePrefabManager();
autoSaveManager = new AutoSaveManager();
}
@@ -245,27 +247,12 @@ namespace Ichni
private void _LoadClip(GameElement target, string clipName)
{
List<BaseElement_BM> GetAllAttachedBaseElements(GameElement_BM gameElement, List<BaseElement_BM> clip)
{
Guid elementGuid = gameElement.elementGuid;
List<BaseElement_BM> result = new List<BaseElement_BM>();
foreach (BaseElement_BM element in clip)
{
if (element.attachedElementGuid == elementGuid)
{
result.Add(element);
}
}
return result;
}
string filePath = Application.streamingAssetsPath + "/Clips/" + clipName + ".json";
List<BaseElement_BM> clip = ES3.Load<List<BaseElement_BM>>("Clip", filePath, ProjectManager.SaveSettings);
//对于第一个元素,需要特殊处理,将它放入目标物体的子物体列表中
GameElement_BM first = clip[0] as GameElement_BM;
List<BaseElement_BM> firstAttaches = GetAllAttachedBaseElements(first, clip);
List<BaseElement_BM> firstAttaches = GameElement_BM.GetAllAttachedBaseElements(first, clip);
first.elementGuid = Guid.NewGuid();
GameElement_BM.identifier.TryAdd(first.elementGuid, first);
firstAttaches.ForEach(e => { e.attachedElementGuid = first.elementGuid; });
@@ -281,7 +268,7 @@ namespace Ichni
var element = clip[index];
if (element is GameElement_BM gameElement)
{
List<BaseElement_BM> attachedElements = GetAllAttachedBaseElements(gameElement, clip);
List<BaseElement_BM> attachedElements = GameElement_BM.GetAllAttachedBaseElements(gameElement, clip);
gameElement.elementGuid = Guid.NewGuid();
GameElement_BM.identifier.TryAdd(gameElement.elementGuid, gameElement);
attachedElements.ForEach(e => { e.attachedElementGuid = gameElement.elementGuid; });
@@ -297,6 +284,68 @@ namespace Ichni
}
}
public class NotePrefabManager
{
private string notePrefabPath => Application.streamingAssetsPath + "/NotePrefabs";
private string GetNotePrefabPath(string notePrefabName) => notePrefabPath + "/" + notePrefabName + ".json";
public void SaveNotePrefab(NoteBase note, string noteName)
{
List<BaseElement_BM> clip = new List<BaseElement_BM>();
note.GetAllGameElementsFromThis().ForEach(e =>
{
e.SaveBM();
clip.Add(e.matchedBM);
e.submoduleList.ForEach(s =>
{
s.SaveBM();
clip.Add(s.matchedBM);
});
});
ES3.Save("Note", clip, GetNotePrefabPath(noteName), ProjectManager.SaveSettings);
}
public void LoadNotePrefab(NoteBase target, string noteName)
{
List<BaseElement_BM> clip = ES3.Load<List<BaseElement_BM>>("Note", GetNotePrefabPath(noteName), ProjectManager.SaveSettings);
if (clip == null || clip.Count == 0)
{
LogWindow.Log("Note prefab not found", Color.red);
return;
}
target.SaveBM();
GameElement_BM.identifier.TryAdd(target.elementGuid, target.matchedBM as GameElement_BM);
(target.matchedBM as GameElement_BM).matchedElement = target;
GameElement_BM first = clip[0] as GameElement_BM;
List<BaseElement_BM> firstAttaches = GameElement_BM.GetAllAttachedBaseElements(first, clip);
first.elementGuid = target.elementGuid;
GameElement_BM.identifier.TryAdd(first.elementGuid, first);
firstAttaches.ForEach(e => { e.attachedElementGuid = first.elementGuid; });
for (var index = 1; index < clip.Count; index++)
{
var element = clip[index];
if (element is GameElement_BM gameElement)
{
List<BaseElement_BM> attachedElements = GameElement_BM.GetAllAttachedBaseElements(gameElement, clip);
gameElement.elementGuid = Guid.NewGuid();
GameElement_BM.identifier.TryAdd(gameElement.elementGuid, gameElement);
attachedElements.ForEach(e => { e.attachedElementGuid = gameElement.elementGuid; });
}
}
for (var index = 1; index < clip.Count; index++)
{
clip[index].ExecuteBM();
}
}
}
public class AutoSaveManager
{
private string autoSavePath => Application.streamingAssetsPath + "/AutoSave/" +

View File

@@ -0,0 +1,163 @@
{
"Clip" : {
"__type" : "System.Collections.Generic.List`1[[Ichni.RhythmGame.Beatmap.BaseElement_BM, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]],mscorlib",
"value" : [
{
"__type" : "Ichni.RhythmGame.Beatmap.Tap_BM,Assembly-CSharp",
"exactJudgeTime" : 1,
"elementName" : "Tap (1)",
"tags" : [
],
"elementGuid" : {
"value" : "336d5719-77a3-41d1-b5bc-7e358cb8b002"
},
"attachedElementGuid" : {
"value" : "d9d3df55-9509-46dc-8e2f-d628993313cb"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
"isOverridingDuration" : false,
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "336d5719-77a3-41d1-b5bc-7e358cb8b002"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.NoteJudgeSubmodule_BM,Assembly-CSharp",
"judgeUnitList" : [
{
"__type" : "Ichni.RhythmGame.Beatmap.TouchAreaJudgeUnit_BM,Assembly-CSharp",
"areaRadius" : 1000
}
],
"attachedElementGuid" : {
"value" : "336d5719-77a3-41d1-b5bc-7e358cb8b002"
}
},{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteVisual_BM,Assembly-CSharp",
"themeBundleName" : "departure_to_multiverse",
"objectName" : "DTM_NoteVisualTap",
"elementName" : "New Note Visual",
"tags" : [
],
"elementGuid" : {
"value" : "0f3c45f4-f76f-44f3-b195-a2af6f6221e6"
},
"attachedElementGuid" : {
"value" : "336d5719-77a3-41d1-b5bc-7e358cb8b002"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp",
"originalPosition" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"originalEulerAngles" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"originalScale" : {
"x" : 1,
"y" : 1,
"z" : 1
},
"attachedElementGuid" : {
"value" : "0f3c45f4-f76f-44f3-b195-a2af6f6221e6"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
"isOverridingDuration" : false,
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "0f3c45f4-f76f-44f3-b195-a2af6f6221e6"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp",
"originalBaseColor" : {
"r" : 1,
"g" : 1,
"b" : 1,
"a" : 1
},
"emissionEnabled" : false,
"originalEmissionColor" : {
"r" : 0,
"g" : 0,
"b" : 0,
"a" : 1
},
"originalEmissionIntensity" : 0,
"attachedElementGuid" : {
"value" : "0f3c45f4-f76f-44f3-b195-a2af6f6221e6"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.EffectSubmodule_BM,Assembly-CSharp",
"effectCollection" : {"Generate":[
],"GeneralJudge":[
],"Holding":[
],"Perfect":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNotePerfectBurst_BM,Assembly-CSharp",
"effectTime" : 0
},{
"__type" : "Ichni.RhythmGame.Beatmap.BloomEffect_BM,Assembly-CSharp",
"duration" : 0.5,
"peak" : 3,
"intensityCurve" : {
"keys" : [
{
"time" : 0,
"value" : 1,
"inTangent" : 0,
"outTangent" : 0
},{
"time" : 1,
"value" : 0,
"inTangent" : 0,
"outTangent" : 0
}
],
"preWrapMode" : 8,
"postWrapMode" : 8
},
"effectTime" : 0
},{
"__type" : "Ichni.RhythmGame.Beatmap.SetIntegerEffect_BM,Assembly-CSharp",
"targetVariableName" : "Test",
"targetValue" : 0,
"isRandom" : true,
"minValue" : 0,
"maxValue" : 100,
"effectTime" : 0
}
],"Good":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteGoodBurst_BM,Assembly-CSharp",
"effectTime" : 0
}
],"Bad":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteBadBurst_BM,Assembly-CSharp",
"effectTime" : 0
}
],"Miss":[
],"AfterJudge":[
]
},
"attachedElementGuid" : {
"value" : "0f3c45f4-f76f-44f3-b195-a2af6f6221e6"
}
}
]
}
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e96ddb3c346d4c9409fb5c37a2a6a9c3
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 14e48987dbb28554db1e26a9a563bbe0
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,163 @@
{
"Note" : {
"__type" : "System.Collections.Generic.List`1[[Ichni.RhythmGame.Beatmap.BaseElement_BM, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]],mscorlib",
"value" : [
{
"__type" : "Ichni.RhythmGame.Beatmap.Tap_BM,Assembly-CSharp",
"exactJudgeTime" : 1,
"elementName" : "Tap (1)",
"tags" : [
],
"elementGuid" : {
"value" : "336d5719-77a3-41d1-b5bc-7e358cb8b002"
},
"attachedElementGuid" : {
"value" : "00000000-0000-0000-0000-000000000000"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
"isOverridingDuration" : false,
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "336d5719-77a3-41d1-b5bc-7e358cb8b002"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.NoteJudgeSubmodule_BM,Assembly-CSharp",
"judgeUnitList" : [
{
"__type" : "Ichni.RhythmGame.Beatmap.TouchAreaJudgeUnit_BM,Assembly-CSharp",
"areaRadius" : 1000
}
],
"attachedElementGuid" : {
"value" : "336d5719-77a3-41d1-b5bc-7e358cb8b002"
}
},{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteVisual_BM,Assembly-CSharp",
"themeBundleName" : "departure_to_multiverse",
"objectName" : "DTM_NoteVisualTap",
"elementName" : "New Note Visual",
"tags" : [
],
"elementGuid" : {
"value" : "0f3c45f4-f76f-44f3-b195-a2af6f6221e6"
},
"attachedElementGuid" : {
"value" : "336d5719-77a3-41d1-b5bc-7e358cb8b002"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp",
"originalPosition" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"originalEulerAngles" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"originalScale" : {
"x" : 1,
"y" : 1,
"z" : 1
},
"attachedElementGuid" : {
"value" : "0f3c45f4-f76f-44f3-b195-a2af6f6221e6"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
"isOverridingDuration" : false,
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "0f3c45f4-f76f-44f3-b195-a2af6f6221e6"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp",
"originalBaseColor" : {
"r" : 1,
"g" : 1,
"b" : 1,
"a" : 1
},
"emissionEnabled" : false,
"originalEmissionColor" : {
"r" : 0,
"g" : 0,
"b" : 0,
"a" : 1
},
"originalEmissionIntensity" : 0,
"attachedElementGuid" : {
"value" : "0f3c45f4-f76f-44f3-b195-a2af6f6221e6"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.EffectSubmodule_BM,Assembly-CSharp",
"effectCollection" : {"Generate":[
],"GeneralJudge":[
],"Holding":[
],"Perfect":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNotePerfectBurst_BM,Assembly-CSharp",
"effectTime" : 0
},{
"__type" : "Ichni.RhythmGame.Beatmap.BloomEffect_BM,Assembly-CSharp",
"duration" : 0.5,
"peak" : 3,
"intensityCurve" : {
"keys" : [
{
"time" : 0,
"value" : 1,
"inTangent" : 0,
"outTangent" : 0
},{
"time" : 1,
"value" : 0,
"inTangent" : 0,
"outTangent" : 0
}
],
"preWrapMode" : 8,
"postWrapMode" : 8
},
"effectTime" : 0
},{
"__type" : "Ichni.RhythmGame.Beatmap.SetIntegerEffect_BM,Assembly-CSharp",
"targetVariableName" : "Test",
"targetValue" : 0,
"isRandom" : true,
"minValue" : 0,
"maxValue" : 100,
"effectTime" : 0
}
],"Good":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteGoodBurst_BM,Assembly-CSharp",
"effectTime" : 0
}
],"Bad":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteBadBurst_BM,Assembly-CSharp",
"effectTime" : 0
}
],"Miss":[
],"AfterJudge":[
]
},
"attachedElementGuid" : {
"value" : "0f3c45f4-f76f-44f3-b195-a2af6f6221e6"
}
}
]
}
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 541e169e81c39cc4d80cbae59de4a1c9
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -969,6 +969,177 @@
"attachedElementGuid" : {
"value" : "8db6192e-a98d-45f7-80c8-e0183298c5cd"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.Tap_BM,Assembly-CSharp",
"exactJudgeTime" : 0.8,
"elementName" : "New Tap",
"tags" : [
],
"elementGuid" : {
"value" : "5228562d-a1eb-43fe-bf2d-591f4d5b36bd"
},
"attachedElementGuid" : {
"value" : "d9d3df55-9509-46dc-8e2f-d628993313cb"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
"isOverridingDuration" : false,
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "5228562d-a1eb-43fe-bf2d-591f4d5b36bd"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.NoteJudgeSubmodule_BM,Assembly-CSharp",
"judgeUnitList" : [
],
"attachedElementGuid" : {
"value" : "5228562d-a1eb-43fe-bf2d-591f4d5b36bd"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
"isOverridingDuration" : false,
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "5228562d-a1eb-43fe-bf2d-591f4d5b36bd"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.NoteJudgeSubmodule_BM,Assembly-CSharp",
"judgeUnitList" : [
{
"__type" : "Ichni.RhythmGame.Beatmap.TouchAreaJudgeUnit_BM,Assembly-CSharp",
"areaRadius" : 1000
}
],
"attachedElementGuid" : {
"value" : "5228562d-a1eb-43fe-bf2d-591f4d5b36bd"
}
},{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteVisual_BM,Assembly-CSharp",
"themeBundleName" : "departure_to_multiverse",
"objectName" : "DTM_NoteVisualTap",
"elementName" : "New Note Visual",
"tags" : [
],
"elementGuid" : {
"value" : "d0d1bd95-4361-42da-95a7-a7a1ae330c78"
},
"attachedElementGuid" : {
"value" : "5228562d-a1eb-43fe-bf2d-591f4d5b36bd"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp",
"originalPosition" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"originalEulerAngles" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"originalScale" : {
"x" : 1,
"y" : 1,
"z" : 1
},
"attachedElementGuid" : {
"value" : "d0d1bd95-4361-42da-95a7-a7a1ae330c78"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp",
"isOverridingDuration" : false,
"startTime" : -32767,
"endTime" : 32767,
"attachedElementGuid" : {
"value" : "d0d1bd95-4361-42da-95a7-a7a1ae330c78"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp",
"originalBaseColor" : {
"r" : 1,
"g" : 1,
"b" : 1,
"a" : 1
},
"emissionEnabled" : false,
"originalEmissionColor" : {
"r" : 0,
"g" : 0,
"b" : 0,
"a" : 1
},
"originalEmissionIntensity" : 0,
"attachedElementGuid" : {
"value" : "d0d1bd95-4361-42da-95a7-a7a1ae330c78"
}
},{
"__type" : "Ichni.RhythmGame.Beatmap.EffectSubmodule_BM,Assembly-CSharp",
"effectCollection" : {"Generate":[
],"GeneralJudge":[
],"Holding":[
],"Perfect":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNotePerfectBurst_BM,Assembly-CSharp",
"effectTime" : 0
},{
"__type" : "Ichni.RhythmGame.Beatmap.BloomEffect_BM,Assembly-CSharp",
"duration" : 0.5,
"peak" : 3,
"intensityCurve" : {
"keys" : [
{
"time" : 0,
"value" : 1,
"inTangent" : 0,
"outTangent" : 0
},{
"time" : 1,
"value" : 0,
"inTangent" : 0,
"outTangent" : 0
}
],
"preWrapMode" : 8,
"postWrapMode" : 8
},
"effectTime" : 0
},{
"__type" : "Ichni.RhythmGame.Beatmap.SetIntegerEffect_BM,Assembly-CSharp",
"targetVariableName" : "Test",
"targetValue" : 0,
"isRandom" : true,
"minValue" : 0,
"maxValue" : 100,
"effectTime" : 0
}
],"Good":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteGoodBurst_BM,Assembly-CSharp",
"effectTime" : 0
}
],"Bad":[
{
"__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMNoteBadBurst_BM,Assembly-CSharp",
"effectTime" : 0
}
],"Miss":[
],"AfterJudge":[
]
},
"attachedElementGuid" : {
"value" : "d0d1bd95-4361-42da-95a7-a7a1ae330c78"
}
}
],
"attachedElementGuid" : {

View File

@@ -1,10 +1,10 @@
ManifestFileVersion: 0
CRC: 151420396
CRC: 71294082
AssetBundleManifest:
AssetBundleInfos:
Info_0:
Name: basic
Dependencies: {}
Info_1:
Name: departure_to_multiverse
Dependencies: {}
Info_1:
Name: basic
Dependencies: {}

View File

@@ -1,15 +1,15 @@
ManifestFileVersion: 0
CRC: 1726366975
CRC: 819143872
Hashes:
AssetFileHash:
serializedVersion: 2
Hash: e6bc275b0f88d3f2c1751c1994d48acd
Hash: c8411b5c48f85c48cb7432a431fc452e
TypeTreeHash:
serializedVersion: 2
Hash: 4f510d38a2ebee397aba370d0ec120d7
Hash: 5548ac85a67bf2a8613514990b3c77a4
IncrementalBuildHash:
serializedVersion: 2
Hash: e6bc275b0f88d3f2c1751c1994d48acd
Hash: c8411b5c48f85c48cb7432a431fc452e
HashAppended: 0
ClassTypes:
- Class: 1
@@ -31,15 +31,27 @@ ClassTypes:
- Class: 108
Script: {instanceID: 0}
- Class: 114
Script: {fileID: 11500000, guid: b73aa7982dc9e4261b2ff45db0112d48, type: 3}
Script: {fileID: 11500000, guid: 72caf325f2b59403c94193cd2037b7ba, type: 3}
- Class: 114
Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
- Class: 114
Script: {fileID: 11500000, guid: 7e32cd989d5ff4f52b2b9ca2436698e6, type: 3}
Script: {fileID: 11500000, guid: 77ab80dc0820f9d4a8cd9fddbbc89057, type: 3}
- Class: 114
Script: {fileID: 11500000, guid: b73aa7982dc9e4261b2ff45db0112d48, type: 3}
- Class: 114
Script: {fileID: 11500000, guid: d94f163ef3d384b7eac5af0a344d786d, type: 3}
- Class: 114
Script: {fileID: 11500000, guid: f92b9b8f89de544adaa001ccfdf7eae4, type: 3}
- Class: 114
Script: {fileID: 11500000, guid: cba1fe17342b14361bb504a9a506878b, type: 3}
- Class: 114
Script: {fileID: 11500000, guid: 0def5156137c6d14082064fa7b5d5247, type: 3}
- Class: 114
Script: {fileID: 11500000, guid: 4d3011bfdcb00476fbd1a7de86d1c1cb, type: 3}
- Class: 114
Script: {fileID: 11500000, guid: 72caf325f2b59403c94193cd2037b7ba, type: 3}
Script: {fileID: 11500000, guid: 2e1690bb01d509a439fc991a10f8278f, type: 3}
- Class: 114
Script: {fileID: 11500000, guid: 7e32cd989d5ff4f52b2b9ca2436698e6, type: 3}
- Class: 115
Script: {instanceID: 0}
- Class: 212
@@ -47,15 +59,29 @@ ClassTypes:
- Class: 213
Script: {instanceID: 0}
SerializeReferenceClassIdentifiers:
- AssemblyName: Assembly-CSharp
ClassName: Dreamteck.Splines.ColorModifier
- AssemblyName: Assembly-CSharp
ClassName: Dreamteck.Splines.OffsetModifier
- AssemblyName: Assembly-CSharp
ClassName: Dreamteck.Splines.RotationModifier
- AssemblyName: Assembly-CSharp
ClassName: Dreamteck.Splines.SizeModifier
- AssemblyName: Assembly-CSharp
ClassName: Dreamteck.Splines.SplineSample
- AssemblyName: Assembly-CSharp
ClassName: Dreamteck.Splines.TransformModule
- AssemblyName: Sirenix.Serialization
ClassName: Sirenix.Serialization.SerializationData
Assets:
- Assets/ThemeBundles/Basic/Prefabs/Plane.prefab
- Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldMovable.prefab
- Assets/ThemeBundles/Basic/Prefabs/Square2D.prefab
- Assets/ThemeBundles/Basic/Prefabs/Cube.prefab
- Assets/ThemeBundles/Basic/Prefabs/Cylinder.prefab
- Assets/ThemeBundles/Basic/Prefabs/Circle2D.prefab
- Assets/ThemeBundles/Basic/Prefabs/Hexagon2D.prefab
- Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldStrip.prefab
- Assets/ThemeBundles/Basic/Prefabs/IsometricDiamond2D.prefab
- Assets/ThemeBundles/Basic/Prefabs/EmptyObject.prefab
- Assets/ThemeBundles/Basic/Prefabs/Capsule2D.prefab
@@ -64,6 +90,8 @@ Assets:
- Assets/ThemeBundles/Basic/Prefabs/Sphere.prefab
- Assets/ThemeBundles/Basic/Prefabs/Quad.prefab
- Assets/ThemeBundles/Basic/Prefabs/BasicNoteTap3D.prefab
- Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldStatic.prefab
- Assets/ThemeBundles/Basic/Prefabs/DirectionalLight.prefab
- Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldTube.prefab
- Assets/ThemeBundles/Basic/Prefabs/PointLight.prefab
Dependencies: []

View File

@@ -1,15 +1,15 @@
ManifestFileVersion: 0
CRC: 986680708
CRC: 3018997435
Hashes:
AssetFileHash:
serializedVersion: 2
Hash: f667e6a0e3c7ff60c07ff46276fa51c1
Hash: cb97a3c071907921dcf1ece599f72b81
TypeTreeHash:
serializedVersion: 2
Hash: 7c8fba77ff779a35ad42450f8316ace8
IncrementalBuildHash:
serializedVersion: 2
Hash: f667e6a0e3c7ff60c07ff46276fa51c1
Hash: cb97a3c071907921dcf1ece599f72b81
HashAppended: 0
ClassTypes:
- Class: 1