modifier, zoom formula, tab name
tab name is future proofing. also, dllnotfoundexception when using the file explorer? wtf
This commit is contained in:
parent
8dbc41dbcc
commit
24d3ee1afd
107
Assets/Resources/Fonts/rodin/FOT-Rodin Pro B SDF Game Title.mat
Normal file
107
Assets/Resources/Fonts/rodin/FOT-Rodin Pro B SDF Game Title.mat
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: FOT-Rodin Pro B SDF Game Title
|
||||||
|
m_Shader: {fileID: 4800000, guid: 68e6db2ebdc24f95958faec2be5558d6, type: 3}
|
||||||
|
m_ValidKeywords: []
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap: {}
|
||||||
|
disabledShaderPasses: []
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _BumpMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _Cube:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _FaceTex:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: -6916996860123676527, guid: 4810e200fa0cb24438bac52343d7674b, type: 2}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _OutlineTex:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _Ambient: 0.5
|
||||||
|
- _Bevel: 0.5
|
||||||
|
- _BevelClamp: 0
|
||||||
|
- _BevelOffset: 0
|
||||||
|
- _BevelRoundness: 0
|
||||||
|
- _BevelWidth: 0
|
||||||
|
- _BumpFace: 0
|
||||||
|
- _BumpOutline: 0
|
||||||
|
- _ColorMask: 15
|
||||||
|
- _CullMode: 0
|
||||||
|
- _Diffuse: 0.5
|
||||||
|
- _FaceDilate: 0.71
|
||||||
|
- _FaceUVSpeedX: 0
|
||||||
|
- _FaceUVSpeedY: 0
|
||||||
|
- _GlowInner: 0.05
|
||||||
|
- _GlowOffset: 0
|
||||||
|
- _GlowOuter: 0.05
|
||||||
|
- _GlowPower: 0.75
|
||||||
|
- _GradientScale: 10
|
||||||
|
- _LightAngle: 3.1416
|
||||||
|
- _MaskSoftnessX: 0
|
||||||
|
- _MaskSoftnessY: 0
|
||||||
|
- _OutlineSoftness: 0
|
||||||
|
- _OutlineUVSpeedX: 0
|
||||||
|
- _OutlineUVSpeedY: 0
|
||||||
|
- _OutlineWidth: 1
|
||||||
|
- _PerspectiveFilter: 0.875
|
||||||
|
- _Reflectivity: 10
|
||||||
|
- _ScaleRatioA: 0.47430828
|
||||||
|
- _ScaleRatioB: 0.092250064
|
||||||
|
- _ScaleRatioC: 0.092250064
|
||||||
|
- _ScaleX: 1
|
||||||
|
- _ScaleY: 1
|
||||||
|
- _ShaderFlags: 0
|
||||||
|
- _Sharpness: 0
|
||||||
|
- _SpecularPower: 2
|
||||||
|
- _Stencil: 0
|
||||||
|
- _StencilComp: 8
|
||||||
|
- _StencilOp: 0
|
||||||
|
- _StencilReadMask: 255
|
||||||
|
- _StencilWriteMask: 255
|
||||||
|
- _TextureHeight: 1024
|
||||||
|
- _TextureWidth: 1024
|
||||||
|
- _UnderlayDilate: 0
|
||||||
|
- _UnderlayOffsetX: 0
|
||||||
|
- _UnderlayOffsetY: 0
|
||||||
|
- _UnderlaySoftness: 0
|
||||||
|
- _VertexOffsetX: 0
|
||||||
|
- _VertexOffsetY: 0
|
||||||
|
- _WeightBold: 0.75
|
||||||
|
- _WeightNormal: 0
|
||||||
|
m_Colors:
|
||||||
|
- _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
|
||||||
|
- _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0}
|
||||||
|
- _FaceColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _GlowColor: {r: 0, g: 1, b: 0, a: 0.5}
|
||||||
|
- _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767}
|
||||||
|
- _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5}
|
||||||
|
m_BuildTextureStacks: []
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 17640bfdd8e085c43ad7e657ba4e5903
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -414,9 +414,9 @@ RectTransform:
|
||||||
m_Father: {fileID: 574002313}
|
m_Father: {fileID: 574002313}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: -21}
|
||||||
m_SizeDelta: {x: 32, y: 32}
|
m_SizeDelta: {x: 32, y: 32}
|
||||||
m_Pivot: {x: 0, y: 0.5}
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
--- !u!114 &9435782
|
--- !u!114 &9435782
|
||||||
|
@ -4092,9 +4092,9 @@ RectTransform:
|
||||||
m_Father: {fileID: 539838476}
|
m_Father: {fileID: 539838476}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 32, y: -21}
|
||||||
m_SizeDelta: {x: 32, y: 32}
|
m_SizeDelta: {x: 32, y: 32}
|
||||||
m_Pivot: {x: 1, y: 0.5}
|
m_Pivot: {x: 1, y: 0.5}
|
||||||
--- !u!114 &121871281
|
--- !u!114 &121871281
|
||||||
|
@ -4328,9 +4328,9 @@ RectTransform:
|
||||||
m_Father: {fileID: 539838476}
|
m_Father: {fileID: 539838476}
|
||||||
m_RootOrder: 1
|
m_RootOrder: 1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 72, y: -21}
|
||||||
m_SizeDelta: {x: 32, y: 32}
|
m_SizeDelta: {x: 32, y: 32}
|
||||||
m_Pivot: {x: 1, y: 0.5}
|
m_Pivot: {x: 1, y: 0.5}
|
||||||
--- !u!114 &129013734
|
--- !u!114 &129013734
|
||||||
|
@ -4541,9 +4541,9 @@ RectTransform:
|
||||||
m_Father: {fileID: 539838476}
|
m_Father: {fileID: 539838476}
|
||||||
m_RootOrder: 2
|
m_RootOrder: 2
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 112, y: -21}
|
||||||
m_SizeDelta: {x: 32, y: 32}
|
m_SizeDelta: {x: 32, y: 32}
|
||||||
m_Pivot: {x: 1, y: 0.5}
|
m_Pivot: {x: 1, y: 0.5}
|
||||||
--- !u!114 &151246938
|
--- !u!114 &151246938
|
||||||
|
@ -5044,7 +5044,7 @@ MonoBehaviour:
|
||||||
m_Top: 0
|
m_Top: 0
|
||||||
m_Bottom: 0
|
m_Bottom: 0
|
||||||
m_ChildAlignment: 4
|
m_ChildAlignment: 4
|
||||||
m_Spacing: 0
|
m_Spacing: -10
|
||||||
m_ChildForceExpandWidth: 1
|
m_ChildForceExpandWidth: 1
|
||||||
m_ChildForceExpandHeight: 1
|
m_ChildForceExpandHeight: 1
|
||||||
m_ChildControlWidth: 0
|
m_ChildControlWidth: 0
|
||||||
|
@ -6991,7 +6991,7 @@ MonoBehaviour:
|
||||||
m_text: Title
|
m_text: Title
|
||||||
m_isRightToLeft: 0
|
m_isRightToLeft: 0
|
||||||
m_fontAsset: {fileID: 11400000, guid: 4810e200fa0cb24438bac52343d7674b, type: 2}
|
m_fontAsset: {fileID: 11400000, guid: 4810e200fa0cb24438bac52343d7674b, type: 2}
|
||||||
m_sharedMaterial: {fileID: 8580487687356851718, guid: 4810e200fa0cb24438bac52343d7674b, type: 2}
|
m_sharedMaterial: {fileID: 2100000, guid: 17640bfdd8e085c43ad7e657ba4e5903, type: 2}
|
||||||
m_fontSharedMaterials: []
|
m_fontSharedMaterials: []
|
||||||
m_fontMaterial: {fileID: 0}
|
m_fontMaterial: {fileID: 0}
|
||||||
m_fontMaterials: []
|
m_fontMaterials: []
|
||||||
|
@ -7018,9 +7018,9 @@ MonoBehaviour:
|
||||||
m_fontSize: 28
|
m_fontSize: 28
|
||||||
m_fontSizeBase: 28
|
m_fontSizeBase: 28
|
||||||
m_fontWeight: 400
|
m_fontWeight: 400
|
||||||
m_enableAutoSizing: 0
|
m_enableAutoSizing: 1
|
||||||
m_fontSizeMin: 8
|
m_fontSizeMin: 8
|
||||||
m_fontSizeMax: 24.3
|
m_fontSizeMax: 28
|
||||||
m_fontStyle: 1
|
m_fontStyle: 1
|
||||||
m_HorizontalAlignment: 2
|
m_HorizontalAlignment: 2
|
||||||
m_VerticalAlignment: 512
|
m_VerticalAlignment: 512
|
||||||
|
@ -7429,7 +7429,7 @@ RectTransform:
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 656.00006, y: -25}
|
m_AnchoredPosition: {x: 656.0001, y: -25}
|
||||||
m_SizeDelta: {x: 1288.0001, y: 40}
|
m_SizeDelta: {x: 1288.0001, y: 40}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &278632245
|
--- !u!114 &278632245
|
||||||
|
@ -8731,7 +8731,7 @@ RectTransform:
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 172.05, y: 28}
|
m_SizeDelta: {x: 169.39, y: 28}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &320483642
|
--- !u!114 &320483642
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
|
@ -9859,9 +9859,85 @@ RectTransform:
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: 3.4253845, y: 0}
|
m_AnchoredPosition: {x: 3.425354, y: 0}
|
||||||
m_SizeDelta: {x: -6.8507814, y: 36}
|
m_SizeDelta: {x: -6.8507814, y: 36}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!1 &360512139
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 360512140}
|
||||||
|
- component: {fileID: 360512142}
|
||||||
|
- component: {fileID: 360512141}
|
||||||
|
m_Layer: 8
|
||||||
|
m_Name: DimEvents
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 0
|
||||||
|
--- !u!224 &360512140
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 360512139}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1050802356}
|
||||||
|
m_RootOrder: 4
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: -8, y: 0}
|
||||||
|
m_SizeDelta: {x: 760, y: 444.12}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!114 &360512141
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 360512139}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 0, g: 0, b: 0, a: 0.50980395}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 0}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!222 &360512142
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 360512139}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
--- !u!1 &365187977
|
--- !u!1 &365187977
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -14605,8 +14681,8 @@ RectTransform:
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: -25.350006}
|
m_AnchoredPosition: {x: 0, y: -23.20501}
|
||||||
m_SizeDelta: {x: 0, y: -54.69}
|
m_SizeDelta: {x: 0, y: -50.39}
|
||||||
m_Pivot: {x: 0, y: 0.5}
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
--- !u!114 &546272878
|
--- !u!114 &546272878
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
|
@ -17546,7 +17622,7 @@ RectTransform:
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: -2, y: -51.1}
|
m_AnchoredPosition: {x: -2, y: -48.399994}
|
||||||
m_SizeDelta: {x: -36, y: 2}
|
m_SizeDelta: {x: -36, y: 2}
|
||||||
m_Pivot: {x: 0.5, y: 0}
|
m_Pivot: {x: 0.5, y: 0}
|
||||||
--- !u!114 &643814084
|
--- !u!114 &643814084
|
||||||
|
@ -23663,7 +23739,7 @@ RectTransform:
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: -0.000038146973}
|
m_AnchoredPosition: {x: 0, y: -0.000030517578}
|
||||||
m_SizeDelta: {x: -14.000054, y: 0}
|
m_SizeDelta: {x: -14.000054, y: 0}
|
||||||
m_Pivot: {x: 0, y: 1}
|
m_Pivot: {x: 0, y: 1}
|
||||||
--- !u!114 &830452353
|
--- !u!114 &830452353
|
||||||
|
@ -29439,6 +29515,7 @@ RectTransform:
|
||||||
- {fileID: 246861489}
|
- {fileID: 246861489}
|
||||||
- {fileID: 643814083}
|
- {fileID: 643814083}
|
||||||
- {fileID: 546272877}
|
- {fileID: 546272877}
|
||||||
|
- {fileID: 360512140}
|
||||||
- {fileID: 1056099132}
|
- {fileID: 1056099132}
|
||||||
m_Father: {fileID: 374760605}
|
m_Father: {fileID: 374760605}
|
||||||
m_RootOrder: 2
|
m_RootOrder: 2
|
||||||
|
@ -29650,12 +29727,12 @@ RectTransform:
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 590210126}
|
- {fileID: 590210126}
|
||||||
m_Father: {fileID: 1050802356}
|
m_Father: {fileID: 1050802356}
|
||||||
m_RootOrder: 4
|
m_RootOrder: 5
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: -25.050003}
|
m_AnchoredPosition: {x: 0, y: -23.200005}
|
||||||
m_SizeDelta: {x: 0, y: -54.1}
|
m_SizeDelta: {x: 0, y: -50.4}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &1056099133
|
--- !u!114 &1056099133
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
|
@ -31462,7 +31539,7 @@ RectTransform:
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0.5}
|
||||||
m_AnchorMax: {x: 1, y: 0.5}
|
m_AnchorMax: {x: 1, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 0, y: 124.9388}
|
m_AnchoredPosition: {x: 0, y: 122.897575}
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 1}
|
m_Pivot: {x: 0.5, y: 1}
|
||||||
--- !u!222 &1154875945
|
--- !u!222 &1154875945
|
||||||
|
@ -31509,13 +31586,15 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: d9d826be8d1e71d4c971f5ed377ee873, type: 3}
|
m_Script: {fileID: 11500000, guid: d9d826be8d1e71d4c971f5ed377ee873, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
GameEventSelectorCanScroll: {fileID: 110654310}
|
||||||
|
GameEventHolder: {fileID: 590210126}
|
||||||
|
tabsManager: {fileID: 0}
|
||||||
SelectedGameIcon: {fileID: 0}
|
SelectedGameIcon: {fileID: 0}
|
||||||
GameEventSelector: {fileID: 1056099131}
|
GameEventSelector: {fileID: 1056099131}
|
||||||
EventRef: {fileID: 1149103344}
|
EventRef: {fileID: 1149103344}
|
||||||
CurrentSelected: {fileID: 841081095}
|
CurrentSelected: {fileID: 841081095}
|
||||||
Scrollbar: {fileID: 910102826}
|
Scrollbar: {fileID: 910102826}
|
||||||
GameSelectionRect: {fileID: 1183003086}
|
GameSelectionRect: {fileID: 1183003086}
|
||||||
GameEventSelectorCanScroll: {fileID: 110654310}
|
|
||||||
SearchBar: {fileID: 320483642}
|
SearchBar: {fileID: 320483642}
|
||||||
currentEventIndex: 0
|
currentEventIndex: 0
|
||||||
Square: {fileID: 2800000, guid: ef2fa2a75dc283e40b9d4fe1f20dc6fb, type: 3}
|
Square: {fileID: 2800000, guid: ef2fa2a75dc283e40b9d4fe1f20dc6fb, type: 3}
|
||||||
|
@ -35849,9 +35928,9 @@ RectTransform:
|
||||||
m_Father: {fileID: 574002313}
|
m_Father: {fileID: 574002313}
|
||||||
m_RootOrder: 1
|
m_RootOrder: 1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 40, y: -21}
|
||||||
m_SizeDelta: {x: 32, y: 32}
|
m_SizeDelta: {x: 32, y: 32}
|
||||||
m_Pivot: {x: 0, y: 0.5}
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
--- !u!114 &1345846031
|
--- !u!114 &1345846031
|
||||||
|
@ -41416,8 +41495,8 @@ MonoBehaviour:
|
||||||
m_TargetGraphic: {fileID: 1220118245}
|
m_TargetGraphic: {fileID: 1220118245}
|
||||||
m_HandleRect: {fileID: 1220118244}
|
m_HandleRect: {fileID: 1220118244}
|
||||||
m_Direction: 2
|
m_Direction: 2
|
||||||
m_Value: 0.9999995
|
m_Value: 1.0000002
|
||||||
m_Size: 0.6203498
|
m_Size: 0.60344017
|
||||||
m_NumberOfSteps: 0
|
m_NumberOfSteps: 0
|
||||||
m_OnValueChanged:
|
m_OnValueChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
|
@ -43226,7 +43305,7 @@ RectTransform:
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0.000061035156, y: 0.000061035156}
|
m_AnchoredPosition: {x: 0.000061035156, y: -0.000030517578}
|
||||||
m_SizeDelta: {x: 100, y: 350}
|
m_SizeDelta: {x: 100, y: 350}
|
||||||
m_Pivot: {x: 0, y: 1}
|
m_Pivot: {x: 0, y: 1}
|
||||||
--- !u!114 &1702073032
|
--- !u!114 &1702073032
|
||||||
|
@ -44985,9 +45064,9 @@ RectTransform:
|
||||||
m_Father: {fileID: 574002313}
|
m_Father: {fileID: 574002313}
|
||||||
m_RootOrder: 2
|
m_RootOrder: 2
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 80, y: -21}
|
||||||
m_SizeDelta: {x: 32, y: 32}
|
m_SizeDelta: {x: 32, y: 32}
|
||||||
m_Pivot: {x: 0, y: 0.5}
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
--- !u!114 &1783491359
|
--- !u!114 &1783491359
|
||||||
|
@ -48664,7 +48743,7 @@ RectTransform:
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180}
|
||||||
m_AnchorMin: {x: 0.5, y: 1}
|
m_AnchorMin: {x: 0.5, y: 1}
|
||||||
m_AnchorMax: {x: 0.5, y: 1}
|
m_AnchorMax: {x: 0.5, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0.30000305}
|
m_AnchoredPosition: {x: 0, y: 0.2999878}
|
||||||
m_SizeDelta: {x: 18.8, y: 18.8}
|
m_SizeDelta: {x: 18.8, y: 18.8}
|
||||||
m_Pivot: {x: 0.5, y: 0}
|
m_Pivot: {x: 0.5, y: 0}
|
||||||
--- !u!114 &1928361020
|
--- !u!114 &1928361020
|
||||||
|
@ -54136,11 +54215,11 @@ PrefabInstance:
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4198503453639850605, guid: e66ea59167e0edc41ad445d9226040a7, type: 3}
|
- target: {fileID: 4198503453639850605, guid: e66ea59167e0edc41ad445d9226040a7, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: -557.2
|
value: -557.1998
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4198503453639850605, guid: e66ea59167e0edc41ad445d9226040a7, type: 3}
|
- target: {fileID: 4198503453639850605, guid: e66ea59167e0edc41ad445d9226040a7, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -303.1
|
value: -303.09998
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4198503453639850605, guid: e66ea59167e0edc41ad445d9226040a7, type: 3}
|
- target: {fileID: 4198503453639850605, guid: e66ea59167e0edc41ad445d9226040a7, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
|
|
@ -33,6 +33,11 @@ namespace HeavenStudio.InputSystem
|
||||||
{
|
{
|
||||||
public class InputKeyboard : InputController
|
public class InputKeyboard : InputController
|
||||||
{
|
{
|
||||||
|
#if UNITY_STANDALONE_OSX
|
||||||
|
public const KeyCode MODIFIER = KeyCode.LeftCommand;
|
||||||
|
#else
|
||||||
|
public const KeyCode MODIFIER = KeyCode.LeftControl;
|
||||||
|
#endif
|
||||||
private static readonly KeyCode[] keyCodes = Enum.GetValues(typeof(KeyCode))
|
private static readonly KeyCode[] keyCodes = Enum.GetValues(typeof(KeyCode))
|
||||||
.Cast<KeyCode>()
|
.Cast<KeyCode>()
|
||||||
.Where(k => ((int)k < (int)KeyCode.Mouse0))
|
.Where(k => ((int)k < (int)KeyCode.Mouse0))
|
||||||
|
|
|
@ -16,6 +16,7 @@ using Jukebox;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using BurstLinq;
|
using BurstLinq;
|
||||||
|
using HeavenStudio.InputSystem;
|
||||||
|
|
||||||
namespace HeavenStudio.Editor
|
namespace HeavenStudio.Editor
|
||||||
{
|
{
|
||||||
|
@ -178,7 +179,7 @@ namespace HeavenStudio.Editor
|
||||||
CommandManager.Instance.AddCommand(new Commands.Delete(Selections.instance.eventsSelected.Select(c => c.entity.guid).ToList()));
|
CommandManager.Instance.AddCommand(new Commands.Delete(Selections.instance.eventsSelected.Select(c => c.entity.guid).ToList()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Input.GetKey(KeyCode.LeftControl) && !fullscreen)
|
if (Input.GetKey(InputKeyboard.MODIFIER) && !fullscreen)
|
||||||
{
|
{
|
||||||
if (Input.GetKeyDown(KeyCode.Z))
|
if (Input.GetKeyDown(KeyCode.Z))
|
||||||
{
|
{
|
||||||
|
@ -201,7 +202,7 @@ namespace HeavenStudio.Editor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Input.GetKey(KeyCode.LeftControl))
|
if (Input.GetKey(InputKeyboard.MODIFIER))
|
||||||
{
|
{
|
||||||
if (Input.GetKeyDown(KeyCode.N))
|
if (Input.GetKeyDown(KeyCode.N))
|
||||||
{
|
{
|
||||||
|
|
|
@ -95,8 +95,7 @@ namespace HeavenStudio.Editor
|
||||||
{
|
{
|
||||||
string[] split = entity.datamodel.Split('/');
|
string[] split = entity.datamodel.Split('/');
|
||||||
var minigame = EventCaller.instance.GetMinigame(split[0]);
|
var minigame = EventCaller.instance.GetMinigame(split[0]);
|
||||||
int actionIndex = minigame.actions.IndexOf(minigame.actions.Find(c => c.actionName == split[1]));
|
Minigames.GameAction action = minigame.actions.Find(c => c.actionName == split[1]);
|
||||||
Minigames.GameAction action = minigame.actions[actionIndex];
|
|
||||||
|
|
||||||
if (action.parameters != null)
|
if (action.parameters != null)
|
||||||
{
|
{
|
||||||
|
@ -111,7 +110,13 @@ namespace HeavenStudio.Editor
|
||||||
4 => EditorTheme.theme.properties.Layer5Col,
|
4 => EditorTheme.theme.properties.Layer5Col,
|
||||||
_ => EditorTheme.theme.properties.Layer1Col
|
_ => EditorTheme.theme.properties.Layer1Col
|
||||||
};
|
};
|
||||||
Editor.instance.SetGameEventTitle($"Properties for <color=#{col}>{action.displayName}</color> on Beat {entity.beat.ToString("F2")} on <color=#{col}>Track {(int)entity["track"] + 1}</color>");
|
string gameName = action.displayName;
|
||||||
|
const int cutOff = 20;
|
||||||
|
if (gameName.Length > (cutOff + 3)) {
|
||||||
|
gameName = gameName[..cutOff] + "...";
|
||||||
|
}
|
||||||
|
|
||||||
|
Editor.instance.SetGameEventTitle($"<color=#{col}>{gameName}</color> at ♪ {entity.beat:F2} on <color=#{col}>Track {(int)entity["track"] + 1}</color>");
|
||||||
|
|
||||||
DestroyParams();
|
DestroyParams();
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,8 @@ using HeavenStudio.Util;
|
||||||
using HeavenStudio.Editor.Track;
|
using HeavenStudio.Editor.Track;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Configuration;
|
using System.Configuration;
|
||||||
|
using System;
|
||||||
|
using HeavenStudio.InputSystem;
|
||||||
|
|
||||||
namespace HeavenStudio.Editor
|
namespace HeavenStudio.Editor
|
||||||
{
|
{
|
||||||
|
@ -163,7 +165,7 @@ namespace HeavenStudio.Editor
|
||||||
UpdateIndex(index, false);
|
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", ""));
|
if (Editor.instance != null) Editor.instance.SetGameEventTitle(SelectedMinigame.displayName.Replace("\n", ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddEvents(int index = 0)
|
private void AddEvents(int index = 0)
|
||||||
|
@ -173,7 +175,9 @@ namespace HeavenStudio.Editor
|
||||||
GameObject sg = Instantiate(EventRef, eventsParent);
|
GameObject sg = Instantiate(EventRef, eventsParent);
|
||||||
sg.GetComponentInChildren<TMP_Text>().text = "Switch Game";
|
sg.GetComponentInChildren<TMP_Text>().text = "Switch Game";
|
||||||
sg.SetActive(true);
|
sg.SetActive(true);
|
||||||
if (index == 0) sg.GetComponentInChildren<TMP_Text>().color = EditorTheme.theme.properties.EventSelectedCol.Hex2RGB();
|
if (index == 0) {
|
||||||
|
sg.GetComponentInChildren<TMP_Text>().color = EditorTheme.theme.properties.EventSelectedCol.Hex2RGB();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
index++;
|
index++;
|
||||||
if (SelectedMinigame.name == "gameManager") index++;
|
if (SelectedMinigame.name == "gameManager") index++;
|
||||||
|
@ -195,7 +199,6 @@ namespace HeavenStudio.Editor
|
||||||
label.color = EditorTheme.theme.properties.EventSelectedCol.Hex2RGB();
|
label.color = EditorTheme.theme.properties.EventSelectedCol.Hex2RGB();
|
||||||
|
|
||||||
g.SetActive(true);
|
g.SetActive(true);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,28 +239,24 @@ namespace HeavenStudio.Editor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: find the equation to get the sizes automatically, nobody's been able to figure one out yet (might have to be manual?)
|
|
||||||
public void Zoom()
|
public void Zoom()
|
||||||
{
|
{
|
||||||
if (!Input.GetKey(KeyCode.LeftControl)) return;
|
if (!Input.GetKey(InputKeyboard.MODIFIER)) return;
|
||||||
var glg = GetComponent<GridLayoutGroup>();
|
var glg = GetComponent<GridLayoutGroup>();
|
||||||
var sizes = new List<float>() {
|
int max = 20; // arbitrary
|
||||||
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;
|
if (glg.constraintCount + 1 > max && Input.mouseScrollDelta.y < 0) return;
|
||||||
|
|
||||||
glg.constraintCount += (Input.GetAxisRaw("Mouse ScrollWheel") > 0) ? -1 : 1;
|
glg.constraintCount += (Input.mouseScrollDelta.y > 0) ? -1 : 1;
|
||||||
glg.cellSize = Vector2.one * sizes[glg.constraintCount - 1];
|
|
||||||
|
// thanks to blank3times (tri) for helping me with this
|
||||||
|
var size = (1 / (0.00317 * glg.constraintCount)) - 4.75248;
|
||||||
|
|
||||||
|
// this, however, doesn't work
|
||||||
|
// var totalWidth = Editor.instance.GridGameSelectorRect.rect.width;
|
||||||
|
// var size = (totalWidth - glg.padding.right) * (glg.constraintCount + 1) / glg.constraintCount;
|
||||||
|
|
||||||
|
glg.cellSize = Vector2.one * (float)size;
|
||||||
}
|
}
|
||||||
|
|
||||||
// method called when clicking the sort button in the editor, skips sorting fx only "games"
|
// method called when clicking the sort button in the editor, skips sorting fx only "games"
|
||||||
|
@ -267,21 +266,14 @@ namespace HeavenStudio.Editor
|
||||||
List<RectTransform> mgsSort = mgsActive;
|
List<RectTransform> mgsSort = mgsActive;
|
||||||
mgsSort.Sort((x, y) => string.Compare(x.name, y.name));
|
mgsSort.Sort((x, y) => string.Compare(x.name, y.name));
|
||||||
|
|
||||||
switch (type)
|
Action<List<RectTransform>> action = type switch {
|
||||||
{
|
"favorites" => SortFavorites,
|
||||||
case "favorites":
|
"chronologic" => SortChronologic,
|
||||||
SortFavorites(mgsSort);
|
"usage" => SortUsage,
|
||||||
break;
|
_ => SortAlphabet
|
||||||
case "chronologic":
|
};
|
||||||
SortChronologic(mgsSort);
|
|
||||||
break;
|
action.Invoke(mgsSort);
|
||||||
case "usage":
|
|
||||||
SortUsage(mgsSort);
|
|
||||||
break;
|
|
||||||
default: // "alphabet"
|
|
||||||
SortAlphabet(mgsSort);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SortAlphabet(List<RectTransform> mgs)
|
void SortAlphabet(List<RectTransform> mgs)
|
||||||
|
@ -295,7 +287,7 @@ namespace HeavenStudio.Editor
|
||||||
string AlphabetSortKey(RectTransform minigame)
|
string AlphabetSortKey(RectTransform minigame)
|
||||||
{
|
{
|
||||||
Minigames.Minigame mg = EventCaller.instance.GetMinigame(minigame.name);
|
Minigames.Minigame mg = EventCaller.instance.GetMinigame(minigame.name);
|
||||||
if (mg.displayName.StartsWith("the ", System.StringComparison.InvariantCultureIgnoreCase))
|
if (mg.displayName.StartsWith("the ", StringComparison.InvariantCultureIgnoreCase))
|
||||||
return mg.displayName[4..];
|
return mg.displayName[4..];
|
||||||
else
|
else
|
||||||
return mg.displayName;
|
return mg.displayName;
|
||||||
|
@ -413,7 +405,13 @@ namespace HeavenStudio.Editor
|
||||||
|
|
||||||
public void Drag()
|
public void Drag()
|
||||||
{
|
{
|
||||||
if (Conductor.instance.NotStopped() || Editor.instance.inAuthorativeMenu) return;
|
Debug.Log("Hmmm");
|
||||||
|
if (Conductor.instance.NotStopped() || Editor.instance.inAuthorativeMenu) {
|
||||||
|
if (Conductor.instance.isPaused) {
|
||||||
|
Debug.Log("it's fuckin paused dude");
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (Timeline.instance.MouseInTimeline && dragTimes < 1)
|
if (Timeline.instance.MouseInTimeline && dragTimes < 1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -4,6 +4,7 @@ using System.Linq;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
using HeavenStudio.Editor.Track;
|
using HeavenStudio.Editor.Track;
|
||||||
|
using HeavenStudio.InputSystem;
|
||||||
|
|
||||||
namespace HeavenStudio.Editor
|
namespace HeavenStudio.Editor
|
||||||
{
|
{
|
||||||
|
@ -31,7 +32,7 @@ namespace HeavenStudio.Editor
|
||||||
*/
|
*/
|
||||||
if (Editor.instance.isShortcutsEnabled)
|
if (Editor.instance.isShortcutsEnabled)
|
||||||
{
|
{
|
||||||
if (Input.GetKey(KeyCode.LeftControl))
|
if (Input.GetKey(InputKeyboard.MODIFIER))
|
||||||
if (Input.GetKeyDown(KeyCode.A))
|
if (Input.GetKeyDown(KeyCode.A))
|
||||||
SelectAll();
|
SelectAll();
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ using HeavenStudio.Util;
|
||||||
using TMPro;
|
using TMPro;
|
||||||
using Jukebox;
|
using Jukebox;
|
||||||
using Jukebox.Legacy;
|
using Jukebox.Legacy;
|
||||||
|
using HeavenStudio.InputSystem;
|
||||||
|
|
||||||
namespace HeavenStudio.Editor.Track
|
namespace HeavenStudio.Editor.Track
|
||||||
{
|
{
|
||||||
|
@ -155,7 +156,7 @@ namespace HeavenStudio.Editor.Track
|
||||||
{
|
{
|
||||||
lastTempo *= 2f;
|
lastTempo *= 2f;
|
||||||
}
|
}
|
||||||
else if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl))
|
else if (Input.GetKey(InputKeyboard.MODIFIER) || Input.GetKey(KeyCode.RightCommand))
|
||||||
{
|
{
|
||||||
lastTempo /= 2f;
|
lastTempo /= 2f;
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ using TMPro;
|
||||||
using DG.Tweening;
|
using DG.Tweening;
|
||||||
using Jukebox;
|
using Jukebox;
|
||||||
using Jukebox.Legacy;
|
using Jukebox.Legacy;
|
||||||
|
using HeavenStudio.InputSystem;
|
||||||
|
|
||||||
namespace HeavenStudio.Editor.Track
|
namespace HeavenStudio.Editor.Track
|
||||||
{
|
{
|
||||||
|
@ -30,8 +31,9 @@ namespace HeavenStudio.Editor.Track
|
||||||
|
|
||||||
if (Input.GetKey(KeyCode.LeftShift))
|
if (Input.GetKey(KeyCode.LeftShift))
|
||||||
newTempo *= 5f;
|
newTempo *= 5f;
|
||||||
if (Input.GetKey(KeyCode.LeftControl))
|
if (Input.GetKey(InputKeyboard.MODIFIER)) {
|
||||||
newTempo *= 0.01f;
|
newTempo *= 0.01f;
|
||||||
|
}
|
||||||
|
|
||||||
if (newTempo != 0)
|
if (newTempo != 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -7,6 +7,7 @@ using TMPro;
|
||||||
using DG.Tweening;
|
using DG.Tweening;
|
||||||
using Jukebox;
|
using Jukebox;
|
||||||
using Jukebox.Legacy;
|
using Jukebox.Legacy;
|
||||||
|
using HeavenStudio.InputSystem;
|
||||||
|
|
||||||
namespace HeavenStudio.Editor.Track
|
namespace HeavenStudio.Editor.Track
|
||||||
{
|
{
|
||||||
|
@ -30,9 +31,9 @@ namespace HeavenStudio.Editor.Track
|
||||||
|
|
||||||
if (Input.GetKey(KeyCode.LeftShift))
|
if (Input.GetKey(KeyCode.LeftShift))
|
||||||
newVolume *= 5f;
|
newVolume *= 5f;
|
||||||
if (Input.GetKey(KeyCode.LeftControl))
|
if (Input.GetKey(InputKeyboard.MODIFIER)) {
|
||||||
newVolume *= 0.01f;
|
newVolume *= 0.01f;
|
||||||
|
}
|
||||||
if (newVolume != 0)
|
if (newVolume != 0)
|
||||||
{
|
{
|
||||||
SetVolume(chartEntity["volume"] + newVolume);
|
SetVolume(chartEntity["volume"] + newVolume);
|
||||||
|
|
|
@ -12,6 +12,7 @@ using System.Linq;
|
||||||
using BurstLinq;
|
using BurstLinq;
|
||||||
|
|
||||||
using HeavenStudio.Util;
|
using HeavenStudio.Util;
|
||||||
|
using HeavenStudio.InputSystem;
|
||||||
|
|
||||||
namespace HeavenStudio.Editor.Track
|
namespace HeavenStudio.Editor.Track
|
||||||
{
|
{
|
||||||
|
@ -474,11 +475,11 @@ namespace HeavenStudio.Editor.Track
|
||||||
float moveSpeed = 750;
|
float moveSpeed = 750;
|
||||||
if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) moveSpeed *= 6;
|
if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) moveSpeed *= 6;
|
||||||
|
|
||||||
if (Input.GetKey(KeyCode.LeftArrow) || (!Input.GetKey(KeyCode.LeftControl) && Input.GetKey(KeyCode.A)))
|
if (Input.GetKey(InputKeyboard.MODIFIER) || (!Input.GetKey(KeyCode.LeftControl) && Input.GetKey(KeyCode.A)))
|
||||||
{
|
{
|
||||||
RealTimelineContent.transform.localPosition += new Vector3(moveSpeed * Time.deltaTime, 0);
|
RealTimelineContent.transform.localPosition += new Vector3(moveSpeed * Time.deltaTime, 0);
|
||||||
}
|
}
|
||||||
else if (Input.GetKey(KeyCode.RightArrow) || (!Input.GetKey(KeyCode.LeftControl) && Input.GetKey(KeyCode.D)))
|
else if (Input.GetKey(InputKeyboard.MODIFIER) || (!Input.GetKey(KeyCode.LeftControl) && Input.GetKey(KeyCode.D)))
|
||||||
{
|
{
|
||||||
RealTimelineContent.transform.localPosition += new Vector3(-moveSpeed * Time.deltaTime, 0);
|
RealTimelineContent.transform.localPosition += new Vector3(-moveSpeed * Time.deltaTime, 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
using HeavenStudio.InputSystem;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.EventSystems;
|
using UnityEngine.EventSystems;
|
||||||
|
|
||||||
|
@ -49,13 +50,13 @@ namespace HeavenStudio.Editor.Track
|
||||||
}
|
}
|
||||||
|
|
||||||
if (scrollDeltaY > 0) {
|
if (scrollDeltaY > 0) {
|
||||||
if (Input.GetKey(KeyCode.LeftControl)) {
|
if (Input.GetKey(InputKeyboard.MODIFIER)) {
|
||||||
ZoomInVertical();
|
ZoomInVertical();
|
||||||
} else {
|
} else {
|
||||||
ZoomInHorizontal();
|
ZoomInHorizontal();
|
||||||
}
|
}
|
||||||
} else if (scrollDeltaY < 0) {
|
} else if (scrollDeltaY < 0) {
|
||||||
if (Input.GetKey(KeyCode.LeftControl)) {
|
if (Input.GetKey(InputKeyboard.MODIFIER)) {
|
||||||
ZoomOutVertical();
|
ZoomOutVertical();
|
||||||
} else {
|
} else {
|
||||||
ZoomOutHorizontal();
|
ZoomOutHorizontal();
|
||||||
|
|
|
@ -197,9 +197,9 @@ namespace HeavenStudio
|
||||||
public static RiqBeatmapData? PreProcessBeatmap(string version, RiqBeatmapData data)
|
public static RiqBeatmapData? PreProcessBeatmap(string version, RiqBeatmapData data)
|
||||||
{
|
{
|
||||||
Debug.Log("Preprocessing beatmap...");
|
Debug.Log("Preprocessing beatmap...");
|
||||||
Minigames.Minigame game;
|
Minigame game;
|
||||||
Minigames.GameAction action;
|
GameAction action;
|
||||||
System.Type type, pType;
|
Type type, pType;
|
||||||
if (EventCaller.instance != null)
|
if (EventCaller.instance != null)
|
||||||
{
|
{
|
||||||
string[] split;
|
string[] split;
|
||||||
|
@ -212,7 +212,7 @@ namespace HeavenStudio
|
||||||
if (game == null)
|
if (game == null)
|
||||||
{
|
{
|
||||||
Debug.LogWarning($"Unknown game {gameName} found in remix.json! Adding game...");
|
Debug.LogWarning($"Unknown game {gameName} found in remix.json! Adding game...");
|
||||||
game = new Minigames.Minigame(gameName, gameName.DisplayName() + " \n<color=#eb5454>[inferred from remix.json]</color>", "", false, false, new List<Minigames.GameAction>(), inferred: true);
|
game = new Minigame(gameName, gameName.DisplayName() + " \n<color=#eb5454>[inferred from remix.json]</color>", "", false, false, new List<GameAction>(), inferred: true);
|
||||||
EventCaller.instance.minigames.Add(gameName, game);
|
EventCaller.instance.minigames.Add(gameName, game);
|
||||||
if (Editor.Editor.instance != null)
|
if (Editor.Editor.instance != null)
|
||||||
Editor.Editor.instance.AddIcon(game);
|
Editor.Editor.instance.AddIcon(game);
|
||||||
|
@ -221,7 +221,7 @@ namespace HeavenStudio
|
||||||
if (action == null)
|
if (action == null)
|
||||||
{
|
{
|
||||||
Debug.LogWarning($"Unknown action {gameName}/{actionName} found in remix.json! Adding action...");
|
Debug.LogWarning($"Unknown action {gameName}/{actionName} found in remix.json! Adding action...");
|
||||||
var parameters = new List<Minigames.Param>();
|
var parameters = new List<Param>();
|
||||||
foreach (var item in e.dynamicData)
|
foreach (var item in e.dynamicData)
|
||||||
{
|
{
|
||||||
Debug.Log($"k: {item.Key}, v: {item.Value}");
|
Debug.Log($"k: {item.Key}, v: {item.Value}");
|
||||||
|
@ -234,9 +234,9 @@ namespace HeavenStudio
|
||||||
value = new EntityTypes.Integer(int.MinValue, int.MaxValue, (int)value);
|
value = new EntityTypes.Integer(int.MinValue, int.MaxValue, (int)value);
|
||||||
else if (value.GetType() == typeof(double))
|
else if (value.GetType() == typeof(double))
|
||||||
value = new EntityTypes.Float(float.NegativeInfinity, float.PositiveInfinity, (float)value);
|
value = new EntityTypes.Float(float.NegativeInfinity, float.PositiveInfinity, (float)value);
|
||||||
parameters.Add(new Minigames.Param(item.Key, value, item.Key.DisplayName(), "[inferred from remix.json]"));
|
parameters.Add(new Param(item.Key, value, item.Key.DisplayName(), "[inferred from remix.json]"));
|
||||||
}
|
}
|
||||||
action = new Minigames.GameAction(actionName, actionName.DisplayName(), e.length, true, parameters);
|
action = new GameAction(actionName, actionName.DisplayName(), "Events", e.length, true, parameters);
|
||||||
game.actions.Add(action);
|
game.actions.Add(action);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -250,12 +250,14 @@ namespace HeavenStudio
|
||||||
if (!e.dynamicData.ContainsKey(param.propertyName))
|
if (!e.dynamicData.ContainsKey(param.propertyName))
|
||||||
{
|
{
|
||||||
Debug.LogWarning($"Property {param.propertyName} does not exist in the entity's dynamic data! Adding...");
|
Debug.LogWarning($"Property {param.propertyName} does not exist in the entity's dynamic data! Adding...");
|
||||||
if (type == typeof(EntityTypes.Integer))
|
if (param.parameter is EntityTypes.Integer intParam)
|
||||||
e.dynamicData.Add(param.propertyName, ((EntityTypes.Integer)param.parameter).val);
|
e.dynamicData.Add(param.propertyName, intParam.val);
|
||||||
else if (type == typeof(EntityTypes.Float))
|
if (param.parameter is EntityTypes.Float floatParam)
|
||||||
e.dynamicData.Add(param.propertyName, ((EntityTypes.Float)param.parameter).val);
|
e.dynamicData.Add(param.propertyName, floatParam.val);
|
||||||
else if (type == typeof(EntityTypes.Note))
|
if (param.parameter is EntityTypes.Dropdown ddParam)
|
||||||
e.dynamicData.Add(param.propertyName, ((EntityTypes.Note)param.parameter).val);
|
e.dynamicData.Add(param.propertyName, new EntityTypes.DropdownObj(ddParam));
|
||||||
|
if (param.parameter is EntityTypes.Note noteParam)
|
||||||
|
e.dynamicData.Add(param.propertyName, noteParam.val);
|
||||||
else if (type.IsEnum)
|
else if (type.IsEnum)
|
||||||
e.dynamicData.Add(param.propertyName, (int)param.parameter);
|
e.dynamicData.Add(param.propertyName, (int)param.parameter);
|
||||||
else
|
else
|
||||||
|
@ -657,6 +659,7 @@ namespace HeavenStudio
|
||||||
{
|
{
|
||||||
public string actionName;
|
public string actionName;
|
||||||
public string displayName;
|
public string displayName;
|
||||||
|
public string tabName;
|
||||||
public EventCallback function = delegate { };
|
public EventCallback function = delegate { };
|
||||||
public float defaultLength = 1;
|
public float defaultLength = 1;
|
||||||
public bool resizable = false;
|
public bool resizable = false;
|
||||||
|
@ -682,11 +685,12 @@ namespace HeavenStudio
|
||||||
/// <param name="preFunction">What the block does when the GameManager seeks to this cue for pre-scheduling.</param>
|
/// <param name="preFunction">What the block does when the GameManager seeks to this cue for pre-scheduling.</param>
|
||||||
/// <param name="hidden">Prevents the block from being shown in the game list. Block will still function normally if it is in the timeline.</param>
|
/// <param name="hidden">Prevents the block from being shown in the game list. Block will still function normally if it is in the timeline.</param>
|
||||||
/// <param name="priority">Priority of this event. Higher priority events will be run first.</param>
|
/// <param name="priority">Priority of this event. Higher priority events will be run first.</param>
|
||||||
public GameAction(string actionName, string displayName, float defaultLength = 1, bool resizable = false, List<Param> parameters = null, EventCallback function = null, EventCallback inactiveFunction = null, EventCallback preFunction = null, bool hidden = false, int priority = 0, float preFunctionLength = 2.0f)
|
public GameAction(string actionName, string displayName, string tabName, float defaultLength = 1, bool resizable = false, List<Param> parameters = null, EventCallback function = null, EventCallback inactiveFunction = null, EventCallback preFunction = null, bool hidden = false, int priority = 0, float preFunctionLength = 2.0f)
|
||||||
{
|
{
|
||||||
this.actionName = actionName;
|
this.actionName = actionName;
|
||||||
if (displayName == String.Empty) this.displayName = actionName;
|
this.displayName = string.IsNullOrEmpty(displayName) ? actionName : displayName;
|
||||||
else this.displayName = displayName;
|
this.tabName = string.IsNullOrEmpty(tabName) ? "Events" : tabName;
|
||||||
|
|
||||||
this.defaultLength = defaultLength;
|
this.defaultLength = defaultLength;
|
||||||
this.resizable = resizable;
|
this.resizable = resizable;
|
||||||
this.parameters = parameters;
|
this.parameters = parameters;
|
||||||
|
@ -704,11 +708,12 @@ namespace HeavenStudio
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="actionName">Entity model name</param>
|
/// <param name="actionName">Entity model name</param>
|
||||||
/// <param name="displayName">Name of the block used in the UI</param>
|
/// <param name="displayName">Name of the block used in the UI</param>
|
||||||
public GameAction(string actionName, string displayName)
|
/// <param name="tabName">Name of the tab to be under when spawning events</param>
|
||||||
|
public GameAction(string actionName, string displayName, string tabName = "")
|
||||||
{
|
{
|
||||||
this.actionName = actionName;
|
this.actionName = actionName;
|
||||||
if (displayName == String.Empty) this.displayName = actionName;
|
this.displayName = string.IsNullOrEmpty(displayName) ? actionName : displayName;
|
||||||
else this.displayName = displayName;
|
this.tabName = tabName == string.Empty ? "Events" : tabName; // keep it null if it's null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -762,7 +767,7 @@ namespace HeavenStudio
|
||||||
{
|
{
|
||||||
new Minigame("gameManager", "Game Manager", "", false, true, new List<GameAction>()
|
new Minigame("gameManager", "Game Manager", "", false, true, new List<GameAction>()
|
||||||
{
|
{
|
||||||
new GameAction("switchGame", "Switch Game", 0.5f, false,
|
new GameAction("switchGame", "Switch Game", null, 0.5f, false,
|
||||||
function: delegate { var e = eventCaller.currentEntity; GameManager.instance.SwitchGame(eventCaller.currentSwitchGame, eventCaller.currentEntity.beat, e["toggle"]); },
|
function: delegate { var e = eventCaller.currentEntity; GameManager.instance.SwitchGame(eventCaller.currentSwitchGame, eventCaller.currentEntity.beat, e["toggle"]); },
|
||||||
parameters: new List<Param>()
|
parameters: new List<Param>()
|
||||||
{
|
{
|
||||||
|
@ -770,7 +775,7 @@ namespace HeavenStudio
|
||||||
},
|
},
|
||||||
inactiveFunction: delegate { var e = eventCaller.currentEntity; GameManager.instance.SwitchGame(eventCaller.currentSwitchGame, eventCaller.currentEntity.beat, e["toggle"]); }
|
inactiveFunction: delegate { var e = eventCaller.currentEntity; GameManager.instance.SwitchGame(eventCaller.currentSwitchGame, eventCaller.currentEntity.beat, e["toggle"]); }
|
||||||
),
|
),
|
||||||
new GameAction("end", "End Remix",
|
new GameAction("end", "End Remix", "",
|
||||||
function: delegate {
|
function: delegate {
|
||||||
Debug.Log("end");
|
Debug.Log("end");
|
||||||
if (Timeline.instance != null)
|
if (Timeline.instance != null)
|
||||||
|
@ -779,7 +784,7 @@ namespace HeavenStudio
|
||||||
GameManager.instance.Stop(eventCaller.currentEntity.beat);
|
GameManager.instance.Stop(eventCaller.currentEntity.beat);
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("skill star", "Skill Star", 1f, true)
|
new GameAction("skill star", "Skill Star", "", 1f, true)
|
||||||
{
|
{
|
||||||
//temp for testing
|
//temp for testing
|
||||||
function = delegate {
|
function = delegate {
|
||||||
|
@ -787,7 +792,7 @@ namespace HeavenStudio
|
||||||
Common.SkillStarManager.instance.DoStarIn(e.beat, e.length);
|
Common.SkillStarManager.instance.DoStarIn(e.beat, e.length);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new GameAction("toggle inputs", "Toggle Inputs", 0.5f, true,
|
new GameAction("toggle inputs", "Toggle Inputs", "", 0.5f, true,
|
||||||
new List<Param>()
|
new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("toggle", true, "Allow Inputs", "Toggle if the player is able to input. Any missed cues while this is disabled will not be counted as a miss and will not break a perfect.")
|
new Param("toggle", true, "Allow Inputs", "Toggle if the player is able to input. Any missed cues while this is disabled will not be counted as a miss and will not break a perfect.")
|
||||||
|
@ -801,7 +806,7 @@ namespace HeavenStudio
|
||||||
|
|
||||||
new Minigame("countIn", "Count-Ins", "", false, true, new List<GameAction>()
|
new Minigame("countIn", "Count-Ins", "", false, true, new List<GameAction>()
|
||||||
{
|
{
|
||||||
new GameAction("count-in", "Count-In", 4f, true,
|
new GameAction("count-in", "Count-In", "Built", 4f, true,
|
||||||
new List<Param>()
|
new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("alt", false, "Alt", "Set the type of sounds to use for the count-in."),
|
new Param("alt", false, "Alt", "Set the type of sounds to use for the count-in."),
|
||||||
|
@ -812,7 +817,7 @@ namespace HeavenStudio
|
||||||
SoundEffects.CountIn(e.beat, e.length, e["alt"], e["go"]);
|
SoundEffects.CountIn(e.beat, e.length, e["alt"], e["go"]);
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("4 beat count-in", "4 Beat Count-In", 4f, true,
|
new GameAction("4 beat count-in", "4 Beat Count-In", "Built", 4f, true,
|
||||||
new List<Param>()
|
new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("type", SoundEffects.CountInType.Normal, "Type", "Set the type of sounds to use for the count-in.")
|
new Param("type", SoundEffects.CountInType.Normal, "Type", "Set the type of sounds to use for the count-in.")
|
||||||
|
@ -822,7 +827,7 @@ namespace HeavenStudio
|
||||||
SoundEffects.FourBeatCountIn(e.beat, e.length / 4f, e["type"]);
|
SoundEffects.FourBeatCountIn(e.beat, e.length / 4f, e["type"]);
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("8 beat count-in", "8 Beat Count-In", 8f, true,
|
new GameAction("8 beat count-in", "8 Beat Count-In", "Built", 8f, true,
|
||||||
new List<Param>()
|
new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("type", SoundEffects.CountInType.Normal, "Type", "Set the type of sounds to use for the count-in.")
|
new Param("type", SoundEffects.CountInType.Normal, "Type", "Set the type of sounds to use for the count-in.")
|
||||||
|
@ -832,7 +837,7 @@ namespace HeavenStudio
|
||||||
SoundEffects.EightBeatCountIn(e.beat, e.length / 8f, e["type"]);
|
SoundEffects.EightBeatCountIn(e.beat, e.length / 8f, e["type"]);
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("count", "Count", 1f, false,
|
new GameAction("count", "Count", "Single", 1f, false,
|
||||||
new List<Param>()
|
new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("type", SoundEffects.CountNumbers.One, "Type", "Set the number to say."),
|
new Param("type", SoundEffects.CountNumbers.One, "Type", "Set the number to say."),
|
||||||
|
@ -843,16 +848,16 @@ namespace HeavenStudio
|
||||||
SoundEffects.Count(e["type"], e["toggle"]);
|
SoundEffects.Count(e["type"], e["toggle"]);
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("cowbell", "Cowbell",
|
new GameAction("cowbell", "Cowbell", "Single",
|
||||||
function: delegate { SoundEffects.Cowbell(); }
|
function: delegate { SoundEffects.Cowbell(); }
|
||||||
),
|
),
|
||||||
new GameAction("ready!", "Ready!", 2f, true,
|
new GameAction("ready!", "Ready!", "Single", 2f, true,
|
||||||
function: delegate { var e = eventCaller.currentEntity; SoundEffects.Ready(e.beat, (e.length / 2f)); }
|
function: delegate { var e = eventCaller.currentEntity; SoundEffects.Ready(e.beat, (e.length / 2f)); }
|
||||||
),
|
),
|
||||||
new GameAction("and", "And", 0.5f,
|
new GameAction("and", "And", "Single", 0.5f,
|
||||||
function: delegate { SoundEffects.And(); }
|
function: delegate { SoundEffects.And(); }
|
||||||
),
|
),
|
||||||
new GameAction("go!", "Go!", 1f, false,
|
new GameAction("go!", "Go!", "Single", 1f, false,
|
||||||
new List<Param>()
|
new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("toggle", false, "Alt", "Toggle if the alternate version of this voice line should be used.")
|
new Param("toggle", false, "Alt", "Toggle if the alternate version of this voice line should be used.")
|
||||||
|
@ -860,26 +865,26 @@ namespace HeavenStudio
|
||||||
function: delegate { SoundEffects.Go(eventCaller.currentEntity["toggle"]); }
|
function: delegate { SoundEffects.Go(eventCaller.currentEntity["toggle"]); }
|
||||||
),
|
),
|
||||||
|
|
||||||
// These are still here for backwards-compatibility but are hidden in the editor
|
// // These are still here for backwards-compatibility but are hidden in the editor
|
||||||
new GameAction("4 beat count-in (alt)", "", 4f, function: delegate { var e = eventCaller.currentEntity; SoundEffects.FourBeatCountIn(e.beat, e.length, 1); }, hidden: true),
|
// new GameAction("4 beat count-in (alt)", "", 4f, function: delegate { var e = eventCaller.currentEntity; SoundEffects.FourBeatCountIn(e.beat, e.length, 1); }, hidden: true),
|
||||||
new GameAction("4 beat count-in (cowbell)", "", 4f, function: delegate { var e = eventCaller.currentEntity; SoundEffects.FourBeatCountIn(e.beat, e.length, 2); }, hidden: true),
|
// new GameAction("4 beat count-in (cowbell)", "", 4f, function: delegate { var e = eventCaller.currentEntity; SoundEffects.FourBeatCountIn(e.beat, e.length, 2); }, hidden: true),
|
||||||
new GameAction("8 beat count-in (alt)", "", 8f, function: delegate { var e = eventCaller.currentEntity; SoundEffects.EightBeatCountIn(e.beat, e.length, 1); }, hidden: true),
|
// new GameAction("8 beat count-in (alt)", "", 8f, function: delegate { var e = eventCaller.currentEntity; SoundEffects.EightBeatCountIn(e.beat, e.length, 1); }, hidden: true),
|
||||||
new GameAction("8 beat count-in (cowbell)", "", 8f, function: delegate { var e = eventCaller.currentEntity; SoundEffects.EightBeatCountIn(e.beat, e.length, 2); }, hidden: true),
|
// new GameAction("8 beat count-in (cowbell)", "", 8f, function: delegate { var e = eventCaller.currentEntity; SoundEffects.EightBeatCountIn(e.beat, e.length, 2); }, hidden: true),
|
||||||
|
|
||||||
new GameAction("one", "", function: delegate { SoundEffects.Count(0, false); }, hidden: true),
|
// new GameAction("one", "", function: delegate { SoundEffects.Count(0, false); }, hidden: true),
|
||||||
new GameAction("two", "", function: delegate { SoundEffects.Count(1, false); }, hidden: true),
|
// new GameAction("two", "", function: delegate { SoundEffects.Count(1, false); }, hidden: true),
|
||||||
new GameAction("three", "", function: delegate { SoundEffects.Count(2, false); }, hidden: true),
|
// new GameAction("three", "", function: delegate { SoundEffects.Count(2, false); }, hidden: true),
|
||||||
new GameAction("four", "", function: delegate { SoundEffects.Count(3, false); }, hidden: true),
|
// new GameAction("four", "", function: delegate { SoundEffects.Count(3, false); }, hidden: true),
|
||||||
new GameAction("one (alt)", "", function: delegate { SoundEffects.Count(0, true); }, hidden: true),
|
// new GameAction("one (alt)", "", function: delegate { SoundEffects.Count(0, true); }, hidden: true),
|
||||||
new GameAction("two (alt)", "", function: delegate { SoundEffects.Count(1, true); }, hidden: true),
|
// new GameAction("two (alt)", "", function: delegate { SoundEffects.Count(1, true); }, hidden: true),
|
||||||
new GameAction("three (alt)", "", function: delegate { SoundEffects.Count(2, true); }, hidden: true),
|
// new GameAction("three (alt)", "", function: delegate { SoundEffects.Count(2, true); }, hidden: true),
|
||||||
new GameAction("four (alt)", "", function: delegate { SoundEffects.Count(3, true); }, hidden: true),
|
// new GameAction("four (alt)", "", function: delegate { SoundEffects.Count(3, true); }, hidden: true),
|
||||||
new GameAction("go! (alt)", "", function: delegate { SoundEffects.Go(true); }, hidden: true),
|
// new GameAction("go! (alt)", "", function: delegate { SoundEffects.Go(true); }, hidden: true),
|
||||||
}),
|
}),
|
||||||
|
|
||||||
new Minigame("vfx", "Visual Effects", "", false, true, new List<GameAction>()
|
new Minigame("vfx", "Visual Effects", "", false, true, new List<GameAction>()
|
||||||
{
|
{
|
||||||
new GameAction("flash", "Flash/Fade", 1f, true,
|
new GameAction("flash", "Flash/Fade", "VFX", 1f, true,
|
||||||
new List<Param>()
|
new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("colorA", Color.white, "Start Color", "Set the color at the start of the event."),
|
new Param("colorA", Color.white, "Start Color", "Set the color at the start of the event."),
|
||||||
|
@ -892,7 +897,7 @@ namespace HeavenStudio
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("filter", "Filter", 1f, true,
|
new GameAction("filter", "Filter", "VFX", 1f, true,
|
||||||
new List<Param>()
|
new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("filter", Games.Global.Filter.FilterType.grayscale, "Type", "Set the type of filter to use."),
|
new Param("filter", Games.Global.Filter.FilterType.grayscale, "Type", "Set the type of filter to use."),
|
||||||
|
@ -912,7 +917,7 @@ namespace HeavenStudio
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("move camera", "Move Camera", 1f, true, new List<Param>()
|
new GameAction("move camera", "Move Camera", "Camera", 1f, true, new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("valA", new EntityTypes.Float(-50, 50, 0), "Right / Left", "Set the position on the X axis."),
|
new Param("valA", new EntityTypes.Float(-50, 50, 0), "Right / Left", "Set the position on the X axis."),
|
||||||
new Param("valB", new EntityTypes.Float(-50, 50, 0), "Up / Down", "Set the position on the Y axis."),
|
new Param("valB", new EntityTypes.Float(-50, 50, 0), "Up / Down", "Set the position on the Y axis."),
|
||||||
|
@ -921,7 +926,7 @@ namespace HeavenStudio
|
||||||
new Param("axis", GameCamera.CameraAxis.All, "Axis", "Set if only a specific axis should be modified." )
|
new Param("axis", GameCamera.CameraAxis.All, "Axis", "Set if only a specific axis should be modified." )
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("rotate camera", "Rotate Camera", 1f, true, new List<Param>()
|
new GameAction("rotate camera", "Rotate Camera", "Camera", 1f, true, new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("valA", new EntityTypes.Integer(-360, 360, 0), "Pitch", "Set the up/down rotation."),
|
new Param("valA", new EntityTypes.Integer(-360, 360, 0), "Pitch", "Set the up/down rotation."),
|
||||||
new Param("valB", new EntityTypes.Integer(-360, 360, 0), "Yaw", "Set the left/right rotation."),
|
new Param("valB", new EntityTypes.Integer(-360, 360, 0), "Yaw", "Set the left/right rotation."),
|
||||||
|
@ -930,7 +935,7 @@ namespace HeavenStudio
|
||||||
new Param("axis", GameCamera.CameraAxis.All, "Axis", "Set if only a specific axis should be modified." )
|
new Param("axis", GameCamera.CameraAxis.All, "Axis", "Set if only a specific axis should be modified." )
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("pan view", "Pan Viewport", 1f, true, new List<Param>()
|
new GameAction("pan view", "Pan Viewport", "Camera", 1f, true, new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("valA", new EntityTypes.Float(-50, 50, 0), "Right / Left", "Set the position on the X axis."),
|
new Param("valA", new EntityTypes.Float(-50, 50, 0), "Right / Left", "Set the position on the X axis."),
|
||||||
new Param("valB", new EntityTypes.Float(-50, 50, 0), "Up / Down", "Set the position on the Y axis."),
|
new Param("valB", new EntityTypes.Float(-50, 50, 0), "Up / Down", "Set the position on the Y axis."),
|
||||||
|
@ -938,13 +943,13 @@ namespace HeavenStudio
|
||||||
new Param("axis", StaticCamera.ViewAxis.All, "Axis", "Set if only a specific axis should be modified." )
|
new Param("axis", StaticCamera.ViewAxis.All, "Axis", "Set if only a specific axis should be modified." )
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("rotate view", "Rotate Viewport", 1f, true, new List<Param>()
|
new GameAction("rotate view", "Rotate Viewport", "Camera", 1f, true, new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("valA", new EntityTypes.Float(-360, 360, 0), "Rotation", "Set the clockwise/counterclockwise rotation."),
|
new Param("valA", new EntityTypes.Float(-360, 360, 0), "Rotation", "Set the clockwise/counterclockwise rotation."),
|
||||||
new Param("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action."),
|
new Param("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action."),
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("scale view", "Scale Viewport", 1f, true, new List<Param>()
|
new GameAction("scale view", "Scale Viewport", "Camera", 1f, true, new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("valA", new EntityTypes.Float(-50f, 50, 1), "Width", "Set the width of the viewport."),
|
new Param("valA", new EntityTypes.Float(-50f, 50, 1), "Width", "Set the width of the viewport."),
|
||||||
new Param("valB", new EntityTypes.Float(-50f, 50, 1), "Height", "Set the height of the viewport."),
|
new Param("valB", new EntityTypes.Float(-50f, 50, 1), "Height", "Set the height of the viewport."),
|
||||||
|
@ -952,7 +957,7 @@ namespace HeavenStudio
|
||||||
new Param("axis", StaticCamera.ViewAxis.All, "Axis", "Set if only a specific axis should be modified." )
|
new Param("axis", StaticCamera.ViewAxis.All, "Axis", "Set if only a specific axis should be modified." )
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new("stretch camera", "Stretch Camera")
|
new("stretch camera", "Stretch Camera", "Camera")
|
||||||
{
|
{
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -968,7 +973,7 @@ namespace HeavenStudio
|
||||||
new Param("axis", GameCamera.CameraAxis.All, "Axis", "Set if only a specific axis should be modified.")
|
new Param("axis", GameCamera.CameraAxis.All, "Axis", "Set if only a specific axis should be modified.")
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new GameAction("fitScreen", "Force Game Stretching To Window")
|
new GameAction("fitScreen", "Force Game Stretching To Window", "Camera")
|
||||||
{
|
{
|
||||||
defaultLength = 0.5f,
|
defaultLength = 0.5f,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -976,7 +981,7 @@ namespace HeavenStudio
|
||||||
new("enable", true, "Enabled", "Toggle if the game should be forced to stretch to the window size, removing the letterbox.")
|
new("enable", true, "Enabled", "Toggle if the game should be forced to stretch to the window size, removing the letterbox.")
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new GameAction("screen shake", "Screen Shake", 1f, true,
|
new GameAction("screen shake", "Screen Shake", "Camera", 1f, true,
|
||||||
new List<Param>()
|
new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("easedA", new EntityTypes.Float(0, 10, 0), "Start Horizontal Intensity", "Set the horizontal intensity of the screen shake at the start of the event."),
|
new Param("easedA", new EntityTypes.Float(0, 10, 0), "Start Horizontal Intensity", "Set the horizontal intensity of the screen shake at the start of the event."),
|
||||||
|
@ -989,7 +994,7 @@ namespace HeavenStudio
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("display textbox", "Display Textbox", 1f, true, new List<Param>()
|
new GameAction("display textbox", "Display Textbox", "Text", 1f, true, new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("text1", "", "Text", "Set the text to display in the textbox. Rich text is supported."),
|
new Param("text1", "", "Text", "Set the text to display in the textbox. Rich text is supported."),
|
||||||
new Param("type", Games.Global.Textbox.TextboxAnchor.TopMiddle, "Anchor", "Set where to anchor the textbox."),
|
new Param("type", Games.Global.Textbox.TextboxAnchor.TopMiddle, "Anchor", "Set where to anchor the textbox."),
|
||||||
|
@ -997,7 +1002,7 @@ namespace HeavenStudio
|
||||||
new Param("valB", new EntityTypes.Float(0.5f, 8, 1), "Height", "Set the height of the textbox.")
|
new Param("valB", new EntityTypes.Float(0.5f, 8, 1), "Height", "Set the height of the textbox.")
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("display open captions", "Display Open Captions", 1f, true,
|
new GameAction("display open captions", "Display Open Captions", "Text", 1f, true,
|
||||||
new List<Param>()
|
new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("text1", "", "Text", "Set the text to display in the captions. Rich text is supported."),
|
new Param("text1", "", "Text", "Set the text to display in the captions. Rich text is supported."),
|
||||||
|
@ -1006,7 +1011,7 @@ namespace HeavenStudio
|
||||||
new Param("valB", new EntityTypes.Float(0.5f, 8, 1), "Height", "Set the height of the captions.")
|
new Param("valB", new EntityTypes.Float(0.5f, 8, 1), "Height", "Set the height of the captions.")
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("display closed captions", "Display Closed Captions", 1f, true,
|
new GameAction("display closed captions", "Display Closed Captions", "Text", 1f, true,
|
||||||
new List<Param>()
|
new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("text1", "", "Text", "Set the text to display in the captions. Rich text is supported."),
|
new Param("text1", "", "Text", "Set the text to display in the captions. Rich text is supported."),
|
||||||
|
@ -1014,7 +1019,7 @@ namespace HeavenStudio
|
||||||
new Param("valA", new EntityTypes.Float(0.5f, 4, 1), "Height", "Set the height of the captions.")
|
new Param("valA", new EntityTypes.Float(0.5f, 4, 1), "Height", "Set the height of the captions.")
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("display song artist", "Display Song Info", 1f, true,
|
new GameAction("display song artist", "Display Song Info", "Text", 1f, true,
|
||||||
new List<Param>()
|
new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("text1", "", "Title", "Set the text to display in the upper label. Rich text is supported."),
|
new Param("text1", "", "Title", "Set the text to display in the upper label. Rich text is supported."),
|
||||||
|
@ -1023,7 +1028,7 @@ namespace HeavenStudio
|
||||||
new Param("instantOff", false, "Instant Hide", "Toggle if the slide-out animation should be skipped."),
|
new Param("instantOff", false, "Instant Hide", "Toggle if the slide-out animation should be skipped."),
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("camera background color", "Camera Background Color", 1, true, new List<Param>()
|
new GameAction("camera background color", "Camera Background Color", "Camera", 1, true, new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("color", Color.black, "Start Color", "Set the color at the start of the event."),
|
new Param("color", Color.black, "Start Color", "Set the color at the start of the event."),
|
||||||
new Param("color2", Color.black, "End Color", "Set the color at the end of the event."),
|
new Param("color2", Color.black, "End Color", "Set the color at the end of the event."),
|
||||||
|
@ -1032,7 +1037,7 @@ namespace HeavenStudio
|
||||||
),
|
),
|
||||||
|
|
||||||
// Post Processing VFX
|
// Post Processing VFX
|
||||||
new GameAction("vignette", "Vignette")
|
new GameAction("vignette", "Vignette", "VFX")
|
||||||
{
|
{
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -1056,7 +1061,7 @@ namespace HeavenStudio
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new GameAction("cabb", "Chromatic Aberration")
|
new GameAction("cabb", "Chromatic Aberration", "VFX")
|
||||||
{
|
{
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -1069,7 +1074,7 @@ namespace HeavenStudio
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new GameAction("bloom", "Bloom")
|
new GameAction("bloom", "Bloom", "VFX")
|
||||||
{
|
{
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -1095,7 +1100,7 @@ namespace HeavenStudio
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new GameAction("lensD", "Lens Distortion")
|
new GameAction("lensD", "Lens Distortion", "VFX")
|
||||||
{
|
{
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -1114,7 +1119,7 @@ namespace HeavenStudio
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new GameAction("grain", "Grain")
|
new GameAction("grain", "Grain", "VFX")
|
||||||
{
|
{
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -1134,7 +1139,7 @@ namespace HeavenStudio
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
new GameAction("colorGrading", "Color Grading")
|
new GameAction("colorGrading", "Color Grading", "VFX")
|
||||||
{
|
{
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -1167,7 +1172,7 @@ namespace HeavenStudio
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
new GameAction("gaussBlur", "Gaussian Blur")
|
new GameAction("gaussBlur", "Gaussian Blur", "VFX")
|
||||||
{
|
{
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -1182,7 +1187,7 @@ namespace HeavenStudio
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
new GameAction("retroTv", "Retro TV")
|
new GameAction("retroTv", "Retro TV", "VFX")
|
||||||
{
|
{
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -1206,7 +1211,7 @@ namespace HeavenStudio
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
new GameAction("scanJitter", "Scan Line Jitter")
|
new GameAction("scanJitter", "Scan Line Jitter", "VFX")
|
||||||
{
|
{
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -1221,7 +1226,7 @@ namespace HeavenStudio
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
new GameAction("analogNoise", "Analog Noise")
|
new GameAction("analogNoise", "Analog Noise", "VFX")
|
||||||
{
|
{
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -1242,7 +1247,7 @@ namespace HeavenStudio
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
new GameAction("screenJump", "Screen Jump")
|
new GameAction("screenJump", "Screen Jump", "VFX")
|
||||||
{
|
{
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -1257,7 +1262,7 @@ namespace HeavenStudio
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
new GameAction("sobelNeon", "Neon")
|
new GameAction("sobelNeon", "Neon", "VFX")
|
||||||
{
|
{
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -1284,7 +1289,7 @@ namespace HeavenStudio
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
new GameAction("screenTiling", "Tile Screen")
|
new GameAction("screenTiling", "Tile Screen", "VFX")
|
||||||
{
|
{
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -1300,7 +1305,7 @@ namespace HeavenStudio
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new GameAction("scrollTiles", "Scroll Tiles")
|
new GameAction("scrollTiles", "Scroll Tiles", "VFX")
|
||||||
{
|
{
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
|
@ -1322,7 +1327,7 @@ namespace HeavenStudio
|
||||||
|
|
||||||
new Minigame("advanced", "Advanced", "", false, true, new List<GameAction>()
|
new Minigame("advanced", "Advanced", "", false, true, new List<GameAction>()
|
||||||
{
|
{
|
||||||
new GameAction("play animation", "Play Animation", 0.5f, false,
|
new GameAction("play animation", "Play Animation", "Play", 0.5f, false,
|
||||||
new List<Param>()
|
new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("getAnimators", new EntityTypes.Button("No Game", e => {
|
new Param("getAnimators", new EntityTypes.Button("No Game", e => {
|
||||||
|
@ -1377,7 +1382,7 @@ namespace HeavenStudio
|
||||||
GameManager.instance.PlayAnimationArbitrary(e["animator"].CurrentValue, e["animation"].CurrentValue, e["scale"]);
|
GameManager.instance.PlayAnimationArbitrary(e["animator"].CurrentValue, e["animation"].CurrentValue, e["scale"]);
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
new GameAction("play sfx", "Play SFX", 0.5f, true,
|
new GameAction("play sfx", "Play SFX", "Play", 0.5f, true,
|
||||||
new List<Param>()
|
new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("game", new EntityTypes.Dropdown(), "Which Game", "Specify the game's sfx to play. An empty input will play global sfx."),
|
new Param("game", new EntityTypes.Dropdown(), "Which Game", "Specify the game's sfx to play. An empty input will play global sfx."),
|
||||||
|
|
Loading…
Reference in a new issue