Merge branch 'Sumo-Fixes-' of https://github.com/RaffyTaffy14/HeavenStudio into Sumo-Fixes-
This commit is contained in:
commit
0d93e5b472
|
@ -8261,7 +8261,7 @@ MonoBehaviour:
|
|||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 0
|
||||
m_fontSize: 14
|
||||
m_fontSizeBase: 14.3
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 1
|
||||
|
@ -25414,8 +25414,8 @@ MonoBehaviour:
|
|||
m_TargetGraphic: {fileID: 1589389272}
|
||||
m_HandleRect: {fileID: 1589389271}
|
||||
m_Direction: 2
|
||||
m_Value: 0
|
||||
m_Size: 0.9999884
|
||||
m_Value: 1
|
||||
m_Size: 1
|
||||
m_NumberOfSteps: 0
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
|
@ -31578,7 +31578,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 45.795918}
|
||||
m_AnchoredPosition: {x: 0, y: 199.06123}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
--- !u!222 &1154875945
|
||||
|
@ -41324,8 +41324,8 @@ MonoBehaviour:
|
|||
m_TargetGraphic: {fileID: 1220118245}
|
||||
m_HandleRect: {fileID: 1220118244}
|
||||
m_Direction: 2
|
||||
m_Value: 1.0000001
|
||||
m_Size: 0
|
||||
m_Value: 1
|
||||
m_Size: 1
|
||||
m_NumberOfSteps: 0
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
|
|
|
@ -497,7 +497,6 @@ namespace HeavenStudio.Games
|
|||
else if (passBallDict[beat + length].datamodel == "tossBoys/pop")
|
||||
{
|
||||
currentBall.willBePopped = true;
|
||||
if (PlayerInput.CurrentControlStyle != InputController.ControlStyles.Touch)
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + length - 1, delegate { GetCurrentReceiver().PopBallPrepare(); })
|
||||
|
@ -517,7 +516,6 @@ namespace HeavenStudio.Games
|
|||
else if (eventDatamodel == "tossBoys/pop")
|
||||
{
|
||||
currentBall.willBePopped = true;
|
||||
if (PlayerInput.CurrentControlStyle != InputController.ControlStyles.Touch)
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + length - 1, delegate { GetCurrentReceiver().PopBallPrepare(); })
|
||||
|
@ -584,7 +582,6 @@ namespace HeavenStudio.Games
|
|||
if (passBallDict.ContainsKey(beat + currentEventLength) && passBallDict[beat + currentEventLength].datamodel == "tossBoys/pop")
|
||||
{
|
||||
currentBall.willBePopped = true;
|
||||
if (PlayerInput.CurrentControlStyle != InputController.ControlStyles.Touch)
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + currentEventLength - 1, delegate { GetCurrentReceiver().PopBallPrepare(); })
|
||||
|
|
57
Assets/Scripts/LevelEditor/Commands/Space.cs
Normal file
57
Assets/Scripts/LevelEditor/Commands/Space.cs
Normal file
|
@ -0,0 +1,57 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using Jukebox;
|
||||
|
||||
using HeavenStudio.Editor.Track;
|
||||
using Newtonsoft.Json;
|
||||
using UnityEditor;
|
||||
using UnityEngine.Timeline;
|
||||
|
||||
namespace HeavenStudio.Editor.Commands
|
||||
{
|
||||
// Insert / Delete Space
|
||||
public class MoveEntity : ICommand
|
||||
{
|
||||
private readonly List<Guid> entityIDs = new();
|
||||
private List<double> newMoveBeat;
|
||||
private List<double> lastMoveBeat;
|
||||
|
||||
public MoveEntity(List<RiqEntity> originalEntities, List<double> newBeat)
|
||||
{
|
||||
entityIDs = originalEntities.Select(c => c.guid).ToList();
|
||||
newMoveBeat = newBeat;
|
||||
}
|
||||
|
||||
public void Execute()
|
||||
{
|
||||
lastMoveBeat = new();
|
||||
var beatmap = GameManager.instance.Beatmap;
|
||||
var entities = new[] { beatmap.Entities, beatmap.TempoChanges, beatmap.VolumeChanges, beatmap.SectionMarkers }
|
||||
.SelectMany(list => list);
|
||||
|
||||
for (var i = 0; i < entityIDs.Count; i++)
|
||||
{
|
||||
var movedEntity = entities.FirstOrDefault(c => c.guid == entityIDs[i]);
|
||||
|
||||
lastMoveBeat.Add(movedEntity.beat);
|
||||
movedEntity.beat = newMoveBeat[i];
|
||||
}
|
||||
}
|
||||
|
||||
public void Undo()
|
||||
{
|
||||
var beatmap = GameManager.instance.Beatmap;
|
||||
var entities = new[] { beatmap.Entities, beatmap.TempoChanges, beatmap.VolumeChanges, beatmap.SectionMarkers }
|
||||
.SelectMany(list => list);
|
||||
|
||||
for (var i = 0; i < entityIDs.Count; i++)
|
||||
{
|
||||
var movedEntity = entities.FirstOrDefault(c => c.guid == entityIDs[i]);
|
||||
|
||||
movedEntity.beat = lastMoveBeat[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
11
Assets/Scripts/LevelEditor/Commands/Space.cs.meta
Normal file
11
Assets/Scripts/LevelEditor/Commands/Space.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6bb50347e9fcfa143aa79f3ef0f0b436
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -199,6 +199,18 @@ namespace HeavenStudio.Editor
|
|||
{
|
||||
Timeline.instance.Paste();
|
||||
}
|
||||
|
||||
if (Input.GetKey(KeyCode.LeftShift))
|
||||
{
|
||||
if (Input.GetKeyDown(KeyCode.I))
|
||||
{
|
||||
Timeline.instance.InsertSpace();
|
||||
}
|
||||
else if (Input.GetKeyDown(KeyCode.U))
|
||||
{
|
||||
Timeline.instance.DeleteSpace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Input.GetKey(KeyCode.LeftControl))
|
||||
|
|
|
@ -935,6 +935,68 @@ namespace HeavenStudio.Editor.Track
|
|||
return dup;
|
||||
}
|
||||
|
||||
public void InsertSpace()
|
||||
{
|
||||
List<RiqEntity> originalEntities = new();
|
||||
List<double> newBeats = new();
|
||||
|
||||
var beatmap = GameManager.instance.Beatmap;
|
||||
var specialEntities = new[] { beatmap.TempoChanges, beatmap.VolumeChanges, beatmap.SectionMarkers }
|
||||
.SelectMany(list => list);
|
||||
|
||||
foreach (var entity in beatmap.Entities)
|
||||
{
|
||||
var entityBeat = entity.beat;
|
||||
if (entityBeat >= PlaybackBeat)
|
||||
{
|
||||
originalEntities.Add(entity);
|
||||
newBeats.Add(entityBeat + snapInterval);
|
||||
}
|
||||
}
|
||||
foreach (var entity in specialEntities)
|
||||
{
|
||||
var entityBeat = entity.beat;
|
||||
if (entityBeat >= PlaybackBeat && entityBeat > 0)
|
||||
{
|
||||
originalEntities.Add(entity);
|
||||
newBeats.Add(entityBeat + snapInterval);
|
||||
}
|
||||
}
|
||||
|
||||
if (originalEntities.Count > 0) CommandManager.Instance.AddCommand(new Commands.MoveEntity(originalEntities, newBeats));
|
||||
}
|
||||
|
||||
public void DeleteSpace()
|
||||
{
|
||||
List<RiqEntity> originalEntities = new();
|
||||
List<double> newBeats = new();
|
||||
|
||||
var beatmap = GameManager.instance.Beatmap;
|
||||
var specialEntities = new[] { beatmap.TempoChanges, beatmap.VolumeChanges, beatmap.SectionMarkers }
|
||||
.SelectMany(list => list);
|
||||
|
||||
foreach (var entity in beatmap.Entities)
|
||||
{
|
||||
var entityBeat = entity.beat;
|
||||
if (entityBeat - snapInterval >= PlaybackBeat)
|
||||
{
|
||||
originalEntities.Add(entity);
|
||||
newBeats.Add(entityBeat - snapInterval);
|
||||
}
|
||||
}
|
||||
foreach (var entity in specialEntities)
|
||||
{
|
||||
var entityBeat = entity.beat;
|
||||
if (entityBeat - snapInterval >= PlaybackBeat && entityBeat > 0)
|
||||
{
|
||||
originalEntities.Add(entity);
|
||||
newBeats.Add(entityBeat - snapInterval);
|
||||
}
|
||||
}
|
||||
|
||||
if (originalEntities.Count > 0) CommandManager.Instance.AddCommand(new Commands.MoveEntity(originalEntities, newBeats));
|
||||
}
|
||||
|
||||
public float SnapToLayer(float y)
|
||||
{
|
||||
float size = LayerHeight();
|
||||
|
|
|
@ -62,6 +62,8 @@ namespace HeavenStudio.Editor.Track
|
|||
|
||||
private double initMoveX = 0;
|
||||
private float initMoveY = 0;
|
||||
private double selectedMinInitMoveX, selectedMaxInitMoveX;
|
||||
private float selectedMinInitMoveY, selectedMaxInitMoveY;
|
||||
|
||||
private bool movedEntity = false;
|
||||
private double lastBeat = 0;
|
||||
|
@ -238,8 +240,10 @@ namespace HeavenStudio.Editor.Track
|
|||
{
|
||||
foreach (var marker in Selections.instance.eventsSelected)
|
||||
{
|
||||
marker.entity.beat = System.Math.Max(Timeline.instance.MousePos2BeatSnap - marker.initMoveX, 0);
|
||||
marker.entity["track"] = Mathf.Clamp(Timeline.instance.MousePos2Layer - marker.initMoveY, 0, Timeline.instance.LayerCount - 1);
|
||||
var nextBeat = System.Math.Max(Timeline.instance.MousePos2BeatSnap, selectedMaxInitMoveX) - marker.initMoveX;
|
||||
var nextTrack = Mathf.Clamp(Timeline.instance.MousePos2Layer, selectedMaxInitMoveY, Timeline.instance.LayerCount - 1 + selectedMinInitMoveY) - marker.initMoveY;
|
||||
marker.entity.beat = System.Math.Max(nextBeat, 0);
|
||||
marker.entity["track"] = Mathf.Clamp(nextTrack, 0, Timeline.instance.LayerCount - 1);
|
||||
marker.SetColor((int)entity["track"]);
|
||||
marker.SetWidthHeight();
|
||||
}
|
||||
|
@ -293,6 +297,10 @@ namespace HeavenStudio.Editor.Track
|
|||
marker.initMoveX = Timeline.instance.MousePos2BeatSnap - marker.entity.beat;
|
||||
marker.initMoveY = Timeline.instance.MousePos2Layer - (int)marker.entity["track"];
|
||||
}
|
||||
selectedMinInitMoveX = Selections.instance.eventsSelected.Min(marker => marker.initMoveX);
|
||||
selectedMaxInitMoveX = Selections.instance.eventsSelected.Max(marker => marker.initMoveX);
|
||||
selectedMinInitMoveY = Selections.instance.eventsSelected.Min(marker => marker.initMoveY);
|
||||
selectedMaxInitMoveY = Selections.instance.eventsSelected.Max(marker => marker.initMoveY);
|
||||
}
|
||||
|
||||
#region ClickEvents
|
||||
|
|
|
@ -1037,12 +1037,18 @@ namespace HeavenStudio
|
|||
resizable = true,
|
||||
parameters = new()
|
||||
{
|
||||
new("intenStart", new EntityTypes.Float(0f, 1f), "Start Intensity", "Set the intensity at the start of the event."),
|
||||
new("intenEnd", new EntityTypes.Float(0f, 1f, 1f), "End Intensity", "Set the intensity at the end of the event."),
|
||||
new("intenStart", new EntityTypes.Float(0f, 20f), "Start Intensity", "Set the intensity at the start of the event."),
|
||||
new("intenEnd", new EntityTypes.Float(0f, 20f, 1f), "End Intensity", "Set the intensity at the end of the event."),
|
||||
|
||||
new("colorStart", Color.black, "Start Color", "Set the color at the start of the event."),
|
||||
new("colorEnd", Color.black, "End Color", "Set the color at the end of the event."),
|
||||
|
||||
new("xLocStart", new EntityTypes.Float(0.0f, 1f, 0.5f), "Start X Location", "Set the X location at the start of the event."),
|
||||
new("xLocEnd", new EntityTypes.Float(0.0f, 1f, 0.5f), "End X Location", "Set the X location at the end of the event."),
|
||||
|
||||
new("yLocStart", new EntityTypes.Float(0.0f, 1f, 0.5f), "Start Y Location", "Set the Y location at the start of the event."),
|
||||
new("yLocEnd", new EntityTypes.Float(0.0f, 1f, 0.5f), "End Y Location", "Set the Y location at the end of the event."),
|
||||
|
||||
new("smoothStart", new EntityTypes.Float(0.01f, 1f, 0.2f), "Start Smoothness", "Set the smoothness at the start of the event."),
|
||||
new("smoothEnd", new EntityTypes.Float(0.01f, 1f, 0.2f), "End Smoothness", "Set the smoothness at the end of the event."),
|
||||
|
||||
|
@ -1052,7 +1058,7 @@ namespace HeavenStudio
|
|||
|
||||
new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new()
|
||||
{
|
||||
new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "intenStart", "colorStart", "smoothStart", "roundStart" })
|
||||
new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "intenStart", "colorStart", "smoothStart", "roundStart", "xLocStart", "yLocStart" })
|
||||
}),
|
||||
}
|
||||
},
|
||||
|
@ -1193,10 +1199,10 @@ namespace HeavenStudio
|
|||
new("rgbStart", new EntityTypes.Float(0f, 1f, 1f), "Start RGB Blend", "Set the RGB blend at the start of the event."),
|
||||
new("rgbEnd", new EntityTypes.Float(0f, 1f, 1f), "End RGB Blend", "Set the RGB blend at the end of the event."),
|
||||
|
||||
new("bottomStart", new EntityTypes.Float(0f, 1f, 0f), "Start Bottom Collapse", "Set the bottom collapse at the start of the event."),
|
||||
new("bottomStart", new EntityTypes.Float(0f, 1f, 0.02f), "Start Bottom Collapse", "Set the bottom collapse at the start of the event."),
|
||||
new("bottomEnd", new EntityTypes.Float(0f, 1f, 0.02f), "End Bottom Collapse", "Set the bottom collapse at the end of the event."),
|
||||
|
||||
new("noiseStart", new EntityTypes.Float(0f, 1f, 0f), "Start Noise", "Set the noise at the start of the event."),
|
||||
new("noiseStart", new EntityTypes.Float(0f, 1f, 0.3f), "Start Noise", "Set the noise at the start of the event."),
|
||||
new("noiseEnd", new EntityTypes.Float(0f, 1f, 0.3f), "End Noise", "Set the noise knee at the end of the event."),
|
||||
|
||||
new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new()
|
||||
|
@ -1262,20 +1268,21 @@ namespace HeavenStudio
|
|||
resizable = true,
|
||||
parameters = new()
|
||||
{
|
||||
new("intenStart", new EntityTypes.Float(0.1f, 1f, 0.1f), "Start Intensity", "Set the edge fade at the start of the event."),
|
||||
new("intenEnd", new EntityTypes.Float(0.1f, 1f, 1f), "End Intensity", "Set the edge fade at the end of the event."),
|
||||
new("intenStart", new EntityTypes.Float(0.0f, 1f, 0.0f), "Start Intensity", "Set the edge fade at the start of the event."),
|
||||
new("intenEnd", new EntityTypes.Float(0.0f, 1f, 1f), "End Intensity", "Set the edge fade at the end of the event."),
|
||||
|
||||
new("edgeWidthStart", new EntityTypes.Float(0.05f, 5f, 0.05f), "Start Edge Width", "Set the edge width at the start of the event."),
|
||||
new("edgeWidthEnd", new EntityTypes.Float(0.05f, 5f, 2f), "End Edge Width", "Set the edge width at the end of the event."),
|
||||
new("edgeWidthStart", new EntityTypes.Float(0.00f, 5f, 0.0f), "Start Edge Width", "Set the edge width at the start of the event."),
|
||||
new("edgeWidthEnd", new EntityTypes.Float(0.00f, 5f, 2f), "End Edge Width", "Set the edge width at the end of the event."),
|
||||
|
||||
new("bgFadeStart", new EntityTypes.Float(0f, 1f, 0f), "Start Background Presence", "Set the background presence at the start of the event."),
|
||||
new("bgFadeStart", new EntityTypes.Float(0f, 1f, 1f), "Start Background Presence", "Set the background presence at the start of the event."),
|
||||
new("bgFadeEnd", new EntityTypes.Float(0f, 1f, 0f), "End Background Presence", "Set the background presence at the end of the event."),
|
||||
|
||||
|
||||
new("brightnessStart", new EntityTypes.Float(0f, 2f, 0f), "Start Brightness", "Set the brightness at the start of the event."),
|
||||
new("brightnessStart", new EntityTypes.Float(0f, 2f, 1f), "Start Brightness", "Set the brightness at the start of the event."),
|
||||
new("brightnessEnd", new EntityTypes.Float(0f, 2f, 1f), "End Brightness", "Set the brightness at the end of the event."),
|
||||
|
||||
|
||||
|
||||
new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new()
|
||||
{
|
||||
new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "intenStart", "edgeWidthStart", "bgFadeStart", "brightnessStart" })
|
||||
|
|
|
@ -115,6 +115,10 @@ namespace HeavenStudio
|
|||
|
||||
float newRoundness = func(e["roundStart"], e["roundEnd"], clampNormal);
|
||||
v.roundness.Override(newRoundness);
|
||||
|
||||
float newXPos = func(e["xLocStart"], e["xLocEnd"], clampNormal);
|
||||
float newYPos = func(e["yLocStart"], e["yLocEnd"], clampNormal);
|
||||
v.center.Override( new Vector2Parameter { value = new Vector2(newXPos, newYPos) });
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -388,6 +392,9 @@ namespace HeavenStudio
|
|||
|
||||
float newBrightness = func(e["brightnessStart"], e["brightnessEnd"], clampNormal);
|
||||
sn.Brigtness.Override(newBrightness);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -21,10 +21,10 @@ namespace XPostProcessing
|
|||
[PostProcess(typeof(EdgeDetectionSobelNeonV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionSobelNeonV2")]
|
||||
public class EdgeDetectionSobelNeonV2 : PostProcessEffectSettings
|
||||
{
|
||||
[Range(0.05f, 5.0f)]
|
||||
[Range(0.0f, 5.0f)]
|
||||
public FloatParameter EdgeWidth = new FloatParameter { value = 1f };
|
||||
|
||||
[Range(0.1f, 1.0f)]
|
||||
[Range(0.0f, 1.0f)]
|
||||
public FloatParameter EdgeNeonFade = new FloatParameter { value = 1f };
|
||||
|
||||
[Range(0.0f, 1.0f)]
|
||||
|
|
Loading…
Reference in a new issue