put things in better places

oh this looks. so much fucking better. wow
This commit is contained in:
AstrlJelly 2024-04-16 01:29:42 -04:00
parent 649eafa035
commit a0f3308bad
16 changed files with 4607 additions and 1996 deletions

File diff suppressed because it is too large Load diff

View file

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,123 @@
fileFormatVersion: 2
guid: 93df82601dc3b8a4caf887fc1999707d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 0
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load diff

View file

@ -4,6 +4,7 @@ using BurstLinq;
using System.Collections.Generic;
using UnityEngine;
using Jukebox;
using HeavenStudio.Games;
namespace HeavenStudio
{
@ -23,11 +24,8 @@ namespace HeavenStudio
public Minigames.Minigame GetMinigame(string gameName)
{
if (!minigames.ContainsKey(gameName))
{
return null;
}
return minigames[gameName];
minigames.TryGetValue(gameName, out var minigame);
return minigame;
}
public Minigames.GameAction GetGameAction(Minigames.Minigame game, string action)
@ -37,9 +35,9 @@ namespace HeavenStudio
public Minigames.GameAction GetGameAction(string gameName, string action)
{
if (minigames.ContainsKey(gameName))
if (minigames.TryGetValue(gameName, out var minigame))
{
return minigames[gameName].actions.Find(c => c.actionName == action);
return minigame.actions.Find(c => c.actionName == action);
}
else
{

View file

@ -9,7 +9,7 @@ namespace HeavenStudio.Editor
{
public class Dialog : MonoBehaviour
{
public bool IsOpen { get { return dialog.activeSelf; } }
public bool IsOpen => dialog.activeSelf;
[SerializeField] protected GameObject dialog;
public void ForceState(bool onoff = false)
{
@ -26,5 +26,15 @@ namespace HeavenStudio.Editor
dialog.ForceState(false);
}
}
public void SwitchDialogue()
{
if (dialog.activeSelf) {
dialog.SetActive(false);
} else {
ResetAllDialogs();
dialog.SetActive(true);
}
}
}
}

View file

@ -81,7 +81,8 @@ namespace HeavenStudio.Editor
eventSelector.SetActive(true);
DestroyParams();
Editor.instance.SetGameEventTitle($"Select game event for {gridGameSelector.SelectedMinigame.displayName.Replace("\n", "")}");
// Editor.instance.SetGameEventTitle($"Select game event for {gridGameSelector.SelectedMinigame.displayName.Replace("\n", "")}");
Editor.instance?.SetGameEventTitle(gridGameSelector.SelectedMinigame.displayName.Replace("\n", ""));
}
public void StartParams(RiqEntity entity)

View file

@ -15,7 +15,7 @@ using System.Configuration;
namespace HeavenStudio.Editor
{
// I hate the antichrist.
// I LOVE the antichrist!
public class GridGameSelector : MonoBehaviour
{
public Minigames.Minigame SelectedMinigame;
@ -34,6 +34,8 @@ namespace HeavenStudio.Editor
[Header("Properties")]
[SerializeField] private int currentEventIndex;
public Texture Square;
public Texture Circle;
public List<RectTransform> mgsActive = new List<RectTransform>();
public List<RectTransform> fxActive = new List<RectTransform>();
public float posDif;
@ -160,7 +162,8 @@ namespace HeavenStudio.Editor
currentEventIndex = index;
UpdateIndex(index, false);
Editor.instance?.SetGameEventTitle($"Select game event for {SelectedMinigame.displayName.Replace("\n", "")}");
// Editor.instance?.SetGameEventTitle($"Select game event for {SelectedMinigame.displayName.Replace("\n", "")}");
Editor.instance?.SetGameEventTitle(SelectedMinigame.displayName.Replace("\n", ""));
}
private void AddEvents(int index = 0)
@ -186,7 +189,7 @@ namespace HeavenStudio.Editor
label.text = action.displayName;
if (action.parameters != null && action.parameters.Count > 0)
g.transform.GetChild(1).gameObject.SetActive(true);
g.transform.GetChild(0).GetChild(0).gameObject.SetActive(true);
if (index - 1 == i)
label.color = EditorTheme.theme.properties.EventSelectedCol.Hex2RGB();
@ -239,14 +242,16 @@ namespace HeavenStudio.Editor
if (!Input.GetKey(KeyCode.LeftControl)) return;
var glg = GetComponent<GridLayoutGroup>();
var sizes = new List<float>() {
209.5f,
102.3f,
66.6f,
48.6f,
37.9f,
30.8f,
25.7f,
//21.9f,
309.9f, // 1
152.6f, // 2
100.0f, // 3
73.8f, // 4
58.1f, // 5
48.6f, // 6
40.1f, // 7
34.5f, // 8
30.0f, // 9
26.5f, // 10
};
if (glg.constraintCount + 1 > sizes.Count && Input.GetAxisRaw("Mouse ScrollWheel") < 0) return;

View file

@ -18,10 +18,12 @@ namespace HeavenStudio.Editor
public Texture MaskTex;
public Texture BgTex;
private Material m_Material;
private Image image;
private void Start()
{
Tooltip.AddTooltip(this.gameObject, EventCaller.instance.GetMinigame(this.gameObject.name).displayName);
// image = GetComponent<Image>();
Tooltip.AddTooltip(gameObject, EventCaller.instance.GetMinigame(gameObject.name).displayName);
}
private void OnEnable()
@ -33,8 +35,10 @@ namespace HeavenStudio.Editor
{
if (m_Material == null)
{
m_Material = Instantiate(GetComponent<Image>().material);
GetComponent<Image>().material = m_Material;
if (image == null) image = GetComponent<Image>();
m_Material = Instantiate(image.material);
image.material = m_Material;
}
m_Material.SetTexture("_MaskTex", MaskTex);
m_Material.SetTexture("_BgTex", BgTex);
@ -53,10 +57,8 @@ namespace HeavenStudio.Editor
if (Input.GetMouseButtonDown(1))
{
// while holding shift and the game icon clicked has a star, it will disable all stars.
if (Input.GetKey(KeyCode.LeftShift)) {
if (!StarActive) return;
for (int i = 0; i < transform.parent.childCount; i++)
{
if (Input.GetKey(KeyCode.LeftShift) && StarActive) {
for (int i = 0; i < transform.parent.childCount; i++) {
var ggsg = transform.parent.GetChild(i).GetComponent<GridGameSelectorGame>();
if (ggsg.StarActive) ggsg.Star();
}
@ -76,14 +78,14 @@ namespace HeavenStudio.Editor
public void ClickIcon()
{
transform.DOScale(new Vector3(1.15f, 1.15f, 1f), 0.1f);
BgTex = Resources.Load<Texture>($"Sprites/GeneralPurpose/Circle");
BgTex = GridGameSelector.Circle;
SetupTextures();
}
public void UnClickIcon()
{
transform.DOScale(new Vector3(1f, 1f, 1f), 0.1f);
BgTex = Resources.Load<Texture>($"Sprites/GeneralPurpose/Square");
BgTex = GridGameSelector.Square;
SetupTextures();
}
}

View file

@ -10,6 +10,10 @@ namespace HeavenStudio.Editor
public class SnapDialog : Dialog
{
[SerializeField] private TMP_Text snapText;
[SerializeField] RectTransform rectTransform;
[SerializeField] RectTransform btnRectTransform;
[SerializeField] Vector2 spawnOffset;
private Timeline timeline;
private static float[] CommonDenominators = { 1, 2, 3, 4, 6, 8, 12, 16};
@ -21,26 +25,22 @@ namespace HeavenStudio.Editor
public void SwitchSnapDialog()
{
if(dialog.activeSelf) {
if (dialog.activeSelf) {
dialog.SetActive(false);
} else {
ResetAllDialogs();
var btnPos = btnRectTransform.position;
rectTransform.position = new Vector2(btnPos.x + spawnOffset.x, btnPos.y + spawnOffset.y);
dialog.SetActive(true);
}
}
public void ChangeCommon(bool down = false)
{
if(down) {
currentCommon--;
} else {
currentCommon++;
}
if(currentCommon < 0) {
currentCommon = 0;
} else if(currentCommon >= CommonDenominators.Length) {
currentCommon = CommonDenominators.Length - 1;
if (currentCommon >= 0 && currentCommon < CommonDenominators.Length) {
currentCommon += down ? -1 : 1;
}
timeline.SetSnap(1f / CommonDenominators[currentCommon]);
}

View file

@ -110,28 +110,28 @@ namespace HeavenStudio.Editor.Track
if (selected)
{
instance.SelectionsBTN.transform.GetChild(0).GetComponent<Image>().color = Color.white;
instance.SelectionsBTN.GetComponent<TabButton>().Invoke("OnClick", 0);
// instance.SelectionsBTN.GetComponent<TabButton>().Invoke("OnClick", 0);
}
else
instance.SelectionsBTN.transform.GetChild(0).GetComponent<Image>().color = Color.gray;
if (tempoChange)
{
instance.TempoChangeBTN.transform.GetChild(0).GetComponent<Image>().color = Color.white;
instance.TempoChangeBTN.GetComponent<TabButton>().Invoke("OnClick", 0);
// instance.TempoChangeBTN.GetComponent<TabButton>().Invoke("OnClick", 0);
}
else
instance.TempoChangeBTN.transform.GetChild(0).GetComponent<Image>().color = Color.gray;
if (musicVolume)
{
instance.MusicVolumeBTN.transform.GetChild(0).GetComponent<Image>().color = Color.white;
instance.MusicVolumeBTN.GetComponent<TabButton>().Invoke("OnClick", 0);
// instance.MusicVolumeBTN.GetComponent<TabButton>().Invoke("OnClick", 0);
}
else
instance.MusicVolumeBTN.transform.GetChild(0).GetComponent<Image>().color = Color.gray;
if (chartSection)
{
instance.ChartSectionBTN.transform.GetChild(0).GetComponent<Image>().color = Color.white;
instance.ChartSectionBTN.GetComponent<TabButton>().Invoke("OnClick", 0);
// instance.ChartSectionBTN.GetComponent<TabButton>().Invoke("OnClick", 0);
}
else
instance.ChartSectionBTN.transform.GetChild(0).GetComponent<Image>().color = Color.gray;
@ -179,7 +179,6 @@ namespace HeavenStudio.Editor.Track
public Button ZoomInBTN;
public Button ZoomOutBTN;
public Button ZoomResetBTN;
public Button WaveformBTN;
public Slider PlaybackSpeed;
public Vector3[] LayerCorners = new Vector3[4];
@ -244,40 +243,13 @@ namespace HeavenStudio.Editor.Track
LoadRemix();
TimelineSlider.GetChild(0).GetComponent<Image>().color = EditorTheme.theme.properties.BeatMarkerCol.Hex2RGB();
TimelineSlider.GetChild(1).GetComponent<Image>().color = EditorTheme.theme.properties.BeatMarkerCol.Hex2RGB();
TimelineSlider.GetChild(2).GetComponent<TMP_Text>().color = EditorTheme.theme.properties.BeatMarkerCol.Hex2RGB();
TimelineSlider.GetChild(3).GetComponent<TMP_Text>().color = EditorTheme.theme.properties.BeatMarkerCol.Hex2RGB();
TimelineSongPosLineRef.GetComponent<Image>().color = EditorTheme.theme.properties.CurrentTimeMarkerCol.Hex2RGB();
// TimelineSlider.GetChild(0).GetComponent<Image>().color = EditorTheme.theme.properties.BeatMarkerCol.Hex2RGB();
// TimelineSlider.GetChild(1).GetComponent<Image>().color = EditorTheme.theme.properties.BeatMarkerCol.Hex2RGB();
// TimelineSlider.GetChild(2).GetComponent<TMP_Text>().color = EditorTheme.theme.properties.BeatMarkerCol.Hex2RGB();
// TimelineSlider.GetChild(3).GetComponent<TMP_Text>().color = EditorTheme.theme.properties.BeatMarkerCol.Hex2RGB();
// TimelineSongPosLineRef.GetComponent<Image>().color = EditorTheme.theme.properties.CurrentTimeMarkerCol.Hex2RGB();
TimelineSongPosLineRef.gameObject.SetActive(false);
PlayBTN.onClick.AddListener(delegate
{
if (Conductor.instance.isPaused)
PlayCheck(false);
else
PlayCheck(true);
});
PauseBTN.onClick.AddListener(delegate
{
if (Conductor.instance.isPlaying && !Conductor.instance.isPaused)
PlayCheck(false);
});
StopBTN.onClick.AddListener(delegate
{
if (Conductor.instance.isPlaying || Conductor.instance.isPaused)
PlayCheck(true);
});
MetronomeBTN.onClick.AddListener(delegate
{
MetronomeToggle();
});
AutoplayBTN.onClick.AddListener(delegate
{
AutoPlayToggle();
});
SelectionsBTN.onClick.AddListener(delegate
{
timelineState.SetState(CurrentTimelineState.State.Selection);
@ -295,25 +267,6 @@ namespace HeavenStudio.Editor.Track
timelineState.SetState(CurrentTimelineState.State.ChartSection);
});
ZoomInBTN.onClick.AddListener(delegate
{
zoomComponent.Zoom(0.25f * zoomComponent.Scale.x, Vector2.zero, true);
});
ZoomOutBTN.onClick.AddListener(delegate
{
zoomComponent.Zoom(-0.2f * zoomComponent.Scale.x, Vector2.zero, true);
});
ZoomResetBTN.onClick.AddListener(delegate
{
zoomComponent.ResetZoom();
});
WaveformBTN.onClick.AddListener(delegate
{
WaveformToggle();
});
Tooltip.AddTooltip(WaveformBTN.gameObject, "Waveform Toggle");
SetTimeButtonColors(true, false, false);
MetronomeBTN.transform.GetChild(0).GetComponent<Image>().color = Color.gray;
MetronomeBTN.transform.GetChild(1).GetComponent<Image>().color = Color.gray;
@ -326,6 +279,33 @@ namespace HeavenStudio.Editor.Track
resizeCursor = Resources.Load<Texture2D>("Cursors/horizontal_resize");
}
public void PressPlay()
{
PlayCheck(!Conductor.instance.isPaused);
}
public void PressPause()
{
if (Conductor.instance.isPlaying && !Conductor.instance.isPaused) {
PlayCheck(false);
}
}
public void PressStop()
{
if (Conductor.instance.isPlaying || Conductor.instance.isPaused) {
PlayCheck(true);
}
}
// public void SetState(CurrentTimelineState.State state)
// {
// timelineState.SetState(state);
// }
public void SetState(string state)
{
timelineState.SetState(Enum.Parse<CurrentTimelineState.State>(state));
}
public void FitToSong()
{
var currentSizeDelta = RealTimelineContent.sizeDelta;
@ -338,12 +318,6 @@ namespace HeavenStudio.Editor.Track
RealTimelineContent.sizeDelta = new Vector2(TimelineContent.sizeDelta.x / Zoom, RealTimelineContent.sizeDelta.y);
}
public void CreateWaveform()
{
// DrawWaveform();
// StartCoroutine(DrawWaveformRealtime());
}
public void AutoBtnUpdate()
{
var animName = GameManager.instance.autoplay ? "Idle" : "Disabled";
@ -584,7 +558,7 @@ namespace HeavenStudio.Editor.Track
private void SliderControl()
{
TimelinePlaybackBeat.text = $"Beat {string.Format("{0:0.000}", PlaybackBeat)}";
TimelinePlaybackBeat.text = $" {string.Format("{0:0.000}", PlaybackBeat)}";
if (TimelineSongPosLineRef != null && !Conductor.instance.WaitingForDsp)
{

View file

@ -15,6 +15,7 @@ namespace HeavenStudio.Editor.Track
private Vector2 relMousePos;
private RectTransform rectTransform;
private RectTransform timelineContentRectTrans;
private void Awake()
{
@ -28,10 +29,9 @@ namespace HeavenStudio.Editor.Track
private void Update()
{
var scrollDeltaY = Input.mouseScrollDelta.y;
if (scrollDeltaY != 0)
if (scrollDeltaY != 0 && Timeline.instance.MouseInTimeline)
{
if (Timeline.instance.MouseInTimeline)
OnScroll(scrollDeltaY);
OnScroll(scrollDeltaY);
}
}
@ -41,41 +41,51 @@ namespace HeavenStudio.Editor.Track
relMousePos = rectTransform.anchoredPosition;
Vector2 relativeMousePosition;
var cam = Editor.instance.EditorCamera;
if (cam == null)
{
Debug.LogError("Camera not set!");
return;
}
RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform, Input.mousePosition, cam, out relativeMousePosition);
if (scrollDeltaY > 0)
{
if (Input.GetKey(KeyCode.LeftControl))
{
Zoom(0.25f * _scale.y, relativeMousePosition, false);
if (scrollDeltaY > 0) {
if (Input.GetKey(KeyCode.LeftControl)) {
ZoomInVertical();
} else {
ZoomInHorizontal();
}
else
{
Zoom(0.25f * _scale.x, relativeMousePosition, true);
} else if (scrollDeltaY < 0) {
if (Input.GetKey(KeyCode.LeftControl)) {
ZoomOutVertical();
} else {
ZoomOutHorizontal();
}
}
else if (scrollDeltaY < 0)
{
if (Input.GetKey(KeyCode.LeftControl))
{
var incre = -0.2f * _scale.y;
if (_scale.y + incre > minScale - 0.1f)
Zoom(-0.2f * _scale.y, relativeMousePosition, false);
}
else
{
var incre = -0.2f * _scale.x;
if (_scale.x + incre > minScale - 0.1f)
Zoom(-0.2f * _scale.x, relativeMousePosition, true);
}
}
public void ZoomInVertical()
{
RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform, Input.mousePosition, Editor.instance.EditorCamera, out Vector2 mousePos);
Zoom(0.25f * _scale.y, mousePos, false);
}
public void ZoomInHorizontal()
{
RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform, Input.mousePosition, Editor.instance.EditorCamera, out Vector2 mousePos);
Zoom(0.25f * _scale.x, mousePos, true);
}
public void ZoomOutVertical()
{
RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform, Input.mousePosition, Editor.instance.EditorCamera, out Vector2 mousePos);
var incre = -0.2f * _scale.y;
if (_scale.y + incre > minScale - 0.1f)
Zoom(-0.2f * _scale.y, mousePos, false);
}
public void ZoomOutHorizontal()
{
RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform, Input.mousePosition, Editor.instance.EditorCamera, out Vector2 mousePos);
var incre = -0.2f * _scale.x;
if (_scale.x + incre > minScale - 0.1f) {
Zoom(-0.2f * _scale.x, mousePos, true);
}
}
@ -126,6 +136,8 @@ namespace HeavenStudio.Editor.Track
{
_scale.Set(1, 1, 1);
rectTransform.localScale = _scale;
rectTransform.localPosition = new Vector2(rectTransform.localPosition.x, 0);
timelineContentRectTrans.sizeDelta = new Vector2(timelineContentRectTrans.sizeDelta.x, 320);
Timeline.instance.OnZoom(_scale.x);
}
}

View file

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

View file

@ -0,0 +1,14 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using HeavenStudio.Editor.Track;
using TMPro;
namespace HeavenStudio.Editor
{
public class ZoomDialog : Dialog
{
// empty rn. keep it this way!
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: aeb3c233812091c44899fa5535852773
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: