小更新
This commit is contained in:
39454
Assets/FR2_Cache.asset
39454
Assets/FR2_Cache.asset
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -88,6 +88,8 @@ MonoBehaviour:
|
||||
type: 3}
|
||||
defaultParticleMaterial: {fileID: 2100000, guid: 0c2e5326662881541bddd8e8d8ad9f9a,
|
||||
type: 2}
|
||||
particleEmitter: {fileID: 7924065371675278968, guid: 1de0703393b069442b17032f251dab6a,
|
||||
type: 3}
|
||||
bloomEffect: {fileID: 845605030242152257, guid: 1ea739ef6f1bf4e87835b0f554587451,
|
||||
type: 3}
|
||||
cameraZoomEffect: {fileID: 5030288017655597913, guid: 7c3a6fcb4e240d446875f716d08b279b,
|
||||
|
||||
@@ -194,7 +194,7 @@ ParticleSystem:
|
||||
emitterVelocityMode: 1
|
||||
looping: 1
|
||||
prewarm: 0
|
||||
playOnAwake: 1
|
||||
playOnAwake: 0
|
||||
useUnscaledTime: 0
|
||||
autoRandomSeed: 1
|
||||
startDelay:
|
||||
@@ -313,7 +313,7 @@ ParticleSystem:
|
||||
startSpeed:
|
||||
serializedVersion: 2
|
||||
minMaxState: 0
|
||||
scalar: 5
|
||||
scalar: 0
|
||||
minScalar: 5
|
||||
maxCurve:
|
||||
serializedVersion: 2
|
||||
@@ -895,7 +895,7 @@ ParticleSystem:
|
||||
sphericalDirectionAmount: 0
|
||||
randomPositionAmount: 0
|
||||
radius:
|
||||
value: 1.96
|
||||
value: 1
|
||||
mode: 1
|
||||
spread: 0
|
||||
speed:
|
||||
|
||||
@@ -8,22 +8,21 @@ Material:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: TrackDisplayer
|
||||
m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Shader: {fileID: 4800000, guid: 8516d7a69675844a7a0b7095af7c46af, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ALPHAPREMULTIPLY_ON
|
||||
- _EMISSION
|
||||
- _RECEIVE_SHADOWS_OFF
|
||||
m_InvalidKeywords:
|
||||
- _FLIPBOOKBLENDING_OFF
|
||||
- _RECEIVE_SHADOWS_OFF
|
||||
m_LightmapFlags: 0
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 1
|
||||
m_CustomRenderQueue: 3000
|
||||
m_CustomRenderQueue: 2010
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses:
|
||||
- GRABPASS
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
@@ -118,7 +117,7 @@ Material:
|
||||
- _DistortionEnabled: 0
|
||||
- _DistortionStrength: 1
|
||||
- _DistortionStrengthScaled: 0.1
|
||||
- _DstBlend: 10
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EmissionEnabled: 0
|
||||
- _EnableExternalAlpha: 0
|
||||
@@ -156,7 +155,7 @@ Material:
|
||||
- _UseNormalMap: 0
|
||||
- _UseRoughnessMap: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _BaseColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
|
||||
|
||||
4890
Assets/Prefabs/GeneralEffects/ParticleEmitter.prefab
Normal file
4890
Assets/Prefabs/GeneralEffects/ParticleEmitter.prefab
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1de0703393b069442b17032f251dab6a
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -75,7 +75,12 @@ namespace Ichni.RhythmGame
|
||||
var timeEffectsCollectionButton = inspector.GenerateButton(this, generateEnvironment, "Time Effects Collection",
|
||||
() => TimeEffectsCollection.GenerateElement("New Time Effects Collection", Guid.NewGuid(),
|
||||
new List<string>(), true, this, 0));
|
||||
|
||||
var generateParticleEmitterButton = inspector.GenerateButton(this, generateEnvironment, "Generate Particle Emitter", () =>
|
||||
{
|
||||
ParticleEmitter.GenerateElement("New Particle Emitter", Guid.NewGuid(), new List<string>(), true,
|
||||
this, "", "",false,0, 1, ParticleSystemSimulationSpace.World,
|
||||
10, 5, 1, 1 ,true, Vector3.zero);
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace Ichni.RhythmGame
|
||||
public partial class EnvironmentObject : SubstantialObject
|
||||
{
|
||||
public bool isStatic;
|
||||
|
||||
|
||||
public static EnvironmentObject GenerateElement(string elementName, Guid id, List<string> tags,
|
||||
bool isFirstGenerated, string themeBundleName, string objectName, GameElement parentElement, bool isStatic)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,360 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Ichni.RhythmGame.Beatmap;
|
||||
using Ichni.Editor;
|
||||
using UnityEngine;
|
||||
using Object = UnityEngine.Object;
|
||||
|
||||
namespace Ichni.RhythmGame
|
||||
{
|
||||
|
||||
public partial class ParticleEmitter : GameElement, IHaveParticles, IHaveTimeDurationSubmodule, IHaveTransformSubmodule, IHaveColorSubmodule
|
||||
{
|
||||
public ParticleSystem particle { get; set; }
|
||||
private IHaveParticles particlesContainer => this;
|
||||
public TimeDurationSubmodule timeDurationSubmodule { get; set; }
|
||||
public TransformSubmodule transformSubmodule { get; set; }
|
||||
public ColorSubmodule colorSubmodule { get; set; }
|
||||
public bool haveBaseColor => true;
|
||||
public bool haveEmissionColor => true;
|
||||
|
||||
private List<string> themeBundleList;
|
||||
private List<string> materialNameList;
|
||||
public string themeBundleName;
|
||||
public string materialName;
|
||||
|
||||
public bool prewarm;
|
||||
public float playTime;
|
||||
public float stopTime;
|
||||
|
||||
public ParticleSystemSimulationSpace simulationSpace;
|
||||
public float density;
|
||||
public float lifeTime;
|
||||
public float speed;
|
||||
public float radius;
|
||||
|
||||
public bool isAutoOrient;
|
||||
public Vector3 particleRotation;
|
||||
|
||||
public static ParticleEmitter GenerateElement(string elementName, Guid id, List<string> tags,
|
||||
bool isFirstGenerated, GameElement parentElement, string themeBundleName, string materialName,
|
||||
bool prewarm, float playTime, float stopTime, ParticleSystemSimulationSpace simulationSpace,
|
||||
float density, float lifeTime, float speed, float radius,
|
||||
bool isAutoOrient, Vector3 particleRotation)
|
||||
{
|
||||
ParticleEmitter particleEmitter = Instantiate(EditorManager.instance.basePrefabs.particleEmitter, parentElement.transform)
|
||||
.GetComponent<ParticleEmitter>();
|
||||
particleEmitter.particle = particleEmitter.GetComponent<ParticleSystem>();
|
||||
particleEmitter.Initialize(elementName, id, tags, isFirstGenerated, parentElement);
|
||||
particleEmitter.playTime = playTime;
|
||||
particleEmitter.stopTime = stopTime;
|
||||
particleEmitter.themeBundleList = ThemeBundleManager.instance.loadedThemeBundleList.ConvertAll(x => x.themeBundleName);
|
||||
particleEmitter.materialNameList = new List<string>();
|
||||
particleEmitter.themeBundleName = themeBundleName;
|
||||
particleEmitter.materialName = materialName;
|
||||
particleEmitter.particlesContainer.SetParticleMaterial(themeBundleName, materialName);
|
||||
particleEmitter.SetParticleSettings(prewarm, simulationSpace, density, lifeTime, speed, radius, isAutoOrient, particleRotation, false);
|
||||
return particleEmitter;
|
||||
}
|
||||
|
||||
public void SetParticleSettings(bool prewarm, ParticleSystemSimulationSpace simulationSpace,
|
||||
float density, float lifeTime, float speed, float radius, bool isAutoOrient, Vector3 particleRotation, bool mark)
|
||||
{
|
||||
//这个Mark没有任何作用,只是为了让解释器把interface中的函数和这个函数区分开。否则会Stackoverflow。
|
||||
this.prewarm = prewarm;
|
||||
this.simulationSpace = simulationSpace;
|
||||
this.density = density;
|
||||
this.lifeTime = lifeTime;
|
||||
this.speed = speed;
|
||||
this.radius = radius;
|
||||
this.isAutoOrient = isAutoOrient;
|
||||
this.particleRotation = particleRotation;
|
||||
(this as IHaveParticles).SetParticleSettings(prewarm, simulationSpace, density, lifeTime, speed, radius, isAutoOrient, particleRotation);
|
||||
}
|
||||
|
||||
public override void SetDefaultSubmodules()
|
||||
{
|
||||
timeDurationSubmodule = new TimeDurationSubmodule(this);
|
||||
transformSubmodule = new TransformSubmodule(this);
|
||||
colorSubmodule = new ColorSubmodule(this, Color.white, true, Color.white, 0);
|
||||
}
|
||||
}
|
||||
|
||||
public partial class ParticleEmitter
|
||||
{
|
||||
private void Update()
|
||||
{
|
||||
float songTime = EditorManager.instance.songInformation.songTime;
|
||||
if (playTime > songTime || stopTime < songTime)
|
||||
{
|
||||
if (particle.isPlaying || particle.isPaused)
|
||||
{
|
||||
particle.Stop();
|
||||
|
||||
if (songTime < playTime) { particle.Clear(); }
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!EditorManager.instance.musicPlayer.isPlaying)
|
||||
{
|
||||
particle.Pause();
|
||||
}
|
||||
else if (!particle.isPlaying)
|
||||
{
|
||||
particle.Play();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
public override void Refresh()
|
||||
{
|
||||
base.Refresh();
|
||||
ParticleSystemRenderer particleSystemRenderer = particle.GetComponent<ParticleSystemRenderer>();
|
||||
particleSystemRenderer.material.SetColor("_BaseColor", colorSubmodule.currentBaseColor);
|
||||
if (colorSubmodule.emissionEnabled)
|
||||
{
|
||||
particleSystemRenderer.material.EnableKeyword("_EMISSION_ON");
|
||||
particleSystemRenderer.material.SetColor("_EmissionColor", colorSubmodule.GetCurrentEmissionColor());
|
||||
}
|
||||
else
|
||||
{
|
||||
particleSystemRenderer.material.DisableKeyword("_EMISSION_ON");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public partial class ParticleEmitter
|
||||
{
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
base.SetUpInspector();
|
||||
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
Inspector inspectorMain = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("Particle Tracker");
|
||||
|
||||
// 确保 themeBundleList 初始化
|
||||
if (themeBundleList == null)
|
||||
themeBundleList = ThemeBundleManager.instance.loadedThemeBundleList.ConvertAll(x => x.themeBundleName);
|
||||
|
||||
DynamicUISubcontainer particleSettings0 = container.GenerateSubcontainer(3);
|
||||
inspector.GenerateToggle(this, particleSettings0, "Prewarm", nameof(prewarm))
|
||||
.AddListenerFunction(() => particlesContainer.SetPrewarm(prewarm));
|
||||
inspector.GenerateInputField(this, particleSettings0, "Play Time", nameof(playTime));
|
||||
inspector.GenerateInputField(this, particleSettings0, "Stop Time", nameof(stopTime));
|
||||
|
||||
|
||||
DynamicUISubcontainer particleSettings2 = container.GenerateSubcontainer(3);
|
||||
inspector.GenerateDropdown(this, particleSettings2, "Simulation Space", typeof(ParticleSystemSimulationSpace), nameof(simulationSpace))
|
||||
.AddListenerFunction(() => particlesContainer.SetSimulationSpace(simulationSpace));
|
||||
inspector.GenerateInputField(this, particleSettings2, "Density", nameof(density))
|
||||
.AddListenerFunction(()=>particlesContainer.SetDensity(density));
|
||||
inspector.GenerateInputField(this, particleSettings2, "Life Time", nameof(lifeTime))
|
||||
.AddListenerFunction(()=>particlesContainer.SetLifeTime(lifeTime));
|
||||
inspector.GenerateInputField(this, particleSettings2, "Speed", nameof(speed))
|
||||
.AddListenerFunction(()=>particlesContainer.SetSpeed(speed));
|
||||
inspector.GenerateInputField(this, particleSettings2, "Radius", nameof(radius))
|
||||
.AddListenerFunction(()=>particlesContainer.SetRadius(radius));
|
||||
|
||||
DynamicUISubcontainer particleSettings3_0 = container.GenerateSubcontainer(3);
|
||||
inspector.GenerateToggle(this, particleSettings3_0, "Is Auto Orient", nameof(isAutoOrient))
|
||||
.AddListenerFunction(()=>particlesContainer.SetAlignment(isAutoOrient, particleRotation));
|
||||
DynamicUISubcontainer particleSettings3_1 = container.GenerateSubcontainer(1);
|
||||
inspector.GenerateVector3InputField(this, particleSettings3_1, "Particle Rotation", nameof(particleRotation))
|
||||
.AddListenerFunction(()=>particlesContainer.SetParticleRotation(particleRotation));
|
||||
|
||||
DynamicUISubcontainer materialSettings = container.GenerateSubcontainer(3);
|
||||
var themeBundleDropdown =
|
||||
inspector.GenerateDropdown(this, materialSettings, "Theme Bundle", themeBundleList, nameof(themeBundleName))
|
||||
.AddListenerFunction(() => inspectorMain.SetInspector(this));
|
||||
if (themeBundleName != String.Empty && ThemeBundleManager.instance.TryGetThemeBundle(themeBundleName, out ThemeBundle themeBundle))
|
||||
{
|
||||
materialNameList = themeBundle.assetList_Material.ConvertAll(x => x.name);
|
||||
var objectNameDropdown =
|
||||
inspector.GenerateDropdown(this, materialSettings, "Material Name", materialNameList, nameof(materialName))
|
||||
.AddListenerFunction(() => inspectorMain.SetInspector(this));
|
||||
}
|
||||
else
|
||||
{
|
||||
materialNameList = new List<string>(); // 防止为null
|
||||
var objectNameDropdown =
|
||||
inspector.GenerateDropdown(this, materialSettings, "Material Name", materialNameList, nameof(materialName));
|
||||
objectNameDropdown.dropdown.interactable = false;
|
||||
} // 如果没有选择主题包,则材质名称下拉框不可用
|
||||
|
||||
var setMaterialButton = inspector.GenerateButton(this, materialSettings, "Set Material", () =>
|
||||
{
|
||||
particlesContainer.SetParticleMaterial(themeBundleName, materialName);
|
||||
});
|
||||
|
||||
if (themeBundleName == String.Empty || materialName == String.Empty)
|
||||
{
|
||||
setMaterialButton.button.interactable = false;
|
||||
}
|
||||
}
|
||||
|
||||
public override void SaveBM()
|
||||
{
|
||||
matchedBM = new ParticleEmitter_BM(elementName, elementGuid, tags, parentElement.matchedBM as GameElement_BM,
|
||||
prewarm, playTime, stopTime, simulationSpace, density, lifeTime, speed, radius,
|
||||
isAutoOrient, particleRotation, themeBundleName, materialName);
|
||||
}
|
||||
}
|
||||
|
||||
namespace Beatmap
|
||||
{
|
||||
public class ParticleEmitter_BM : GameElement_BM
|
||||
{
|
||||
public bool prewarm = false;
|
||||
public float playTime = 0f;
|
||||
public float stopTime = 1f;
|
||||
|
||||
public ParticleSystemSimulationSpace simulationSpace;
|
||||
public float density = 10;
|
||||
public float lifeTime = 5;
|
||||
public float speed;
|
||||
public float radius;
|
||||
|
||||
public bool isAutoOrient = true;
|
||||
public Vector3 particleRotation = Vector3.zero;
|
||||
|
||||
public string materialThemeBundleName = string.Empty;
|
||||
public string materialName = string.Empty;
|
||||
|
||||
public ParticleEmitter_BM()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ParticleEmitter_BM(string elementName, Guid elementGuid, List<string> tags, GameElement_BM attachedElement,
|
||||
bool prewarm, float playTime, float stopTime, ParticleSystemSimulationSpace simulationSpace,
|
||||
float density, float lifeTime, float speed, float radius, bool isAutoOrient, Vector3 particleRotation,
|
||||
string materialThemeBundleName, string materialName) :
|
||||
base(elementName, elementGuid, tags, attachedElement)
|
||||
{
|
||||
this.prewarm = prewarm;
|
||||
this.playTime = playTime;
|
||||
this.stopTime = stopTime;
|
||||
this.simulationSpace = simulationSpace;
|
||||
this.density = density;
|
||||
this.lifeTime = lifeTime;
|
||||
this.speed = speed;
|
||||
this.radius = radius;
|
||||
this.isAutoOrient = isAutoOrient;
|
||||
this.particleRotation = particleRotation;
|
||||
this.materialThemeBundleName = materialThemeBundleName;
|
||||
this.materialName = materialName;
|
||||
}
|
||||
|
||||
public override void ExecuteBM()
|
||||
{
|
||||
matchedElement = ParticleEmitter.GenerateElement(elementName, elementGuid, tags, false,
|
||||
GetElement(attachedElementGuid), materialThemeBundleName, materialName,
|
||||
prewarm, playTime, stopTime, simulationSpace, density, lifeTime, speed, radius,
|
||||
isAutoOrient, particleRotation);
|
||||
}
|
||||
|
||||
public override GameElement DuplicateBM(GameElement attached)
|
||||
{
|
||||
return ParticleEmitter.GenerateElement(elementName, Guid.NewGuid(), tags, false,
|
||||
attached, materialThemeBundleName, materialName,
|
||||
prewarm, playTime, stopTime, simulationSpace, density, lifeTime, speed, radius,
|
||||
isAutoOrient, particleRotation);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public interface IHaveParticles
|
||||
{
|
||||
public ParticleSystem particle { get; set; }
|
||||
|
||||
public virtual void SetParticleMaterial(string themeBundleName, string materialName)
|
||||
{
|
||||
Material material = ThemeBundleManager.instance.GetObject<Material>(themeBundleName, materialName);
|
||||
if (material == null)
|
||||
{
|
||||
material = ThemeBundleManager.instance.GetObject<Material>("basic", "Basic_Track_Default");
|
||||
}
|
||||
|
||||
Renderer particleRenderer = particle.GetComponent<Renderer>();
|
||||
particleRenderer.material = Object.Instantiate(material);
|
||||
particleRenderer.InitializeShader();
|
||||
}
|
||||
|
||||
public virtual void SetParticleSettings(bool prewarm, ParticleSystemSimulationSpace simulationSpace, float density, float lifeTime,
|
||||
float speed, float radius, bool isAutoOrient, Vector3 particleRotation)
|
||||
{
|
||||
SetPrewarm(prewarm);
|
||||
SetSimulationSpace(simulationSpace);
|
||||
SetDensity(density);
|
||||
SetLifeTime(lifeTime);
|
||||
SetSpeed(speed);
|
||||
SetRadius(radius);
|
||||
SetAlignment(isAutoOrient, particleRotation);
|
||||
}
|
||||
|
||||
public void SetPrewarm(bool prewarm)
|
||||
{
|
||||
var mainModule = particle.main;
|
||||
mainModule.prewarm = prewarm;
|
||||
}
|
||||
|
||||
public void SetSimulationSpace(ParticleSystemSimulationSpace simulationSpace)
|
||||
{
|
||||
var mainModule = particle.main;
|
||||
mainModule.simulationSpace = simulationSpace;
|
||||
}
|
||||
|
||||
public void SetDensity(float density)
|
||||
{
|
||||
var emission = particle.emission;
|
||||
emission.rateOverTime = density;
|
||||
}
|
||||
|
||||
public void SetLifeTime(float lifeTime)
|
||||
{
|
||||
var mainModule = particle.main;
|
||||
mainModule.startLifetime = lifeTime;
|
||||
}
|
||||
|
||||
public void SetSpeed(float speed)
|
||||
{
|
||||
var mainModule = particle.main;
|
||||
mainModule.startSpeed = speed;
|
||||
}
|
||||
|
||||
public void SetRadius(float radius)
|
||||
{
|
||||
var shapeModule = particle.shape;
|
||||
shapeModule.radius = radius;
|
||||
}
|
||||
|
||||
public void SetAlignment(bool isAutoOrient, Vector3 particleRotation = default)
|
||||
{
|
||||
ParticleSystemRenderer particleSystemRenderer = particle.GetComponent<ParticleSystemRenderer>();
|
||||
var mainModule = particle.main;
|
||||
if (isAutoOrient)
|
||||
{
|
||||
particleSystemRenderer.alignment = ParticleSystemRenderSpace.View;
|
||||
mainModule.startRotation3D = false; // 禁用3D旋转
|
||||
}
|
||||
else
|
||||
{
|
||||
particleSystemRenderer.alignment = ParticleSystemRenderSpace.Local;
|
||||
mainModule.startRotation3D = true; // 启用3D旋转
|
||||
SetParticleRotation(particleRotation);
|
||||
}
|
||||
}
|
||||
|
||||
public void SetParticleRotation(Vector3 particleRotation)
|
||||
{
|
||||
Vector3 vector3Rotation = particleRotation * Mathf.Deg2Rad;
|
||||
var mainModule = particle.main;
|
||||
mainModule.startRotationX = vector3Rotation.x;
|
||||
mainModule.startRotationY = vector3Rotation.y;
|
||||
mainModule.startRotationZ = vector3Rotation.z;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 169162a593e5d094b839ce348712fa85
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -13,6 +13,7 @@ namespace Ichni.RhythmGame
|
||||
public TransformSubmodule transformSubmodule { get; set; }
|
||||
public TimeDurationSubmodule timeDurationSubmodule { get; set; }
|
||||
public ColorSubmodule colorSubmodule { get; set; }
|
||||
public virtual bool haveBaseColor => true;
|
||||
public virtual bool haveEmissionColor => false;
|
||||
|
||||
public static SubstantialObject GenerateElement(string elementName, Guid id, List<string> tags, bool isFirstGenerated,
|
||||
|
||||
@@ -9,15 +9,18 @@ using UnityEngine.Serialization;
|
||||
|
||||
namespace Ichni.RhythmGame
|
||||
{
|
||||
public partial class ParticleTracker : GameElement, IHaveColorSubmodule
|
||||
public partial class ParticleTracker : GameElement, IHaveParticles, IHaveColorSubmodule
|
||||
{
|
||||
public Track track;
|
||||
public ParticleController particleController;
|
||||
public ParticleSystem particle;
|
||||
private IHaveParticles particlesContainer => this;
|
||||
public ParticleSystem particle { get; set; }
|
||||
public ColorSubmodule colorSubmodule { get; set; }
|
||||
public bool haveBaseColor => true;
|
||||
public bool haveEmissionColor => true;
|
||||
|
||||
private List<string> themeBundleList;
|
||||
private List<string> materialNameList;
|
||||
public string themeBundleName;
|
||||
public string materialName;
|
||||
|
||||
@@ -45,6 +48,7 @@ namespace Ichni.RhythmGame
|
||||
{
|
||||
ParticleTracker particleTracker = Instantiate(EditorManager.instance.basePrefabs.particleTracker, track.transform)
|
||||
.GetComponent<ParticleTracker>();
|
||||
particleTracker.particle = particleTracker.GetComponent<ParticleSystem>();
|
||||
particleTracker.Initialize(elementName, id, tags, isFirstGenerated, track);
|
||||
particleTracker.track = track;
|
||||
particleTracker.particleController.spline = track.trackPathSubmodule.path;
|
||||
@@ -54,7 +58,7 @@ namespace Ichni.RhythmGame
|
||||
particleTracker.materialNameList = new List<string>();
|
||||
particleTracker.themeBundleName = themeBundleName;
|
||||
particleTracker.materialName = materialName;
|
||||
particleTracker.SetParticleMaterial(themeBundleName, materialName);
|
||||
particleTracker.particlesContainer.SetParticleMaterial(themeBundleName, materialName);
|
||||
particleTracker.SetParticleSettings(prewarm, is3D, width, extendDirection, density, lifeTime, isAutoOrient, particleRotation);
|
||||
return particleTracker;
|
||||
}
|
||||
@@ -64,25 +68,9 @@ namespace Ichni.RhythmGame
|
||||
colorSubmodule = new ColorSubmodule(this, Color.white, true, Color.white, 0);
|
||||
}
|
||||
|
||||
public void SetParticleMaterial(string themeBundleName, string materialName)
|
||||
{
|
||||
|
||||
Material material = ThemeBundleManager.instance.GetObject<Material>(themeBundleName, materialName);
|
||||
if (material == null)
|
||||
{
|
||||
print("Material not found: " + themeBundleName + ", " + materialName);
|
||||
material = ThemeBundleManager.instance.GetObject<Material>("basic", "Basic_Track_Default");
|
||||
}
|
||||
Renderer particleRenderer = particle.GetComponent<Renderer>();
|
||||
particleRenderer.material = Instantiate(material);
|
||||
particleRenderer.InitializeShader();
|
||||
|
||||
}
|
||||
|
||||
public void SetParticleSettings(bool prewarm,
|
||||
bool is3D, float width, Vector3 extendDirection,
|
||||
float density, float lifeTime,
|
||||
bool isAutoOrient, Vector3 particleRotation)
|
||||
public void SetParticleSettings(bool prewarm, bool is3D, float width, Vector3 extendDirection,
|
||||
float density, float lifeTime, bool isAutoOrient, Vector3 particleRotation)
|
||||
{
|
||||
this.prewarm = prewarm;
|
||||
this.is3D = is3D;
|
||||
@@ -93,12 +81,9 @@ namespace Ichni.RhythmGame
|
||||
this.prewarm = prewarm;
|
||||
this.isAutoOrient = isAutoOrient;
|
||||
this.particleRotation = particleRotation;
|
||||
|
||||
SetPrewarm();
|
||||
particlesContainer.SetParticleSettings(prewarm, ParticleSystemSimulationSpace.Local, density,
|
||||
lifeTime, 0, 1, isAutoOrient, particleRotation);
|
||||
SetShape();
|
||||
SetDensity();
|
||||
SetLifeTime();
|
||||
SetAlignment();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -139,9 +124,6 @@ namespace Ichni.RhythmGame
|
||||
themeBundleName, materialName);
|
||||
}
|
||||
|
||||
private List<string> themeBundleList;
|
||||
private List<string> materialNameList;
|
||||
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
base.SetUpInspector();
|
||||
@@ -155,24 +137,32 @@ namespace Ichni.RhythmGame
|
||||
themeBundleList = ThemeBundleManager.instance.loadedThemeBundleList.ConvertAll(x => x.themeBundleName);
|
||||
|
||||
DynamicUISubcontainer particleSettings0 = container.GenerateSubcontainer(3);
|
||||
inspector.GenerateToggle(this, particleSettings0, "Prewarm", nameof(prewarm)).AddListenerFunction(SetPrewarm);
|
||||
inspector.GenerateToggle(this, particleSettings0, "Prewarm", nameof(prewarm))
|
||||
.AddListenerFunction(() => particlesContainer.SetPrewarm(prewarm));
|
||||
inspector.GenerateInputField(this, particleSettings0, "Play Time", nameof(playTime));
|
||||
inspector.GenerateInputField(this, particleSettings0, "Stop Time", nameof(stopTime));
|
||||
|
||||
DynamicUISubcontainer particleSettings1_0 = container.GenerateSubcontainer(3);
|
||||
inspector.GenerateToggle(this, particleSettings1_0, "Is 3D", nameof(is3D)).AddListenerFunction(SetShape);
|
||||
inspector.GenerateInputField(this, particleSettings1_0, "Width", nameof(width)).AddListenerFunction(SetShape);
|
||||
inspector.GenerateToggle(this, particleSettings1_0, "Is 3D", nameof(is3D))
|
||||
.AddListenerFunction(SetShape);
|
||||
inspector.GenerateInputField(this, particleSettings1_0, "Width", nameof(width))
|
||||
.AddListenerFunction(SetShape);
|
||||
DynamicUISubcontainer particleSettings1_1 = container.GenerateSubcontainer(1);
|
||||
inspector.GenerateVector3InputField(this, particleSettings1_1, "Extend Direction", nameof(extendDirection)).AddListenerFunction(SetShape);
|
||||
inspector.GenerateVector3InputField(this, particleSettings1_1, "Extend Direction", nameof(extendDirection))
|
||||
.AddListenerFunction(SetShape);
|
||||
|
||||
DynamicUISubcontainer particleSettings2 = container.GenerateSubcontainer(3);
|
||||
inspector.GenerateInputField(this, particleSettings2, "Density", nameof(density)).AddListenerFunction(SetDensity);
|
||||
inspector.GenerateInputField(this, particleSettings2, "Life Time", nameof(lifeTime)).AddListenerFunction(SetLifeTime);
|
||||
inspector.GenerateInputField(this, particleSettings2, "Density", nameof(density))
|
||||
.AddListenerFunction(()=>particlesContainer.SetDensity(density));
|
||||
inspector.GenerateInputField(this, particleSettings2, "Life Time", nameof(lifeTime))
|
||||
.AddListenerFunction(()=>particlesContainer.SetLifeTime(lifeTime));
|
||||
|
||||
DynamicUISubcontainer particleSettings3_0 = container.GenerateSubcontainer(3);
|
||||
inspector.GenerateToggle(this, particleSettings3_0, "Is Auto Orient", nameof(isAutoOrient)).AddListenerFunction(SetAlignment);
|
||||
inspector.GenerateToggle(this, particleSettings3_0, "Is Auto Orient", nameof(isAutoOrient))
|
||||
.AddListenerFunction(()=>particlesContainer.SetAlignment(isAutoOrient, particleRotation));
|
||||
DynamicUISubcontainer particleSettings3_1 = container.GenerateSubcontainer(1);
|
||||
inspector.GenerateVector3InputField(this, particleSettings3_1, "Particle Rotation", nameof(particleRotation)).AddListenerFunction(SetParticleRotation);
|
||||
inspector.GenerateVector3InputField(this, particleSettings3_1, "Particle Rotation", nameof(particleRotation))
|
||||
.AddListenerFunction(()=>particlesContainer.SetParticleRotation(particleRotation));
|
||||
|
||||
DynamicUISubcontainer materialSettings = container.GenerateSubcontainer(3);
|
||||
var themeBundleDropdown =
|
||||
@@ -195,7 +185,7 @@ namespace Ichni.RhythmGame
|
||||
|
||||
var setMaterialButton = inspector.GenerateButton(this, materialSettings, "Set Material", () =>
|
||||
{
|
||||
SetParticleMaterial(themeBundleName, materialName);
|
||||
particlesContainer.SetParticleMaterial(themeBundleName, materialName);
|
||||
});
|
||||
|
||||
if (themeBundleName == String.Empty || materialName == String.Empty)
|
||||
@@ -215,50 +205,6 @@ namespace Ichni.RhythmGame
|
||||
particleController.Rebuild();
|
||||
}
|
||||
|
||||
private void SetDensity()
|
||||
{
|
||||
var emission = particle.emission;
|
||||
emission.rateOverTime = density;
|
||||
}
|
||||
|
||||
private void SetLifeTime()
|
||||
{
|
||||
var mainModule = particle.main;
|
||||
mainModule.startLifetime = lifeTime;
|
||||
}
|
||||
|
||||
private void SetPrewarm()
|
||||
{
|
||||
var mainModule = particle.main;
|
||||
mainModule.prewarm = prewarm;
|
||||
}
|
||||
|
||||
private void SetAlignment()
|
||||
{
|
||||
ParticleSystemRenderer particleSystemRenderer = particle.GetComponent<ParticleSystemRenderer>();
|
||||
var mainModule = particle.main;
|
||||
if (isAutoOrient)
|
||||
{
|
||||
particleSystemRenderer.alignment = ParticleSystemRenderSpace.View;
|
||||
mainModule.startRotation3D = false; // 禁用3D旋转
|
||||
}
|
||||
else
|
||||
{
|
||||
particleSystemRenderer.alignment = ParticleSystemRenderSpace.Local;
|
||||
mainModule.startRotation3D = true; // 启用3D旋转
|
||||
SetParticleRotation();
|
||||
}
|
||||
}
|
||||
|
||||
private void SetParticleRotation()
|
||||
{
|
||||
Vector3 vector3Rotation = particleRotation * Mathf.Deg2Rad;
|
||||
var mainModule = particle.main;
|
||||
mainModule.startRotationX = vector3Rotation.x;
|
||||
mainModule.startRotationY = vector3Rotation.y;
|
||||
mainModule.startRotationZ = vector3Rotation.z;
|
||||
}
|
||||
|
||||
public override void Refresh()
|
||||
{
|
||||
base.Refresh();
|
||||
|
||||
@@ -128,6 +128,12 @@ namespace Ichni.RhythmGame
|
||||
var environmentObjectButton = inspector.GenerateButton(this, generation, "Environment Object",
|
||||
() => TemporaryObject.GenerateElement("New Environment Object", Guid.NewGuid(), new List<string>(),
|
||||
true, this));
|
||||
var generateParticleEmitterButton = inspector.GenerateButton(this, generation, "Generate Particle Emitter", () =>
|
||||
{
|
||||
ParticleEmitter.GenerateElement("New Particle Emitter", Guid.NewGuid(), new List<string>(), true,
|
||||
this, "", "",false,0, 1, ParticleSystemSimulationSpace.World,
|
||||
10, 5, 1, 1 ,true, Vector3.zero);
|
||||
});
|
||||
}
|
||||
|
||||
public override void Refresh()
|
||||
|
||||
@@ -86,6 +86,12 @@ namespace Ichni.RhythmGame
|
||||
var environmentObjectButton = inspector.GenerateButton(this, generation, "Environment Object",
|
||||
() => TemporaryObject.GenerateElement("New Environment Object", Guid.NewGuid(), new List<string>(),
|
||||
true, this));
|
||||
var generateParticleEmitterButton = inspector.GenerateButton(this, generation, "Generate Particle Emitter", () =>
|
||||
{
|
||||
ParticleEmitter.GenerateElement("New Particle Emitter", Guid.NewGuid(), new List<string>(), true,
|
||||
this, "", "",false,0, 1, ParticleSystemSimulationSpace.World,
|
||||
10, 5, 1, 1 ,true, Vector3.zero);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -115,6 +115,12 @@ namespace Ichni.RhythmGame
|
||||
var environmentObjectButton = inspector.GenerateButton(this, generation, "Environment Object",
|
||||
() => TemporaryObject.GenerateElement("New Environment Object", Guid.NewGuid(), new List<string>(),
|
||||
true, this));
|
||||
var generateParticleEmitterButton = inspector.GenerateButton(this, generation, "Generate Particle Emitter", () =>
|
||||
{
|
||||
ParticleEmitter.GenerateElement("New Particle Emitter", Guid.NewGuid(), new List<string>(), true,
|
||||
this, "", "",false,0, 1, ParticleSystemSimulationSpace.World,
|
||||
10, 5, 1, 1 ,true, Vector3.zero);
|
||||
});
|
||||
}
|
||||
|
||||
public override void Refresh()
|
||||
|
||||
@@ -35,6 +35,7 @@ namespace Ichni.RhythmGame
|
||||
public GameObject triggerHint;
|
||||
|
||||
[Title("Effect相关")] public Material defaultParticleMaterial;
|
||||
public GameObject particleEmitter;
|
||||
public GameObject bloomEffect;
|
||||
public GameObject cameraZoomEffect;
|
||||
public GameObject cameraShakeEffect;
|
||||
|
||||
@@ -97,5 +97,5 @@ Material:
|
||||
- _Color: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
||||
- _Tint2: {r: 0, g: 0, b: 0, a: 0.5}
|
||||
- _Tint2: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
||||
m_BuildTextureStacks: []
|
||||
|
||||
8
Assets/StreamingAssets/AutoSave/DIAM.meta
Normal file
8
Assets/StreamingAssets/AutoSave/DIAM.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3f85d2b6703d7644bb36ee4814c36f5b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
78317
Assets/StreamingAssets/AutoSave/DIAM/AutoSave_0.json
Normal file
78317
Assets/StreamingAssets/AutoSave/DIAM/AutoSave_0.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5b0c28a9a3a4665449562bf151644ca6
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
78317
Assets/StreamingAssets/AutoSave/DIAM/AutoSave_1.json
Normal file
78317
Assets/StreamingAssets/AutoSave/DIAM/AutoSave_1.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0d013f5aeb1e0f641a04f18227d4af14
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
78317
Assets/StreamingAssets/AutoSave/DIAM/AutoSave_2.json
Normal file
78317
Assets/StreamingAssets/AutoSave/DIAM/AutoSave_2.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e851f104723c1c94cab5857310957aa2
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/StreamingAssets/Export/Pof.meta
Normal file
8
Assets/StreamingAssets/Export/Pof.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b7c01dc82ca9bb54c82ff9e0e7924008
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/StreamingAssets/Export/Pof/Beatmap.bytes
Normal file
BIN
Assets/StreamingAssets/Export/Pof/Beatmap.bytes
Normal file
Binary file not shown.
7
Assets/StreamingAssets/Export/Pof/Beatmap.bytes.meta
Normal file
7
Assets/StreamingAssets/Export/Pof/Beatmap.bytes.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d2972cff12df25746a233fd562ecade2
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
2
Assets/StreamingAssets/Export/Pof/CommandScripts.bytes
Normal file
2
Assets/StreamingAssets/Export/Pof/CommandScripts.bytes
Normal file
@@ -0,0 +1,2 @@
|
||||
§vϦ
|
||||
½ŠVòÇ~~ù]@Ÿ{Ó“U†…_cW¾ —NóI-M|ãw ¾ùgìý÷U†€ò°º˜iÕ®<C395>¹Ëñi³B,é‚0!QʳⰀL0¸¾µ|ìL~<päsxúÛ°3ègè"à\W¬ý èÂÍ”ºéjjJwtγù¥<C3B9>M{¸7ÁI¤E°Í!¥àÁ°µ¯Ayªsù àBëñ¯Î¥XΔœEnKD±—Ùå¿´QÛOÕp:ì<>s
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cccff8d62af2dad4d946d04ac34e3afa
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/StreamingAssets/Export/Pof/ProjectInfo.bytes
Normal file
BIN
Assets/StreamingAssets/Export/Pof/ProjectInfo.bytes
Normal file
Binary file not shown.
7
Assets/StreamingAssets/Export/Pof/ProjectInfo.bytes.meta
Normal file
7
Assets/StreamingAssets/Export/Pof/ProjectInfo.bytes.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ec3443eccd7a1a043b1f446923cce9de
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/StreamingAssets/Export/Pof/SongInfo.bytes
Normal file
BIN
Assets/StreamingAssets/Export/Pof/SongInfo.bytes
Normal file
Binary file not shown.
7
Assets/StreamingAssets/Export/Pof/SongInfo.bytes.meta
Normal file
7
Assets/StreamingAssets/Export/Pof/SongInfo.bytes.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 876ff5d46bbf2254d87c7878f07c96fe
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/StreamingAssets/Export/Register_HD.meta
Normal file
8
Assets/StreamingAssets/Export/Register_HD.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 93e3c4a3a3e107245be89e837bac8dba
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/StreamingAssets/Export/Register_HD/Beatmap.bytes
Normal file
BIN
Assets/StreamingAssets/Export/Register_HD/Beatmap.bytes
Normal file
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 70234191c4201d74cb627a7bf5c4b5fd
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/StreamingAssets/Export/Register_HD/CommandScripts.bytes
Normal file
BIN
Assets/StreamingAssets/Export/Register_HD/CommandScripts.bytes
Normal file
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 32f8bccb6f8c938458d81f2ab86b314e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/StreamingAssets/Export/Register_HD/ProjectInfo.bytes
Normal file
BIN
Assets/StreamingAssets/Export/Register_HD/ProjectInfo.bytes
Normal file
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: af03f32531421ef4faea209f8dd30147
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/StreamingAssets/Export/Register_HD/SongInfo.bytes
Normal file
BIN
Assets/StreamingAssets/Export/Register_HD/SongInfo.bytes
Normal file
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8e90f9552aff91b4f9cbeee2c21462c4
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/StreamingAssets/Projects/DIAM.meta
Normal file
8
Assets/StreamingAssets/Projects/DIAM.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ad55b2428574dab4691c30b85edf12a4
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
78317
Assets/StreamingAssets/Projects/DIAM/Beatmap.json
Normal file
78317
Assets/StreamingAssets/Projects/DIAM/Beatmap.json
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/StreamingAssets/Projects/DIAM/Beatmap.json.meta
Normal file
7
Assets/StreamingAssets/Projects/DIAM/Beatmap.json.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e3592c1a72d18fc48a1d6af52b52d195
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
13
Assets/StreamingAssets/Projects/DIAM/CommandScripts.json
Normal file
13
Assets/StreamingAssets/Projects/DIAM/CommandScripts.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"CommandScripts" : {
|
||||
"__type" : "Ichni.RhythmGame.Beatmap.CommandScripts_BM,Assembly-CSharp",
|
||||
"value" : {
|
||||
"commandList" : [
|
||||
|
||||
],
|
||||
"attachedElementGuid" : {
|
||||
"value" : "00000000-0000-0000-0000-000000000000"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e7d7a8ba8c201a940b57653987c9b264
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f9db83b0b05d3014e9040fc79da197be
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
18
Assets/StreamingAssets/Projects/DIAM/ProjectInfo.json
Normal file
18
Assets/StreamingAssets/Projects/DIAM/ProjectInfo.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"ProjectInformation" : {
|
||||
"__type" : "Ichni.RhythmGame.Beatmap.ProjectInformation_BM,Assembly-CSharp",
|
||||
"value" : {
|
||||
"projectName" : "DIAM",
|
||||
"creatorName" : "FE",
|
||||
"editorVersion" : "0.1.0",
|
||||
"createTime" : "2025\/8\/17 18:38:15",
|
||||
"lastSaveTime" : "2025\/8\/17 18:38:15",
|
||||
"selectedThemeBundleList" : [
|
||||
"basic","departure_to_multiverse"
|
||||
],
|
||||
"attachedElementGuid" : {
|
||||
"value" : "00000000-0000-0000-0000-000000000000"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d5528bb3ea9f3c44097ecbba8d5e8adf
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
14
Assets/StreamingAssets/Projects/DIAM/SongInfo.json
Normal file
14
Assets/StreamingAssets/Projects/DIAM/SongInfo.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"SongInformation" : {
|
||||
"__type" : "Ichni.RhythmGame.Beatmap.SongInformation_BM,Assembly-CSharp",
|
||||
"value" : {
|
||||
"songName" : "Drowning in a Moment(ichni Original).wav",
|
||||
"bpm" : 100,
|
||||
"delay" : 0,
|
||||
"offset" : 0,
|
||||
"attachedElementGuid" : {
|
||||
"value" : "00000000-0000-0000-0000-000000000000"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
7
Assets/StreamingAssets/Projects/DIAM/SongInfo.json.meta
Normal file
7
Assets/StreamingAssets/Projects/DIAM/SongInfo.json.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ca9f0cba1ad8a5140a0dc0baa8329bf7
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/StreamingAssets/Projects/DIAM/x1.meta
Normal file
8
Assets/StreamingAssets/Projects/DIAM/x1.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e69bf85699b46c44daf4158b7beae42b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
78341
Assets/StreamingAssets/Projects/DIAM/x1/Beatmap.json
Normal file
78341
Assets/StreamingAssets/Projects/DIAM/x1/Beatmap.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6b9501c65efaad74392f86934d338547
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,7 @@
|
||||
"songName" : "Pof.wav",
|
||||
"bpm" : 165,
|
||||
"delay" : 0,
|
||||
"offset" : 0,
|
||||
"offset" : 0.182,
|
||||
"attachedElementGuid" : {
|
||||
"value" : "00000000-0000-0000-0000-000000000000"
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
8
Assets/StreamingAssets/Projects/tesxt.meta
Normal file
8
Assets/StreamingAssets/Projects/tesxt.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7568607a19987cb48b6977c3df67a165
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
7
Assets/StreamingAssets/Projects/tesxt/Beatmap.json.meta
Normal file
7
Assets/StreamingAssets/Projects/tesxt/Beatmap.json.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aa022ca234818dc41a385a6923e889e1
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user