From 49ad15789379bb8b7ce0f5f1fb12a990e89efedc Mon Sep 17 00:00:00 2001 From: Braedon Date: Mon, 7 Feb 2022 20:07:03 -0500 Subject: [PATCH] Camera flashes (bug associated with fullscreen) --- Assets/Plugins/Color picker.meta | 8 + .../Color picker sample scene.unity | 615 +++++++++ .../Color picker sample scene.unity.meta | 7 + .../Color picker/ColorPicker Material.mat | 38 + .../ColorPicker Material.mat.meta | 8 + .../Color picker/ColorPicker shader.shader | 228 ++++ .../ColorPicker shader.shader.meta | 9 + Assets/Plugins/Color picker/ColorPicker.cs | 197 +++ .../Plugins/Color picker/ColorPicker.cs.meta | 11 + Assets/Plugins/Color picker/ColorPreview.cs | 43 + .../Plugins/Color picker/ColorPreview.cs.meta | 11 + Assets/Plugins/Starpelly/Colors.cs | 5 +- .../Sprites/Editor/GameIcons/clappyTrio.png | Bin 631 -> 38485 bytes Assets/Scenes/Editor.unity | 1172 ++++++++++++++++- Assets/Scripts/Beatmap.cs | 7 + Assets/Scripts/Conductor.cs | 2 + Assets/Scripts/EventCaller.cs | 13 +- Assets/Scripts/GameManager.cs | 12 +- Assets/Scripts/Games/Global.meta | 8 + Assets/Scripts/Games/Global/Flash.cs | 116 ++ Assets/Scripts/Games/Global/Flash.cs.meta | 11 + Assets/Scripts/Games/Spaceball/Spaceball.cs | 1 - Assets/Scripts/LevelEditor/BoxSelection.cs | 2 +- .../LevelEditor/DisableSelectOnHover.cs | 25 + .../LevelEditor/DisableSelectOnHover.cs.meta | 11 + Assets/Scripts/LevelEditor/Editor.cs | 9 +- .../EventSelector/EventParameterManager.cs | 9 +- .../EventSelector/EventPropertyPrefab.cs | 43 +- .../Scripts/LevelEditor/Timeline/Timeline.cs | 7 +- Assets/Scripts/Minigames.cs | 113 +- ProjectSettings/TagManager.asset | 2 +- 31 files changed, 2646 insertions(+), 97 deletions(-) create mode 100644 Assets/Plugins/Color picker.meta create mode 100644 Assets/Plugins/Color picker/Color picker sample scene.unity create mode 100644 Assets/Plugins/Color picker/Color picker sample scene.unity.meta create mode 100644 Assets/Plugins/Color picker/ColorPicker Material.mat create mode 100644 Assets/Plugins/Color picker/ColorPicker Material.mat.meta create mode 100644 Assets/Plugins/Color picker/ColorPicker shader.shader create mode 100644 Assets/Plugins/Color picker/ColorPicker shader.shader.meta create mode 100644 Assets/Plugins/Color picker/ColorPicker.cs create mode 100644 Assets/Plugins/Color picker/ColorPicker.cs.meta create mode 100644 Assets/Plugins/Color picker/ColorPreview.cs create mode 100644 Assets/Plugins/Color picker/ColorPreview.cs.meta create mode 100644 Assets/Scripts/Games/Global.meta create mode 100644 Assets/Scripts/Games/Global/Flash.cs create mode 100644 Assets/Scripts/Games/Global/Flash.cs.meta create mode 100644 Assets/Scripts/LevelEditor/DisableSelectOnHover.cs create mode 100644 Assets/Scripts/LevelEditor/DisableSelectOnHover.cs.meta diff --git a/Assets/Plugins/Color picker.meta b/Assets/Plugins/Color picker.meta new file mode 100644 index 000000000..abcea7226 --- /dev/null +++ b/Assets/Plugins/Color picker.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 066a6ded0cf084c42b7d6cb71d6079d5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Color picker/Color picker sample scene.unity b/Assets/Plugins/Color picker/Color picker sample scene.unity new file mode 100644 index 000000000..daef0cd22 --- /dev/null +++ b/Assets/Plugins/Color picker/Color picker sample scene.unity @@ -0,0 +1,615 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 1057653236} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &345254171 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 345254174} + - component: {fileID: 345254173} + - component: {fileID: 345254172} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &345254172 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 345254171} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &345254173 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 345254171} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &345254174 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 345254171} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &352399579 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 352399580} + - component: {fileID: 352399583} + - component: {fileID: 352399582} + - component: {fileID: 352399581} + m_Layer: 5 + m_Name: Color preview image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &352399580 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 352399579} + 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_Children: [] + m_Father: {fileID: 782062901} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 20, y: -20} + m_SizeDelta: {x: 200, y: 100} + m_Pivot: {x: 0, y: 1} +--- !u!114 &352399581 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 352399579} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5c2c42ee235f17049ab3792499eccc59, type: 3} + m_Name: + m_EditorClassIdentifier: + previewGraphic: {fileID: 352399582} + colorPicker: {fileID: 382679909} +--- !u!114 &352399582 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 352399579} + 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: 1, g: 1, b: 1, a: 1} + 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 &352399583 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 352399579} + m_CullTransparentMesh: 0 +--- !u!1 &382679905 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 382679906} + - component: {fileID: 382679908} + - component: {fileID: 382679907} + - component: {fileID: 382679909} + m_Layer: 5 + m_Name: Color picker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &382679906 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 382679905} + 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_Children: [] + m_Father: {fileID: 782062901} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -40, y: -40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &382679907 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 382679905} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 8a6d493ef83c61d45b80f5a22a814173, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + 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 &382679908 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 382679905} + m_CullTransparentMesh: 0 +--- !u!114 &382679909 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 382679905} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: af3ff511a986a5c4e8dc1a7939e7b981, type: 3} + m_Name: + m_EditorClassIdentifier: + colorPickerShader: {fileID: 0} +--- !u!1 &519420028 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 519420032} + - component: {fileID: 519420031} + - component: {fileID: 519420029} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &519420029 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 +--- !u!20 &519420031 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.089088656, g: 0.102733016, b: 0.13207549, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 0 + m_HDR: 1 + m_AllowMSAA: 0 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 0 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &519420032 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &782062897 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 782062901} + - component: {fileID: 782062900} + - component: {fileID: 782062899} + - component: {fileID: 782062898} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &782062898 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 782062897} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &782062899 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 782062897} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &782062900 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 782062897} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &782062901 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 782062897} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 352399580} + - {fileID: 382679906} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!850595691 &1057653236 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Settings.lighting + serializedVersion: 3 + m_GIWorkflowMode: 1 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 0 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_TextureCompression: 1 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 diff --git a/Assets/Plugins/Color picker/Color picker sample scene.unity.meta b/Assets/Plugins/Color picker/Color picker sample scene.unity.meta new file mode 100644 index 000000000..ae2cf040d --- /dev/null +++ b/Assets/Plugins/Color picker/Color picker sample scene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f996ca77004b14b4696cfe52a839c2ab +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Color picker/ColorPicker Material.mat b/Assets/Plugins/Color picker/ColorPicker Material.mat new file mode 100644 index 000000000..4ec40f812 --- /dev/null +++ b/Assets/Plugins/Color picker/ColorPicker Material.mat @@ -0,0 +1,38 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: ColorPicker Material + m_Shader: {fileID: 4800000, guid: 1fe34ac173a0455499fd722bc6744230, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _HueCircleInner: 0.4 + - _HueSelectorInner: 0.8 + - _SVSquareSize: 0.25 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/Plugins/Color picker/ColorPicker Material.mat.meta b/Assets/Plugins/Color picker/ColorPicker Material.mat.meta new file mode 100644 index 000000000..515317072 --- /dev/null +++ b/Assets/Plugins/Color picker/ColorPicker Material.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8a6d493ef83c61d45b80f5a22a814173 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Color picker/ColorPicker shader.shader b/Assets/Plugins/Color picker/ColorPicker shader.shader new file mode 100644 index 000000000..97b97d8d5 --- /dev/null +++ b/Assets/Plugins/Color picker/ColorPicker shader.shader @@ -0,0 +1,228 @@ + +Shader "UI/ColorPicker" +{ + Properties + { + // Variables from default UI shader + + [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + + // Color picker + + _HueCircleInner("Hue circle inner radius", Range(0, .5)) = .4 + _HueSelectorInner("Hue selector inner radius", Range(0, 1)) = .8 + _SVSquareSize("SV Square size", Range(0, .5)) = .25 + } + + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + Name "Default" + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + static const float recip2Pi = 0.159154943; + static const float twoPi = 6.2831853; + + float3 hsv2rgb(float3 c) + { + float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); + } + + struct appdata_t + { + float4 vertex : POSITION; + float4 color : COLOR; + float2 texcoord : TEXCOORD0; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { + float4 vertex : SV_POSITION; + fixed4 color : COLOR; + float2 texcoord : TEXCOORD0; + float4 worldPosition : TEXCOORD1; + UNITY_VERTEX_OUTPUT_STEREO + }; + + sampler2D _MainTex; + fixed4 _Color; + fixed4 _TextureSampleAdd; + float4 _ClipRect; + float4 _MainTex_ST; + + float _HueCircleInner, _HueSelectorInner; + + float _SVSquareSize; + + float3 _HSV; + + float _AspectRatio; + + v2f vert(appdata_t v) + { + v2f OUT; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT); + OUT.worldPosition = v.vertex; + OUT.vertex = UnityObjectToClipPos(OUT.worldPosition); + + OUT.texcoord = v.texcoord; + + OUT.color = v.color * _Color; + return OUT; + } + + half4 hueRing(float2 uv) + { + float2 coords = uv - .5; + + float r = length(coords); + + float fw = fwidth(r); + + float a = smoothstep(.5, .5 - fw, r) * smoothstep(_HueCircleInner - fw, _HueCircleInner, r); + + float angle = atan2(coords.y, coords.x) * recip2Pi; + + return half4(hsv2rgb(float3(angle, 1, 1)), a); + } + + half4 whiteRing(float2 uv, float2 pos, float inner, float outer) + { + float2 coords = uv - pos; + + float r = length(coords); + + float fw = fwidth(r); + + float a = smoothstep(outer, outer - fw, r) * smoothstep(inner - fw, inner, r); + + return half4(1, 1, 1, a); + } + + half4 svSquare(float2 uv) + { + float2 sv = (uv - .5) / (_SVSquareSize * 2) + .5; + + float dx = abs(ddx(sv.x)); + float dy = abs(ddy(sv.y)); + + float a = + smoothstep(0, dx, sv.x) * smoothstep(1, 1 - dx, sv.x) * + smoothstep(0, dy, sv.y) * smoothstep(1, 1 - dy, sv.y); + + return float4(hsv2rgb(float3(_HSV.x, sv)), a); + } + + fixed4 mix(fixed4 bot, fixed4 top) + { + return fixed4(lerp(bot.rgb, top.rgb, top.a), max(bot.a, top.a)); + } + + fixed4 frag(v2f IN) : SV_Target + { + // Aspect ratio correction + + float2 uv = _AspectRatio > 1 ? + float2(.5 + (IN.texcoord.x - .5) * _AspectRatio, IN.texcoord.y) : + float2(IN.texcoord.x, .5 + (IN.texcoord.y - .5) / _AspectRatio); + + // Hue ring + + half4 color = hueRing(uv); + + // Hue ring selector + + float hSelectorR = (.5 - _HueCircleInner) * .5; + + half4 hSelector = whiteRing( + uv, + float2(cos(_HSV.x * twoPi), sin(_HSV.x * twoPi)) * (.5 - hSelectorR) + .5, + hSelectorR * _HueSelectorInner, hSelectorR); + + color = mix(color, hSelector); + + // Saturation value Square + + half4 sv = svSquare(uv); + + color = sv.a > 0 ? sv : color; + + // Saturation value selector + + half4 svSelector = whiteRing( + uv, + .5 + 2 * _SVSquareSize * (_HSV.yz - .5), + hSelectorR * _HueSelectorInner, hSelectorR); + + color = mix(color, svSelector); + + // Unity stuff + + #ifdef UNITY_UI_CLIP_RECT + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + #endif + + #ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + #ifdef UNITY_COLORSPACE_GAMMA + return color; + #endif + + return fixed4(GammaToLinearSpace(color.rgb), color.a); + } + ENDCG + } + } +} diff --git a/Assets/Plugins/Color picker/ColorPicker shader.shader.meta b/Assets/Plugins/Color picker/ColorPicker shader.shader.meta new file mode 100644 index 000000000..99fbfd72f --- /dev/null +++ b/Assets/Plugins/Color picker/ColorPicker shader.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1fe34ac173a0455499fd722bc6744230 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Color picker/ColorPicker.cs b/Assets/Plugins/Color picker/ColorPicker.cs new file mode 100644 index 000000000..2229b96ec --- /dev/null +++ b/Assets/Plugins/Color picker/ColorPicker.cs @@ -0,0 +1,197 @@ +// https://github.com/mmaletin/UnityColorPicker + +using System; +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +using static UnityEngine.Mathf; + +[ExecuteInEditMode, RequireComponent(typeof(Image))] +public class ColorPicker : MonoBehaviour, IPointerDownHandler, IDragHandler, IPointerUpHandler +{ + private const float recip2Pi = 0.159154943f; + private const string colorPickerShaderName = "UI/ColorPicker"; + + private static readonly int _HSV = Shader.PropertyToID(nameof(_HSV)); + private static readonly int _AspectRatio = Shader.PropertyToID(nameof(_AspectRatio)); + private static readonly int _HueCircleInner = Shader.PropertyToID(nameof(_HueCircleInner)); + private static readonly int _SVSquareSize = Shader.PropertyToID(nameof(_SVSquareSize)); + + [SerializeField, HideInInspector] private Shader colorPickerShader; + private Material generatedMaterial; + + private enum PointerDownLocation { HueCircle, SVSquare, Outside } + private PointerDownLocation pointerDownLocation = PointerDownLocation.Outside; + + private RectTransform rectTransform; + [UnityEngine.SerializeField] private Image image; + + float h, s, v; + + public Color color + { + get { return Color.HSVToRGB(h, s, v); } + set { + Color.RGBToHSV(value, out h, out s, out v); + ApplyColor(); + } + } + + public event Action onColorChanged; + + private void Awake() + { + rectTransform = transform as RectTransform; + + h = s = v = 0; + + if (WrongShader()) + { + Debug.LogWarning($"Color picker requires image material with {colorPickerShaderName} shader."); + + if (Application.isPlaying && colorPickerShader != null) + { + generatedMaterial = new Material(colorPickerShader); + generatedMaterial.hideFlags = HideFlags.HideAndDontSave; + } + + image.material = generatedMaterial; + + return; + } + + ApplyColor(); + } + + private void Reset() + { + colorPickerShader = Shader.Find(colorPickerShaderName); + } + + private bool WrongShader() + { + return image?.material?.shader?.name != colorPickerShaderName; + } + + private void Update() + { + if (WrongShader()) return; + + var rect = rectTransform.rect; + + image.material.SetFloat(_AspectRatio, rect.width / rect.height); + } + + public void OnDrag(PointerEventData eventData) + { + if (WrongShader()) return; + + var pos = GetRelativePosition(eventData); + + if (pointerDownLocation == PointerDownLocation.HueCircle) + { + h = (Atan2(pos.y, pos.x) * recip2Pi + 1) % 1; + ApplyColor(); + } + + if (pointerDownLocation == PointerDownLocation.SVSquare) + { + var size = image.material.GetFloat(_SVSquareSize); + + s = InverseLerp(-size, size, pos.x); + v = InverseLerp(-size, size, pos.y); + ApplyColor(); + } + } + + public void OnPointerDown(PointerEventData eventData) + { + if (WrongShader()) return; + + var pos = GetRelativePosition(eventData); + + float r = pos.magnitude; + + if (r < .5f && r > image.material.GetFloat(_HueCircleInner)) + { + pointerDownLocation = PointerDownLocation.HueCircle; + h = (Atan2(pos.y, pos.x) * recip2Pi + 1) % 1; + ApplyColor(); + } + else + { + var size = image.material.GetFloat(_SVSquareSize); + + // s -> x, v -> y + if (pos.x >= -size && pos.x <= size && pos.y >= -size && pos.y <= size) + { + pointerDownLocation = PointerDownLocation.SVSquare; + s = InverseLerp(-size, size, pos.x); + v = InverseLerp(-size, size, pos.y); + ApplyColor(); + } + } + } + + public void OnPointerUp(PointerEventData eventData) + { + pointerDownLocation = PointerDownLocation.Outside; + } + + private void ApplyColor() + { + image.material.SetVector(_HSV, new Vector3(h, s, v)); + + onColorChanged?.Invoke(color); + } + + private void OnDestroy() + { + if (generatedMaterial != null) + DestroyImmediate(generatedMaterial); + } + + /// + /// Returns position in range -0.5..0.5 when it's inside color picker square area + /// + public Vector2 GetRelativePosition(PointerEventData eventData) + { + var rect = GetSquaredRect(); + + Vector2 rtPos; + + RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform, eventData.position, eventData.pressEventCamera, out rtPos); + + return new Vector2(InverseLerpUnclamped(rect.xMin, rect.xMax, rtPos.x), InverseLerpUnclamped(rect.yMin, rect.yMax, rtPos.y)) - Vector2.one * 0.5f; + } + + public Rect GetSquaredRect() + { + var rect = rectTransform.rect; + var smallestDimension = Min(rect.width, rect.height); + return new Rect(rect.center - Vector2.one * smallestDimension * 0.5f, Vector2.one * smallestDimension); + } + + public float InverseLerpUnclamped(float min, float max, float value) + { + return (value - min) / (max - min); + } + +#if UNITY_EDITOR + + [UnityEditor.MenuItem("GameObject/UI/Color Picker", false, 10)] + private static void CreateColorPicker(UnityEditor.MenuCommand menuCommand) + { + GameObject go = new GameObject("Color Picker"); + + go.AddComponent(); + + UnityEditor.GameObjectUtility.SetParentAndAlign(go, menuCommand.context as GameObject); + + UnityEditor.Undo.RegisterCreatedObjectUndo(go, "Create " + go.name); + UnityEditor.Selection.activeObject = go; + } +#endif + +} \ No newline at end of file diff --git a/Assets/Plugins/Color picker/ColorPicker.cs.meta b/Assets/Plugins/Color picker/ColorPicker.cs.meta new file mode 100644 index 000000000..f582b7b25 --- /dev/null +++ b/Assets/Plugins/Color picker/ColorPicker.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: af3ff511a986a5c4e8dc1a7939e7b981 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Color picker/ColorPreview.cs b/Assets/Plugins/Color picker/ColorPreview.cs new file mode 100644 index 000000000..00757ca79 --- /dev/null +++ b/Assets/Plugins/Color picker/ColorPreview.cs @@ -0,0 +1,43 @@ +using UnityEngine; +using UnityEngine.UI; + +using TMPro; +using Starpelly; + +public class ColorPreview : MonoBehaviour +{ + public Graphic previewGraphic; + + public ColorPicker colorPicker; + + public TMP_InputField hex; + + private void Start() + { + previewGraphic.color = colorPicker.color; + colorPicker.onColorChanged += OnColorChanged; + } + + public void ChangeColor(Color c) + { + colorPicker.color = c; + hex.text = c.Color2Hex(); + } + + public void OnColorChanged(Color c) + { + previewGraphic.color = c; + hex.text = c.Color2Hex(); + } + + public void SetColorFromHex(string hex) + { + colorPicker.color = Starpelly.Colors.Hex2RGB(hex); + } + + private void OnDestroy() + { + if (colorPicker != null) + colorPicker.onColorChanged -= OnColorChanged; + } +} \ No newline at end of file diff --git a/Assets/Plugins/Color picker/ColorPreview.cs.meta b/Assets/Plugins/Color picker/ColorPreview.cs.meta new file mode 100644 index 000000000..747562015 --- /dev/null +++ b/Assets/Plugins/Color picker/ColorPreview.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5c2c42ee235f17049ab3792499eccc59 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Starpelly/Colors.cs b/Assets/Plugins/Starpelly/Colors.cs index 248a22eca..82363aea2 100644 --- a/Assets/Plugins/Starpelly/Colors.cs +++ b/Assets/Plugins/Starpelly/Colors.cs @@ -4,9 +4,10 @@ namespace Starpelly { public static class Colors { - public static string Color2Hex(this Color32 color) + public static string Color2Hex(this Color color) { - string hex = color.r.ToString("X2") + color.g.ToString("X2") + color.b.ToString("X2"); + Color32 col = (Color32)color; + string hex = col.r.ToString("X2") + col.g.ToString("X2") + col.b.ToString("X2"); return hex; } diff --git a/Assets/Resources/Sprites/Editor/GameIcons/clappyTrio.png b/Assets/Resources/Sprites/Editor/GameIcons/clappyTrio.png index 14b7fb1fe6bba98aa98865e37b6c25968af93a4d..b38475691b372bd0a506d94fec101e71a23c2820 100644 GIT binary patch literal 38485 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 IM6N<$f*Q~dZ2$lO diff --git a/Assets/Scenes/Editor.unity b/Assets/Scenes/Editor.unity index a00616e7f..bffe69c67 100644 --- a/Assets/Scenes/Editor.unity +++ b/Assets/Scenes/Editor.unity @@ -303,7 +303,7 @@ MonoBehaviour: m_Calls: [] m_text: Integer m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: c2df694f599b22b42817910ff570a9df, type: 2} + m_fontAsset: {fileID: 11400000, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} m_sharedMaterial: {fileID: -5829441969153149921, guid: c2df694f599b22b42817910ff570a9df, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} @@ -367,7 +367,7 @@ MonoBehaviour: m_margin: {x: 0, y: 0, z: 0, w: 0} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 + m_hasFontAssetChanged: 1 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!222 &5490986 @@ -647,8 +647,8 @@ MonoBehaviour: m_Calls: [] m_text: Dropdown m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: c2df694f599b22b42817910ff570a9df, type: 2} - m_sharedMaterial: {fileID: -5829441969153149921, guid: c2df694f599b22b42817910ff570a9df, type: 2} + m_fontAsset: {fileID: 11400000, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} + m_sharedMaterial: {fileID: 5250768452915780979, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] @@ -672,7 +672,7 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 14 + m_fontSize: 13.95 m_fontSizeBase: 20 m_fontWeight: 400 m_enableAutoSizing: 1 @@ -711,7 +711,7 @@ MonoBehaviour: m_margin: {x: 0, y: 0, z: 0, w: 0} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 + m_hasFontAssetChanged: 1 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!222 &44496737 @@ -808,7 +808,7 @@ GameObject: - component: {fileID: 110654310} - component: {fileID: 110654312} - component: {fileID: 110654311} - m_Layer: 5 + m_Layer: 8 m_Name: GameEventSelectorBG m_TagString: Untagged m_Icon: {fileID: 0} @@ -1622,7 +1622,7 @@ GameObject: - component: {fileID: 156962257} - component: {fileID: 156962256} - component: {fileID: 156962255} - m_Layer: 5 + m_Layer: 8 m_Name: GameSelectorIconBar m_TagString: Untagged m_Icon: {fileID: 0} @@ -2092,6 +2092,10 @@ MonoBehaviour: slider: {fileID: 0} inputField: {fileID: 0} dropdown: {fileID: 9172948791891367920} + ColorBTN: {fileID: 0} + ColorTable: {fileID: 0} + colorTableActive: 0 + colorPreview: {fileID: 0} --- !u!1 &191459085 GameObject: m_ObjectHideFlags: 0 @@ -2488,7 +2492,7 @@ GameObject: - component: {fileID: 246861489} - component: {fileID: 246861491} - component: {fileID: 246861490} - m_Layer: 5 + m_Layer: 8 m_Name: Context m_TagString: Untagged m_Icon: {fileID: 0} @@ -2757,7 +2761,7 @@ GameObject: - component: {fileID: 270008768} - component: {fileID: 270008767} - component: {fileID: 270008766} - m_Layer: 5 + m_Layer: 8 m_Name: Selection m_TagString: Untagged m_Icon: {fileID: 0} @@ -3260,6 +3264,10 @@ MonoBehaviour: slider: {fileID: 749529046} inputField: {fileID: 735918245} dropdown: {fileID: 0} + ColorBTN: {fileID: 0} + ColorTable: {fileID: 0} + colorTableActive: 0 + colorPreview: {fileID: 0} --- !u!224 &345301791 RectTransform: m_ObjectHideFlags: 0 @@ -3384,7 +3392,7 @@ GameObject: m_Component: - component: {fileID: 358789044} - component: {fileID: 358789046} - m_Layer: 5 + m_Layer: 8 m_Name: Content m_TagString: Untagged m_Icon: {fileID: 0} @@ -3483,6 +3491,10 @@ MonoBehaviour: slider: {fileID: 2067224779} inputField: {fileID: 1182082595} dropdown: {fileID: 0} + ColorBTN: {fileID: 0} + ColorTable: {fileID: 0} + colorTableActive: 0 + colorPreview: {fileID: 0} --- !u!1 &411779173 GameObject: m_ObjectHideFlags: 0 @@ -3813,6 +3825,181 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 424396916} m_CullTransparentMesh: 1 +--- !u!1 &426555697 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 426555698} + - component: {fileID: 426555701} + - component: {fileID: 426555700} + - component: {fileID: 426555699} + m_Layer: 5 + m_Name: InputField (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &426555698 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 426555697} + 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_Children: + - {fileID: 575794484} + m_Father: {fileID: 1522319056} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 52.200005, y: 0.0000076293945} + m_SizeDelta: {x: 68.973, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &426555699 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 426555697} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 426555700} + m_TextViewport: {fileID: 575794484} + m_TextComponent: {fileID: 1548381524} + m_Placeholder: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_VerticalScrollbarEventHandler: {fileID: 0} + m_LayoutGroup: {fileID: 0} + m_ScrollSensitivity: 1 + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_HideSoftKeyboard: 0 + m_CharacterValidation: 0 + m_RegexValue: + m_GlobalPointSize: 14 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_OnSelect: + m_PersistentCalls: + m_Calls: [] + m_OnDeselect: + m_PersistentCalls: + m_Calls: [] + m_OnTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnEndTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_OnTouchScreenKeyboardStatusChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: FFFFFF + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_RichText: 1 + m_GlobalFontAsset: {fileID: 11400000, guid: c2df694f599b22b42817910ff570a9df, type: 2} + m_OnFocusSelectAll: 1 + m_ResetOnDeActivation: 1 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_LineLimit: 0 + m_InputValidator: {fileID: 0} +--- !u!114 &426555700 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 426555697} + 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: 1, g: 1, b: 1, a: 1} + 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: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &426555701 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 426555697} + m_CullTransparentMesh: 1 --- !u!1 &441876680 GameObject: m_ObjectHideFlags: 0 @@ -4027,7 +4214,7 @@ GameObject: - component: {fileID: 456434813} - component: {fileID: 456434812} - component: {fileID: 456434811} - m_Layer: 5 + m_Layer: 8 m_Name: Tempo Change m_TagString: Untagged m_Icon: {fileID: 0} @@ -4664,6 +4851,140 @@ MonoBehaviour: m_EditorClassIdentifier: m_Padding: {x: -8, y: -5, z: -8, w: -5} m_Softness: {x: 0, y: 0} +--- !u!1 &537615367 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 537615368} + - component: {fileID: 537615370} + - component: {fileID: 537615369} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &537615368 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 537615367} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.0000798, y: 1.0000798, z: 1.0000798} + m_Children: [] + m_Father: {fileID: 1443721747} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 63.92, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &537615369 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 537615367} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Color + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} + m_sharedMaterial: {fileID: 5250768452915780979, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 25.6 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 3 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &537615370 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 537615367} + m_CullTransparentMesh: 1 --- !u!1 &547319782 GameObject: m_ObjectHideFlags: 0 @@ -5016,7 +5337,7 @@ GameObject: - component: {fileID: 566999363} - component: {fileID: 566999365} - component: {fileID: 566999364} - m_Layer: 5 + m_Layer: 8 m_Name: Seperator_Top m_TagString: Untagged m_Icon: {fileID: 0} @@ -5091,7 +5412,7 @@ GameObject: - component: {fileID: 575663593} - component: {fileID: 575663595} - component: {fileID: 575663594} - m_Layer: 5 + m_Layer: 8 m_Name: Seperator_Bottom m_TagString: Untagged m_Icon: {fileID: 0} @@ -5155,6 +5476,57 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 575663592} m_CullTransparentMesh: 1 +--- !u!1 &575794483 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 575794484} + - component: {fileID: 575794485} + m_Layer: 5 + m_Name: Text Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &575794484 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 575794483} + 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_Children: + - {fileID: 1548381523} + m_Father: {fileID: 426555698} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &575794485 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 575794483} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: {x: -8, y: -5, z: -8, w: -5} + m_Softness: {x: 0, y: 0} --- !u!1 &580861937 GameObject: m_ObjectHideFlags: 0 @@ -5376,7 +5748,7 @@ GameObject: m_Component: - component: {fileID: 590210126} - component: {fileID: 590210127} - m_Layer: 5 + m_Layer: 8 m_Name: Holder m_TagString: Untagged m_Icon: {fileID: 0} @@ -5740,7 +6112,7 @@ GameObject: - component: {fileID: 643814083} - component: {fileID: 643814085} - component: {fileID: 643814084} - m_Layer: 5 + m_Layer: 8 m_Name: ContextSeperator m_TagString: Untagged m_Icon: {fileID: 0} @@ -6255,7 +6627,7 @@ GameObject: - component: {fileID: 689781280} - component: {fileID: 689781279} - component: {fileID: 689781278} - m_Layer: 5 + m_Layer: 8 m_Name: Music Volume m_TagString: Untagged m_Icon: {fileID: 0} @@ -6606,6 +6978,84 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 708484803} m_CullTransparentMesh: 1 +--- !u!1 &723094752 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 723094753} + - component: {fileID: 723094755} + - component: {fileID: 723094754} + m_Layer: 5 + m_Name: Table + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &723094753 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 723094752} + 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_Children: + - {fileID: 1123278335} + - {fileID: 1489888671} + - {fileID: 1522319056} + m_Father: {fileID: 1443721747} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -662.0899, y: 23.93} + m_SizeDelta: {x: 244.83, y: 288.36} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &723094754 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 723094752} + 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.1981132, g: 0.1981132, b: 0.1981132, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &723094755 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 723094752} + m_CullTransparentMesh: 1 --- !u!1 &735918244 GameObject: m_ObjectHideFlags: 0 @@ -6959,7 +7409,7 @@ GameObject: - component: {fileID: 767779043} - component: {fileID: 767779046} - component: {fileID: 767779045} - m_Layer: 5 + m_Layer: 8 m_Name: Graphic m_TagString: Untagged m_Icon: {fileID: 0} @@ -7084,7 +7534,7 @@ GameObject: - component: {fileID: 781200687} - component: {fileID: 781200689} - component: {fileID: 781200690} - m_Layer: 5 + m_Layer: 8 m_Name: GameIcon m_TagString: Untagged m_Icon: {fileID: 0} @@ -7204,7 +7654,7 @@ GameObject: - component: {fileID: 793382141} - component: {fileID: 793382144} - component: {fileID: 793382143} - m_Layer: 5 + m_Layer: 8 m_Name: Graphic m_TagString: Untagged m_Icon: {fileID: 0} @@ -7340,8 +7790,13 @@ MonoBehaviour: track: 0 length: 0 valA: 0 + valB: 0 + valC: 0 type: 0 ease: 0 + colorA: {r: 0, g: 0, b: 0, a: 0} + colorB: {r: 0, g: 0, b: 0, a: 0} + colorC: {r: 0, g: 0, b: 0, a: 0} datamodel: eventObj: {fileID: 0} length: 0 @@ -7551,6 +8006,7 @@ RectTransform: - {fileID: 396879233} - {fileID: 345301791} - {fileID: 184838088} + - {fileID: 1443721747} m_Father: {fileID: 1050802356} m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -7602,15 +8058,22 @@ MonoBehaviour: IntegerP: {fileID: 396879232} FloatP: {fileID: 345301789} DropdownP: {fileID: 184838087} + ColorP: {fileID: 1443721746} entity: beat: 0 track: 0 length: 0 valA: 0 + valB: 0 + valC: 0 type: 0 ease: 0 + colorA: {r: 0, g: 0, b: 0, a: 0} + colorB: {r: 0, g: 0, b: 0, a: 0} + colorC: {r: 0, g: 0, b: 0, a: 0} datamodel: eventObj: {fileID: 0} + canDisable: 1 --- !u!1 &830672828 GameObject: m_ObjectHideFlags: 0 @@ -7772,7 +8235,7 @@ GameObject: - component: {fileID: 841081096} - component: {fileID: 841081098} - component: {fileID: 841081097} - m_Layer: 5 + m_Layer: 8 m_Name: Current m_TagString: Untagged m_Icon: {fileID: 0} @@ -8235,7 +8698,7 @@ GameObject: - component: {fileID: 953708373} - component: {fileID: 953708376} - component: {fileID: 953708375} - m_Layer: 5 + m_Layer: 8 m_Name: Graphic m_TagString: Untagged m_Icon: {fileID: 0} @@ -8876,7 +9339,7 @@ GameObject: - component: {fileID: 1038760565} - component: {fileID: 1038760567} - component: {fileID: 1038760566} - m_Layer: 5 + m_Layer: 8 m_Name: Image m_TagString: Untagged m_Icon: {fileID: 0} @@ -8949,7 +9412,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1050802356} - m_Layer: 5 + - component: {fileID: 1050802357} + m_Layer: 8 m_Name: GameObjectSelecter m_TagString: Untagged m_Icon: {fileID: 0} @@ -8985,6 +9449,19 @@ RectTransform: m_AnchoredPosition: {x: 231.018, y: 162.97} m_SizeDelta: {x: 817.953, y: 314.07} m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1050802357 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1050802355} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c29b4f68c2b2e3849af4ab850c275cea, type: 3} + m_Name: + m_EditorClassIdentifier: + eventParameterManager: {fileID: 830452354} --- !u!1 &1055877577 GameObject: m_ObjectHideFlags: 0 @@ -9131,7 +9608,7 @@ GameObject: - component: {fileID: 1056099135} - component: {fileID: 1056099136} - component: {fileID: 1056099133} - m_Layer: 5 + m_Layer: 8 m_Name: GameEventSelector m_TagString: Untagged m_Icon: {fileID: 0} @@ -9509,6 +9986,81 @@ RectTransform: m_AnchoredPosition: {x: -382, y: 147.99997} m_SizeDelta: {x: 515.94, y: 344} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1123278334 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1123278335} + - component: {fileID: 1123278337} + - component: {fileID: 1123278336} + m_Layer: 5 + m_Name: Pointer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1123278335 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1123278334} + m_LocalRotation: {x: -0, y: -0, z: 0.7071064, w: -0.7071072} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 723094753} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: -90} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 127.921005, y: 104.819984} + m_SizeDelta: {x: 27.82, y: 21.592} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1123278336 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1123278334} + 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.18823531, g: 0.18823531, b: 0.18823531, a: 1} + 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: 21300000, guid: e3b85a6fda50d2343a8dfb2fc70c2b32, type: 3} + 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 &1123278337 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1123278334} + m_CullTransparentMesh: 1 --- !u!1 &1128012797 GameObject: m_ObjectHideFlags: 0 @@ -9595,7 +10147,7 @@ GameObject: - component: {fileID: 1149103345} - component: {fileID: 1149103347} - component: {fileID: 1149103346} - m_Layer: 5 + m_Layer: 8 m_Name: Event m_TagString: Untagged m_Icon: {fileID: 0} @@ -9731,7 +10283,7 @@ GameObject: - component: {fileID: 1154875947} - component: {fileID: 1154875944} - component: {fileID: 1154875946} - m_Layer: 5 + m_Layer: 8 m_Name: GridGameSelector m_TagString: Untagged m_Icon: {fileID: 0} @@ -11785,6 +12337,7 @@ MonoBehaviour: EditorThemeBTN: {fileID: 528192061} FullScreenBTN: {fileID: 151246938} discordDuringTesting: 0 + canSelect: 1 --- !u!114 &1423699438 MonoBehaviour: m_ObjectHideFlags: 0 @@ -11858,6 +12411,66 @@ MonoBehaviour: layer: {fileID: 1906769994} tempoLayer: {fileID: 1511927534} musicLayer: {fileID: 954835807} +--- !u!1 &1443721746 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1443721747} + - component: {fileID: 1443721748} + m_Layer: 5 + m_Name: Color + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1443721747 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1443721746} + 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_Children: + - {fileID: 537615368} + - {fileID: 1535224917} + - {fileID: 723094753} + m_Father: {fileID: 830452352} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 288.675, y: -25} + m_SizeDelta: {x: 537.35, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1443721748 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1443721746} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3b7c76a246115c1459c963e93f7db056, type: 3} + m_Name: + m_EditorClassIdentifier: + caption: {fileID: 537615369} + parameterManager: {fileID: 830452354} + slider: {fileID: 0} + inputField: {fileID: 0} + dropdown: {fileID: 0} + ColorBTN: {fileID: 1535224918} + ColorTable: {fileID: 723094753} + colorTableActive: 0 + colorPreview: {fileID: 1535224921} --- !u!1 &1453521077 GameObject: m_ObjectHideFlags: 0 @@ -12142,6 +12755,96 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1474986787} m_CullTransparentMesh: 1 +--- !u!1 &1489888670 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1489888671} + - component: {fileID: 1489888674} + - component: {fileID: 1489888673} + - component: {fileID: 1489888672} + m_Layer: 5 + m_Name: Color picker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1489888671 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1489888670} + 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_Children: [] + m_Father: {fileID: 723094753} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 12.209991} + m_SizeDelta: {x: -19.999998, y: -94.42} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1489888672 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1489888670} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: af3ff511a986a5c4e8dc1a7939e7b981, type: 3} + m_Name: + m_EditorClassIdentifier: + colorPickerShader: {fileID: 0} + image: {fileID: 1489888673} +--- !u!114 &1489888673 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1489888670} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 8a6d493ef83c61d45b80f5a22a814173, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + 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 &1489888674 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1489888670} + m_CullTransparentMesh: 0 --- !u!1 &1507800755 GameObject: m_ObjectHideFlags: 0 @@ -12372,6 +13075,141 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1511927530} m_CullTransparentMesh: 1 +--- !u!1 &1522319055 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1522319056} + - component: {fileID: 1522319058} + - component: {fileID: 1522319057} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1522319056 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1522319055} + 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_Children: + - {fileID: 426555698} + m_Father: {fileID: 723094753} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 10, y: -5} + m_SizeDelta: {x: -15, y: 23.2} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1522319057 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1522319055} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: '#' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} + m_sharedMaterial: {fileID: 5250768452915780979, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 22.9 + m_fontSizeBase: 22.9 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1522319058 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1522319055} + m_CullTransparentMesh: 1 --- !u!1 &1527251879 GameObject: m_ObjectHideFlags: 0 @@ -12595,6 +13433,276 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1534220298} m_CullTransparentMesh: 1 +--- !u!1 &1535224916 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1535224917} + - component: {fileID: 1535224920} + - component: {fileID: 1535224919} + - component: {fileID: 1535224918} + - component: {fileID: 1535224921} + m_Layer: 5 + m_Name: ColorBTN + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1535224917 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535224916} + 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_Children: [] + m_Father: {fileID: 1443721747} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 68.2, y: 0} + m_SizeDelta: {x: 100, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1535224918 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535224916} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1535224919} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1535224919 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535224916} + 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: 1, g: 1, b: 1, a: 1} + 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: 1 + 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 &1535224920 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535224916} + m_CullTransparentMesh: 1 +--- !u!114 &1535224921 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535224916} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5c2c42ee235f17049ab3792499eccc59, type: 3} + m_Name: + m_EditorClassIdentifier: + previewGraphic: {fileID: 1535224919} + colorPicker: {fileID: 1489888672} + hex: {fileID: 426555699} +--- !u!1 &1548381522 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1548381523} + - component: {fileID: 1548381525} + - component: {fileID: 1548381524} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1548381523 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1548381522} + 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_Children: [] + m_Father: {fileID: 575794484} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1548381524 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1548381522} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "FFFFFF\u200B" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: c2df694f599b22b42817910ff570a9df, type: 2} + m_sharedMaterial: {fileID: -5829441969153149921, guid: c2df694f599b22b42817910ff570a9df, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1548381525 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1548381522} + m_CullTransparentMesh: 1 --- !u!1 &1549727851 GameObject: m_ObjectHideFlags: 0 @@ -12605,7 +13713,7 @@ GameObject: m_Component: - component: {fileID: 1549727852} - component: {fileID: 1549727853} - m_Layer: 5 + m_Layer: 8 m_Name: GameObject m_TagString: Untagged m_Icon: {fileID: 0} @@ -14678,7 +15786,7 @@ MonoBehaviour: m_Calls: [] m_text: Integer m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: c2df694f599b22b42817910ff570a9df, type: 2} + m_fontAsset: {fileID: 11400000, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} m_sharedMaterial: {fileID: -5829441969153149921, guid: c2df694f599b22b42817910ff570a9df, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} @@ -14742,7 +15850,7 @@ MonoBehaviour: m_margin: {x: 0, y: 0, z: 0, w: 0} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 + m_hasFontAssetChanged: 1 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!222 &1882704220 @@ -15615,7 +16723,7 @@ GameObject: - component: {fileID: 1997273393} - component: {fileID: 1997273395} - component: {fileID: 1997273394} - m_Layer: 5 + m_Layer: 8 m_Name: Seperator m_TagString: Untagged m_Icon: {fileID: 0} @@ -17788,7 +18896,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: diff --git a/Assets/Scripts/Beatmap.cs b/Assets/Scripts/Beatmap.cs index 31d7a51e3..db55a52d8 100644 --- a/Assets/Scripts/Beatmap.cs +++ b/Assets/Scripts/Beatmap.cs @@ -1,5 +1,7 @@ using System; using System.Collections.Generic; +using UnityEngine; + using Newtonsoft.Json; using RhythmHeavenMania.Util; @@ -20,8 +22,13 @@ namespace RhythmHeavenMania public int track; [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public float length; [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public float valA; + [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public float valB; + [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public float valC; [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public int type; [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public EasingFunction.Ease ease; + [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public Color colorA; + [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public Color colorB; + [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public Color colorC; public string datamodel; [JsonIgnore] public Editor.Track.TimelineEventObj eventObj; diff --git a/Assets/Scripts/Conductor.cs b/Assets/Scripts/Conductor.cs index 702025e82..48387e1a5 100644 --- a/Assets/Scripts/Conductor.cs +++ b/Assets/Scripts/Conductor.cs @@ -73,6 +73,8 @@ namespace RhythmHeavenMania } GameManager.instance.SetCurrentEventToClosest(beat); + songPosBeat = beat; + songPositionInBeats = songPosBeat; } public void Play(float beat) diff --git a/Assets/Scripts/EventCaller.cs b/Assets/Scripts/EventCaller.cs index ac3838984..521891953 100644 --- a/Assets/Scripts/EventCaller.cs +++ b/Assets/Scripts/EventCaller.cs @@ -9,11 +9,8 @@ namespace RhythmHeavenMania public class EventCaller : MonoBehaviour { public Transform GamesHolder; - public float currentBeat; - public float currentLength; - public float currentValA; + public Beatmap.Entity currentEntity = new Beatmap.Entity(); public string currentSwitchGame; - public int currentType; public delegate void EventCallback(); @@ -37,6 +34,8 @@ namespace RhythmHeavenMania { instance = this; + currentEntity = new Beatmap.Entity(); + Minigames.Init(this); List minigamesInBeatmap = new List(); @@ -57,7 +56,7 @@ namespace RhythmHeavenMania private void Update() { if (GameManager.instance.currentEvent >= 0 && GameManager.instance.currentEvent < GameManager.instance.Beatmap.entities.Count) - currentBeat = GameManager.instance.Beatmap.entities[GameManager.instance.currentEvent].beat; + currentEntity.beat = GameManager.instance.Beatmap.entities[GameManager.instance.currentEvent].beat; } public void CallEvent(string event_) @@ -67,9 +66,7 @@ namespace RhythmHeavenMania try { - currentLength = GameManager.instance.Beatmap.entities[GameManager.instance.currentEvent].length; - currentType = GameManager.instance.Beatmap.entities[GameManager.instance.currentEvent].type; - currentValA = GameManager.instance.Beatmap.entities[GameManager.instance.currentEvent].valA; + currentEntity = (Beatmap.Entity)GameManager.instance.Beatmap.entities[GameManager.instance.currentEvent].Clone(); if (details.Length > 2) currentSwitchGame = details[2]; diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs index 81dd3ced1..aebe4d554 100644 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/GameManager.cs @@ -23,6 +23,7 @@ namespace RhythmHeavenMania public Camera GameCamera, CursorCam; public CircleCursor CircleCursor; [HideInInspector] public GameObject GamesHolder; + public Games.Global.Flash fade; [Header("Games")] public string currentGame; @@ -35,6 +36,9 @@ namespace RhythmHeavenMania public float startBeat; private GameObject currentGameO; public bool autoplay; + + public event Action onBeatChanged; + public int BeatmapEntities() { return Beatmap.entities.Count + Beatmap.tempoChanges.Count; @@ -57,7 +61,10 @@ namespace RhythmHeavenMania sp.color = Color.black; sp.sprite = Resources.Load("Sprites/GeneralPurpose/Square"); sp.sortingOrder = 30000; - // this.gameObject.layer = 3; + this.gameObject.layer = 3; + + GameObject fade = new GameObject(); + this.fade = fade.AddComponent(); if (txt != null) { @@ -177,6 +184,7 @@ namespace RhythmHeavenMania public void Play(float beat) { StartCoroutine(PlayCo(beat)); + onBeatChanged?.Invoke(beat); } private IEnumerator PlayCo(float beat) @@ -204,6 +212,7 @@ namespace RhythmHeavenMania { Conductor.instance.Stop(beat); SetCurrentEventToClosest(beat); + onBeatChanged?.Invoke(beat); } #endregion @@ -219,6 +228,7 @@ namespace RhythmHeavenMania public void SetCurrentEventToClosest(float beat) { SortEventsList(); + onBeatChanged?.Invoke(beat); if (Beatmap.entities.Count > 0) { List entities = Beatmap.entities.Select(c => c.beat).ToList(); diff --git a/Assets/Scripts/Games/Global.meta b/Assets/Scripts/Games/Global.meta new file mode 100644 index 000000000..6947a6620 --- /dev/null +++ b/Assets/Scripts/Games/Global.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2a3d05dfe6f7cf84398844e087744cd0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Games/Global/Flash.cs b/Assets/Scripts/Games/Global/Flash.cs new file mode 100644 index 000000000..9a8ddba8b --- /dev/null +++ b/Assets/Scripts/Games/Global/Flash.cs @@ -0,0 +1,116 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +using RhythmHeavenMania.Util; +using System.Linq; + +namespace RhythmHeavenMania.Games.Global +{ + public class Flash : MonoBehaviour + { + public float startBeat; + public float length; + + public Color startColor; + public Color endColor; + + public EasingFunction.Ease ease; + private EasingFunction.Function func; + + private SpriteRenderer spriteRenderer; + + [SerializeField] private Color currentCol; + + private List allFadeEvents = new List(); + + private void Start() + { + this.gameObject.transform.SetParent(GameManager.instance.gameObject.transform); + this.gameObject.layer = 3; + this.gameObject.transform.localScale = new Vector3(1, 1); + + spriteRenderer = this.gameObject.AddComponent(); + + spriteRenderer.color = startColor; + spriteRenderer.sortingOrder = 30001; + spriteRenderer.sprite = Resources.Load("Sprites/GeneralPurpose/Square"); + + func = EasingFunction.GetEasingFunction(EasingFunction.Ease.Linear); + + GameManager.instance.onBeatChanged += OnBeatChanged; + } + + public void OnBeatChanged(float beat) + { + // I really need to create a class for objects that are constant like the Spaceball Camera + // startColor = new Color(1, 1, 1, 0); + // endColor = new Color(1, 1, 1, 0); + + allFadeEvents = EventCaller.GetAllInGameManagerList("gameManager", new string[] { "flash" }); + Test(beat); + } + + private void Test(float beat) + { + Color startCol = Color.white; + Color endCol = Color.white; + + bool override_ = false; + + if (allFadeEvents.Count > 0) + { + Beatmap.Entity startEntity = null; + + for (int i = 0; i < allFadeEvents.Count; i++) + { + if (allFadeEvents[i].beat <= beat) + { + startEntity = allFadeEvents[i]; + } + else if (i == 0 && allFadeEvents[i].beat > beat) + { + startEntity = allFadeEvents[i]; + override_ = true; + startCol = new Color(1, 1, 1, 0); + endCol = new Color(1, 1, 1, 0); + } + } + + if (startEntity != null) + { + if (!override_) + { + Color colA = startEntity.colorA; + Color colB = startEntity.colorB; + + startCol = new Color(colA.r, colA.g, colA.b, startEntity.valA); + endCol = new Color(colB.r, colB.g, colB.b, startEntity.valB); + } + + SetFade(startEntity.beat, startEntity.length, startCol, endCol, startEntity.ease); + } + } + } + + public void SetFade(float beat, float length, Color startCol, Color endCol, EasingFunction.Ease ease) + { + this.startBeat = beat; + this.length = length; + this.startColor = startCol; + this.endColor = endCol; + this.ease = ease; + func = EasingFunction.GetEasingFunction(ease); + } + + private void Update() + { + Test(Conductor.instance.songPositionInBeats); + float normalizedBeat = Conductor.instance.GetPositionFromBeat(startBeat, length); + // normalizedBeat = Mathf.Clamp01(normalizedBeat); + + currentCol = new Color(func(startColor.r, endColor.r, normalizedBeat), func(startColor.g, endColor.g, normalizedBeat), func(startColor.b, endColor.b, normalizedBeat), func(startColor.a, endColor.a, normalizedBeat)); + spriteRenderer.color = currentCol; + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Games/Global/Flash.cs.meta b/Assets/Scripts/Games/Global/Flash.cs.meta new file mode 100644 index 000000000..3deae9cdd --- /dev/null +++ b/Assets/Scripts/Games/Global/Flash.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 16a839834af94a042a3feb7a4762bafd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Games/Spaceball/Spaceball.cs b/Assets/Scripts/Games/Spaceball/Spaceball.cs index 0e5cb31f6..18a1e9e7f 100644 --- a/Assets/Scripts/Games/Spaceball/Spaceball.cs +++ b/Assets/Scripts/Games/Spaceball/Spaceball.cs @@ -97,7 +97,6 @@ namespace RhythmHeavenMania.Games.Spaceball } else { - EasingFunction.Ease ease = EasingFunction.Ease.EaseInOutCirc; EasingFunction.Function func = EasingFunction.GetEasingFunction(lastEase); float newPosZ = func(lastCamDistance, currentZoomCamDistance, normalizedBeat); diff --git a/Assets/Scripts/LevelEditor/BoxSelection.cs b/Assets/Scripts/LevelEditor/BoxSelection.cs index b2b67e3a9..5399ff0e0 100644 --- a/Assets/Scripts/LevelEditor/BoxSelection.cs +++ b/Assets/Scripts/LevelEditor/BoxSelection.cs @@ -146,7 +146,7 @@ namespace RhythmHeavenMania.Editor private void SelectEvents() { - if (!Input.GetKey(KeyCode.LeftShift) && !Timeline.instance.InteractingWithEvents() && !Timeline.instance.MouseInRectTransform(Editor.instance.eventSelectorBG)) Selections.instance.DeselectAll(); + if (!Input.GetKey(KeyCode.LeftShift) && !Timeline.instance.InteractingWithEvents() && Editor.instance.canSelect) Selections.instance.DeselectAll(); int selected = 0; diff --git a/Assets/Scripts/LevelEditor/DisableSelectOnHover.cs b/Assets/Scripts/LevelEditor/DisableSelectOnHover.cs new file mode 100644 index 000000000..34cc40e1d --- /dev/null +++ b/Assets/Scripts/LevelEditor/DisableSelectOnHover.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.EventSystems; + +namespace RhythmHeavenMania.Editor +{ + public class DisableSelectOnHover : MonoBehaviour + { + public EventParameterManager eventParameterManager; + + // this is fucking retarded + private void LateUpdate() + { + eventParameterManager.canDisable = true; + for (int i = 0; i < transform.childCount; i++) + { + if (Editor.MouseInRectTransform(transform.GetChild(i).GetComponent())) + { + eventParameterManager.canDisable = false; + } + } + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/LevelEditor/DisableSelectOnHover.cs.meta b/Assets/Scripts/LevelEditor/DisableSelectOnHover.cs.meta new file mode 100644 index 000000000..90927aed3 --- /dev/null +++ b/Assets/Scripts/LevelEditor/DisableSelectOnHover.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c29b4f68c2b2e3849af4ab850c275cea +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/LevelEditor/Editor.cs b/Assets/Scripts/LevelEditor/Editor.cs index 0de6ddc64..cb42d22c0 100644 --- a/Assets/Scripts/LevelEditor/Editor.cs +++ b/Assets/Scripts/LevelEditor/Editor.cs @@ -56,6 +56,7 @@ namespace RhythmHeavenMania.Editor private string remixName = ""; private bool fullscreen; public bool discordDuringTesting = false; + public bool canSelect = true; public static Editor instance { get; private set; } @@ -63,6 +64,7 @@ namespace RhythmHeavenMania.Editor { instance = this; Initializer = GetComponent(); + canSelect = true; } public void Init() @@ -134,7 +136,7 @@ namespace RhythmHeavenMania.Editor } } - if (Timeline.instance.timelineState.selected) + if (Timeline.instance.timelineState.selected && Editor.instance.canSelect) { if (Input.GetMouseButtonUp(0)) { @@ -408,5 +410,10 @@ namespace RhythmHeavenMania.Editor { GameEventSelectorTitle.text = txt; } + + public static bool MouseInRectTransform(RectTransform rectTransform) + { + return (rectTransform.gameObject.activeSelf && RectTransformUtility.RectangleContainsScreenPoint(rectTransform, Input.mousePosition, Editor.instance.EditorCamera)); + } } } \ No newline at end of file diff --git a/Assets/Scripts/LevelEditor/EventSelector/EventParameterManager.cs b/Assets/Scripts/LevelEditor/EventSelector/EventParameterManager.cs index ca9d4fc74..24b992370 100644 --- a/Assets/Scripts/LevelEditor/EventSelector/EventParameterManager.cs +++ b/Assets/Scripts/LevelEditor/EventSelector/EventParameterManager.cs @@ -16,6 +16,7 @@ namespace RhythmHeavenMania.Editor [SerializeField] private GameObject IntegerP; [SerializeField] private GameObject FloatP; [SerializeField] private GameObject DropdownP; + [SerializeField] private GameObject ColorP; public Beatmap.Entity entity; @@ -23,6 +24,8 @@ namespace RhythmHeavenMania.Editor private int childCountAtStart; + public bool canDisable = true; + public static EventParameterManager instance { get; set; } private void Awake() @@ -39,7 +42,7 @@ namespace RhythmHeavenMania.Editor { if (Input.GetMouseButtonDown(0)) { - if (!Timeline.instance.MouseInRectTransform(Editor.instance.eventSelectorBG) && active) + if (canDisable && active) { Disable(); } @@ -107,6 +110,10 @@ namespace RhythmHeavenMania.Editor { prefab = DropdownP; } + else if (objType == typeof(Color)) + { + prefab = ColorP; + } GameObject input = Instantiate(prefab); input.transform.SetParent(this.gameObject.transform); diff --git a/Assets/Scripts/LevelEditor/EventSelector/EventPropertyPrefab.cs b/Assets/Scripts/LevelEditor/EventSelector/EventPropertyPrefab.cs index 81c1e7af4..3ab26e0d7 100644 --- a/Assets/Scripts/LevelEditor/EventSelector/EventPropertyPrefab.cs +++ b/Assets/Scripts/LevelEditor/EventSelector/EventPropertyPrefab.cs @@ -4,6 +4,7 @@ using UnityEngine; using UnityEngine.UI; using TMPro; +using Starpelly; using RhythmHeavenMania.Util; @@ -23,8 +24,14 @@ namespace RhythmHeavenMania.Editor [Space(10)] public TMP_Dropdown dropdown; - private string propertyName; + [Header("Color")] + [Space(10)] + public Button ColorBTN; + public RectTransform ColorTable; + public bool colorTableActive; + public ColorPreview colorPreview; + private string propertyName; public void SetProperties(string propertyName, object type, string caption) { @@ -97,6 +104,40 @@ namespace RhythmHeavenMania.Editor parameterManager.entity[propertyName] = (EasingFunction.Ease)dropdown.value; }); } + else if (objType == typeof(Color)) + { + colorPreview.colorPicker.onColorChanged += delegate + { + parameterManager.entity[propertyName] = (Color)colorPreview.colorPicker.color; + }; + + Color paramCol = (Color)parameterManager.entity[propertyName]; + + ColorBTN.onClick.AddListener(delegate + { + ColorTable.gameObject.SetActive(true); + colorTableActive = true; + colorPreview.ChangeColor(paramCol); + }); + + colorPreview.ChangeColor(paramCol); + ColorTable.gameObject.SetActive(false); + } + } + + private void Update() + { + if (colorTableActive) + { + if (!Editor.MouseInRectTransform(ColorTable)) + { + if (Input.GetMouseButtonDown(0)) + { + ColorTable.gameObject.SetActive(false); + colorTableActive = false; + } + } + } } } } \ No newline at end of file diff --git a/Assets/Scripts/LevelEditor/Timeline/Timeline.cs b/Assets/Scripts/LevelEditor/Timeline/Timeline.cs index bbf2c3803..92d6c9bb6 100644 --- a/Assets/Scripts/LevelEditor/Timeline/Timeline.cs +++ b/Assets/Scripts/LevelEditor/Timeline/Timeline.cs @@ -244,7 +244,7 @@ namespace RhythmHeavenMania.Editor.Track } - if (Input.GetMouseButton(1) && !Conductor.instance.isPlaying && MouseInRectTransform(TimelineGridSelect)) + if (Input.GetMouseButton(1) && !Conductor.instance.isPlaying && Editor.MouseInRectTransform(TimelineGridSelect)) { movingPlayback = true; } @@ -429,11 +429,6 @@ namespace RhythmHeavenMania.Editor.Track { return (this.gameObject.activeSelf && RectTransformUtility.RectangleContainsScreenPoint(TimelineContent.transform.parent.gameObject.GetComponent(), Input.mousePosition, Editor.instance.EditorCamera)); } - - public bool MouseInRectTransform(RectTransform rectTransform) - { - return (rectTransform.gameObject.activeSelf && RectTransformUtility.RectangleContainsScreenPoint(rectTransform, Input.mousePosition, Editor.instance.EditorCamera)); - } #endregion #region Functions diff --git a/Assets/Scripts/Minigames.cs b/Assets/Scripts/Minigames.cs index 72f3b8346..b51d82594 100644 --- a/Assets/Scripts/Minigames.cs +++ b/Assets/Scripts/Minigames.cs @@ -80,83 +80,112 @@ namespace RhythmHeavenMania new GameAction("switchGame", delegate { GameManager.instance.SwitchGame(eventCaller.currentSwitchGame); }, 0.5f), new GameAction("end", delegate { Debug.Log("end"); }), new GameAction("skill star", delegate { }, 1f, true), + new GameAction("flash", delegate + { + + /*Color colA = eventCaller.currentEntity.colorA; + Color colB = eventCaller.currentEntity.colorB; + + Color startCol = new Color(colA.r, colA.g, colA.b, eventCaller.currentEntity.valA); + Color endCol = new Color(colB.r, colB.g, colB.b, eventCaller.currentEntity.valB); + + GameManager.instance.fade.SetFade(eventCaller.currentEntity.beat, eventCaller.currentEntity.length, startCol, endCol, eventCaller.currentEntity.ease);*/ + + }, 1f, true, new List() + { + new Param("colorA", Color.white, "Start Color"), + new Param("colorB", Color.white, "End Color"), + new Param("valA", new EntityTypes.Float(0, 1, 1), "Start Opacity"), + new Param("valB", new EntityTypes.Float(0, 1, 0), "End Opacity"), + new Param("ease", EasingFunction.Ease.Linear, "Ease") + } ), }), new Minigame("countIn", "Count-Ins", "", false, true, new List() { new GameAction("cowbell", delegate { Jukebox.PlayOneShot("count-ins/cowbell"); }, 1f), - new GameAction("one", delegate { Jukebox.PlayOneShot("count-ins/one1"); }, 1f), - new GameAction("one (alt)", delegate { Jukebox.PlayOneShot("count-ins/one2"); }, 1f), - new GameAction("two", delegate { Jukebox.PlayOneShot("count-ins/two1"); }, 1f), - new GameAction("two (alt)", delegate { Jukebox.PlayOneShot("count-ins/two2"); }, 1f), - new GameAction("three", delegate { Jukebox.PlayOneShot("count-ins/three1"); }, 1f), - new GameAction("three (alt)", delegate { Jukebox.PlayOneShot("count-ins/three2"); }, 1f), - new GameAction("four", delegate { Jukebox.PlayOneShot("count-ins/four1"); }, 1f), - new GameAction("four (alt)", delegate { Jukebox.PlayOneShot("count-ins/four2"); }, 1f), - new GameAction("and", delegate { Jukebox.PlayOneShot("count-ins/and"); }, 0.5f), - new GameAction("go!", delegate { Jukebox.PlayOneShot("count-ins/go1"); }, 1f), - new GameAction("go! (alt)", delegate { Jukebox.PlayOneShot("count-ins/go2"); }, 1f), - new GameAction("ready!", delegate - { + new GameAction("one", delegate { Jukebox.PlayOneShot("count-ins/one1"); }, 1f), + new GameAction("one (alt)", delegate { Jukebox.PlayOneShot("count-ins/one2"); }, 1f), + new GameAction("two", delegate { Jukebox.PlayOneShot("count-ins/two1"); }, 1f), + new GameAction("two (alt)", delegate { Jukebox.PlayOneShot("count-ins/two2"); }, 1f), + new GameAction("three", delegate { Jukebox.PlayOneShot("count-ins/three1"); }, 1f), + new GameAction("three (alt)", delegate { Jukebox.PlayOneShot("count-ins/three2"); }, 1f), + new GameAction("four", delegate { Jukebox.PlayOneShot("count-ins/four1"); }, 1f), + new GameAction("four (alt)", delegate { Jukebox.PlayOneShot("count-ins/four2"); }, 1f), + new GameAction("and", delegate { Jukebox.PlayOneShot("count-ins/and"); }, 0.5f), + new GameAction("go!", delegate { Jukebox.PlayOneShot("count-ins/go1"); }, 1f), + new GameAction("go! (alt)", delegate { Jukebox.PlayOneShot("count-ins/go2"); }, 1f), + new GameAction("ready!", delegate + { MultiSound.Play(new MultiSound.Sound[] { - new MultiSound.Sound("count-ins/ready1", eventCaller.currentBeat), - new MultiSound.Sound("count-ins/ready2", eventCaller.currentBeat + 1f), + new MultiSound.Sound("count-ins/ready1", eventCaller.currentEntity.beat), + new MultiSound.Sound("count-ins/ready2", eventCaller.currentEntity.beat + 1f), }, false); }, 2f), }), new Minigame("forkLifter", "Fork Lifter", "FFFFFF", false, false, new List() { - new GameAction("pea", delegate { ForkLifter.instance.Flick(eventCaller.currentBeat, 0); }, 3), - new GameAction("topbun", delegate { ForkLifter.instance.Flick(eventCaller.currentBeat, 1); }, 3), - new GameAction("burger", delegate { ForkLifter.instance.Flick(eventCaller.currentBeat, 2); }, 3), - new GameAction("bottombun", delegate { ForkLifter.instance.Flick(eventCaller.currentBeat, 3); }, 3), + new GameAction("pea", delegate { ForkLifter.instance.Flick(eventCaller.currentEntity.beat, 0); }, 3), + new GameAction("topbun", delegate { ForkLifter.instance.Flick(eventCaller.currentEntity.beat, 1); }, 3), + new GameAction("burger", delegate { ForkLifter.instance.Flick(eventCaller.currentEntity.beat, 2); }, 3), + new GameAction("bottombun", delegate { ForkLifter.instance.Flick(eventCaller.currentEntity.beat, 3); }, 3), new GameAction("prepare", delegate { ForkLifter.instance.ForkLifterHand.Prepare(); }, 0.5f), new GameAction("gulp", delegate { ForkLifterPlayer.instance.Eat(); }), new GameAction("sigh", delegate { Jukebox.PlayOneShot("sigh"); }) }), new Minigame("clappyTrio", "The Clappy Trio", "29E7FF", false, false, new List() { - new GameAction("clap", delegate { ClappyTrio.instance.Clap(eventCaller.currentBeat, eventCaller.currentLength); }, 3, true), - new GameAction("bop", delegate { ClappyTrio.instance.Bop(eventCaller.currentBeat); } ), + new GameAction("clap", delegate { ClappyTrio.instance.Clap(eventCaller.currentEntity.beat, eventCaller.currentEntity.length); }, 3, true), + new GameAction("bop", delegate { ClappyTrio.instance.Bop(eventCaller.currentEntity.beat); } ), new GameAction("prepare", delegate { ClappyTrio.instance.Prepare(0); } ), new GameAction("prepare_alt", delegate { ClappyTrio.instance.Prepare(3); } ), }), new Minigame("spaceball", "Spaceball", "00A518", false, false, new List() { - new GameAction("shoot", delegate { Spaceball.instance.Shoot(eventCaller.currentBeat, false, eventCaller.currentType); }, 2, false), - new GameAction("shootHigh", delegate { Spaceball.instance.Shoot(eventCaller.currentBeat, true, eventCaller.currentType); }, 3), - new GameAction("costume", delegate { Spaceball.instance.Costume(eventCaller.currentType); }, 1f, false, new List() { new Param("type", new EntityTypes.Integer(0, 2), "type") } ), - new GameAction("alien", delegate { Spaceball.instance.alien.Show(eventCaller.currentBeat); } ), - new GameAction("camera", delegate { Spaceball.instance.OverrideCurrentZoom(); }, 4, true, new List() { new Param("valA", new EntityTypes.Integer(1, 320, 10), "zoom"), new Param("ease", EasingFunction.Ease.Linear, "ease") } ), + new GameAction("shoot", delegate { Spaceball.instance.Shoot(eventCaller.currentEntity.beat, false, eventCaller.currentEntity.type); }, 2, false), + new GameAction("shootHigh", delegate { Spaceball.instance.Shoot(eventCaller.currentEntity.beat, true, eventCaller.currentEntity.type); }, 3), + new GameAction("costume", delegate { Spaceball.instance.Costume(eventCaller.currentEntity.type); }, 1f, false, new List() + { + new Param("type", new EntityTypes.Integer(0, 2), "Type") + } ), + new GameAction("alien", delegate { Spaceball.instance.alien.Show(eventCaller.currentEntity.beat); } ), + new GameAction("camera", delegate { Spaceball.instance.OverrideCurrentZoom(); }, 4, true, new List() + { + new Param("valA", new EntityTypes.Integer(1, 320, 10), "Zoom"), + new Param("ease", EasingFunction.Ease.Linear, "Ease") + } ), new GameAction("prepare dispenser", delegate { Spaceball.instance.PrepareDispenser(); }, 1 ), }), new Minigame("karateman", "Karate Man", "70A8D8", false, false, new List() { - new GameAction("bop", delegate { KarateMan.instance.Bop(eventCaller.currentBeat, eventCaller.currentLength); }, 0.5f, true), - new GameAction("pot", delegate { KarateMan.instance.Shoot(eventCaller.currentBeat, 0); }, 2), - new GameAction("bulb", delegate { KarateMan.instance.Shoot(eventCaller.currentBeat, 1); }, 2), - new GameAction("rock", delegate { KarateMan.instance.Shoot(eventCaller.currentBeat, 2); }, 2), - new GameAction("ball", delegate { KarateMan.instance.Shoot(eventCaller.currentBeat, 3); }, 2), - new GameAction("kick", delegate { KarateMan.instance.Shoot(eventCaller.currentBeat, 4); }, 4.5f), - new GameAction("combo", delegate { KarateMan.instance.Combo(eventCaller.currentBeat); }, 4f), - new GameAction("hit3", delegate { KarateMan.instance.Hit3(eventCaller.currentBeat); }), - new GameAction("hit4", delegate { KarateMan.instance.Hit4(eventCaller.currentBeat); }), - new GameAction("prepare", delegate { KarateMan.instance.Prepare(eventCaller.currentBeat, eventCaller.currentLength); }, 1f, true), + new GameAction("bop", delegate { KarateMan.instance.Bop(eventCaller.currentEntity.beat, eventCaller.currentEntity.length); }, 0.5f, true), + new GameAction("pot", delegate { KarateMan.instance.Shoot(eventCaller.currentEntity.beat, 0); }, 2), + new GameAction("bulb", delegate { KarateMan.instance.Shoot(eventCaller.currentEntity.beat, 1); }, 2), + new GameAction("rock", delegate { KarateMan.instance.Shoot(eventCaller.currentEntity.beat, 2); }, 2), + new GameAction("ball", delegate { KarateMan.instance.Shoot(eventCaller.currentEntity.beat, 3); }, 2), + new GameAction("kick", delegate { KarateMan.instance.Shoot(eventCaller.currentEntity.beat, 4); }, 4.5f), + new GameAction("combo", delegate { KarateMan.instance.Combo(eventCaller.currentEntity.beat); }, 4f), + new GameAction("hit3", delegate { KarateMan.instance.Hit3(eventCaller.currentEntity.beat); }), + new GameAction("hit4", delegate { KarateMan.instance.Hit4(eventCaller.currentEntity.beat); }), + new GameAction("prepare", delegate { KarateMan.instance.Prepare(eventCaller.currentEntity.beat, eventCaller.currentEntity.length); }, 1f, true), new GameAction("bgfxon", delegate { KarateMan.instance.BGFXOn(); } ), new GameAction("bgfxoff", delegate { KarateMan.instance.BGFXOff(); }), - new GameAction("tacobell", delegate { KarateMan.instance.Shoot(eventCaller.currentBeat, 6); }, 2), + new GameAction("tacobell", delegate { KarateMan.instance.Shoot(eventCaller.currentEntity.beat, 6); }, 2), }), new Minigame("spaceSoccer", "Space Soccer", "B888F8", false, false, new List() { - new GameAction("ball dispense", delegate { SpaceSoccer.instance.Dispense(eventCaller.currentBeat); }, 2f), + new GameAction("ball dispense", delegate { SpaceSoccer.instance.Dispense(eventCaller.currentEntity.beat); }, 2f), new GameAction("keep-up", delegate { }, 4f, true), - new GameAction("high kick-toe!", delegate { }, 3f, false, new List() { new Param("valA", new EntityTypes.Float(0, 1), "swing") }), + new GameAction("high kick-toe!", delegate { }, 3f, false, new List() + { + new Param("valA", new EntityTypes.Float(0, 1), "Swing") + }), }), new Minigame("djSchool", "DJ School \n[Non-Playable]", "008c97", false, false, new List() { - new GameAction("bop", delegate { DJSchool.instance.Bop(eventCaller.currentBeat, eventCaller.currentLength); }, 0.5f, true), - new GameAction("break c'mon ooh", delegate { DJSchool.instance.BreakCmon(eventCaller.currentBeat); }, 3f), - new GameAction("scratch-o hey", delegate { DJSchool.instance.ScratchoHey(eventCaller.currentBeat); }, 3f), + new GameAction("bop", delegate { DJSchool.instance.Bop(eventCaller.currentEntity.beat, eventCaller.currentEntity.length); }, 0.5f, true), + new GameAction("break c'mon ooh", delegate { DJSchool.instance.BreakCmon(eventCaller.currentEntity.beat); }, 3f), + new GameAction("scratch-o hey", delegate { DJSchool.instance.ScratchoHey(eventCaller.currentEntity.beat); }, 3f), }), /*new Minigame("rhythmRally", "Rhythm Rally", "B888F8", true, false, new List() { diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 2455620e4..45a1eae33 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -13,7 +13,7 @@ TagManager: - UI - Debug - EventBlocks - - + - EventProperties - - -