From db24b58a6cc37d9459b86c7e7b9f23d4261e562c Mon Sep 17 00:00:00 2001 From: Texel Date: Sun, 29 Jan 2023 22:33:41 -0500 Subject: [PATCH] AI --- Assets/Playtest.unity | 1313 +++++++++++++++++++++ Assets/Playtest.unity.meta | 7 + Assets/Texel/AdditiveLoadScene.cs | 18 + Assets/Texel/AdditiveLoadScene.cs.meta | 11 + Assets/Texel/Gameplay/GameBoard.cs | 208 +++- ProjectSettings/EditorBuildSettings.asset | 5 +- ProjectSettings/GraphicsSettings.asset | 7 +- 7 files changed, 1560 insertions(+), 9 deletions(-) create mode 100644 Assets/Playtest.unity create mode 100644 Assets/Playtest.unity.meta create mode 100644 Assets/Texel/AdditiveLoadScene.cs create mode 100644 Assets/Texel/AdditiveLoadScene.cs.meta diff --git a/Assets/Playtest.unity b/Assets/Playtest.unity new file mode 100644 index 0000000..1e1ba09 --- /dev/null +++ b/Assets/Playtest.unity @@ -0,0 +1,1313 @@ +%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: 11 + 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: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + 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_UseShadowmask: 1 +--- !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 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &20737161 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 20737164} + - component: {fileID: 20737163} + - component: {fileID: 20737162} + m_Layer: 0 + m_Name: Testboard + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &20737162 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 20737161} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30516090f4fb2954fba121c0dfdfe3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + TilePrefab: {fileID: 6929433238081324627, guid: 2d35555d89dd5e94fb9527d52c616c11, + type: 3} + nextUI: {x: -1.3, y: 7, z: 0} + currentUI: {x: 6.3, y: 7, z: 0} + currentDrawers: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + nextDrawer: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + placementDrawer: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + Cursor: {fileID: 21300000, guid: 2b4cf7a8a6d213a40a7b76c8f50678b4, type: 3} + TileSize: 1 +--- !u!114 &20737163 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 20737161} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d402e786b88425242825f7fe22d84afb, type: 3} + m_Name: + m_EditorClassIdentifier: + EntityID: 0 + authorityID: -1 + paused: 0 + controlledByPlayer: 1 + controlledByAI: 1 + CollapseCycleTime: 1.5 + cursorX: 3 + cursorY: 9 + comboDelay: 0 + collapseCount: 0 + Options: 05020304 +--- !u!4 &20737164 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 20737161} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -7.5, y: -5, z: 0} + 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 &202609951 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 202609952} + m_Layer: 5 + m_Name: GameplayUIContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &202609952 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 202609951} + 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: 659473073} + m_Father: {fileID: 1052028636} + 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!1 &365406570 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 365406572} + - component: {fileID: 365406571} + m_Layer: 0 + m_Name: Cirno_1 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &365406571 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 365406570} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 143672873 + m_SortingLayer: 3 + m_SortingOrder: -500 + m_Sprite: {fileID: 21300000, guid: b802e5cdaaf1c254f8f66d42276d7f8a, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 1 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.5, y: 4} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &365406572 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 365406570} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 11.7, y: -4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &437458607 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 437458610} + - component: {fileID: 437458609} + - component: {fileID: 437458608} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &437458608 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 437458607} + 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 &437458609 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 437458607} + 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 &437458610 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 437458607} + 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: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &659473072 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 659473073} + m_Layer: 5 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &659473073 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 659473072} + 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: 202609952} + 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: 115.5, y: -0.008178711} + m_SizeDelta: {x: 231.01721, y: -0.016357422} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1052028632 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1052028636} + - component: {fileID: 1052028635} + - component: {fileID: 1052028634} + - component: {fileID: 1052028633} + m_Layer: 5 + m_Name: GameplayUiCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1052028633 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1052028632} + 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 &1052028634 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1052028632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 50 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1280, y: 720} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1052028635 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1052028632} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 1 + m_Camera: {fileID: 2045221403} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 801317867 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1052028636 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1052028632} + 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: 202609952} + m_Father: {fileID: 0} + m_RootOrder: 7 + 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!1 &1643099460 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1643099462} + - component: {fileID: 1643099461} + m_Layer: 0 + m_Name: Test + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1643099461 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1643099460} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 85106e56a76d0094b8198233c973020e, type: 3} + m_Name: + m_EditorClassIdentifier: + keyCodeControlls: + - keyCode: 273 + InputFunctions: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1930343878} + m_MethodName: SetScore + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 1000 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - keyCode: 274 + InputFunctions: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 7394357951300366995} + m_MethodName: SetScore + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 300 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - keyCode: 275 + InputFunctions: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 7394357951300366995} + m_MethodName: SetScore + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 99 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - keyCode: 32 + InputFunctions: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1930343878} + m_MethodName: SetWarning + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 5 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - keyCode: 9 + InputFunctions: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1930343878} + m_MethodName: SetCombo + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 99 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!4 &1643099462 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1643099460} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.5985813, y: -0.3691513, z: -6.995772} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1930343878 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 1189229114797370561, guid: 7ec9521376920ea43b041df0b398984f, + type: 3} + m_PrefabInstance: {fileID: 4751426680149977899} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f89c54e527a19704197d23e16e9d61a7, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1941057813 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1941057815} + - component: {fileID: 1941057814} + m_Layer: 0 + m_Name: Cirno_1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &1941057814 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1941057813} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 143672873 + m_SortingLayer: 3 + m_SortingOrder: -500 + m_Sprite: {fileID: 21300000, guid: b802e5cdaaf1c254f8f66d42276d7f8a, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.5, y: 4} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1941057815 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1941057813} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -11.7, y: -4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2045221401 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2045221404} + - component: {fileID: 2045221403} + - component: {fileID: 2045221402} + - component: {fileID: 2045221405} + 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 &2045221402 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2045221401} + m_Enabled: 1 +--- !u!20 &2045221403 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2045221401} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, 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: 8 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &2045221404 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2045221401} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -16.78} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2045221405 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2045221401} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 948f4100a11a5c24981795d21301da5c, type: 3} + m_Name: + m_EditorClassIdentifier: + volumeTrigger: {fileID: 2045221404} + volumeLayer: + serializedVersion: 2 + m_Bits: 512 + stopNaNPropagation: 1 + finalBlitToCameraTarget: 0 + antialiasingMode: 1 + temporalAntialiasing: + jitterSpread: 0.75 + sharpness: 0.25 + stationaryBlending: 0.95 + motionBlending: 0.85 + subpixelMorphologicalAntialiasing: + quality: 2 + fastApproximateAntialiasing: + fastMode: 0 + keepAlpha: 0 + fog: + enabled: 1 + excludeSkybox: 1 + debugLayer: + lightMeter: + width: 512 + height: 256 + showCurves: 1 + histogram: + width: 512 + height: 256 + channel: 3 + waveform: + exposure: 0.12 + height: 256 + vectorscope: + size: 256 + exposure: 0.12 + overlaySettings: + linearDepth: 0 + motionColorIntensity: 4 + motionGridSize: 64 + colorBlindnessType: 0 + colorBlindnessStrength: 1 + m_Resources: {fileID: 11400000, guid: d82512f9c8e5d4a4d938b575d47f88d4, type: 2} + m_ShowToolkit: 0 + m_ShowCustomSorter: 0 + breakBeforeColorGrading: 0 + m_BeforeTransparentBundles: [] + m_BeforeStackBundles: [] + m_AfterStackBundles: [] +--- !u!1001 &4733092873744316084 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4733092873663278232, guid: 6618cff2b5356d1448d9ffa20b70727d, + type: 3} + propertyPath: m_RootOrder + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 4733092873663278232, guid: 6618cff2b5356d1448d9ffa20b70727d, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4733092873663278232, guid: 6618cff2b5356d1448d9ffa20b70727d, + type: 3} + propertyPath: m_LocalPosition.y + value: -0.16 + objectReference: {fileID: 0} + - target: {fileID: 4733092873663278232, guid: 6618cff2b5356d1448d9ffa20b70727d, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4733092873663278232, guid: 6618cff2b5356d1448d9ffa20b70727d, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4733092873663278232, guid: 6618cff2b5356d1448d9ffa20b70727d, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4733092873663278232, guid: 6618cff2b5356d1448d9ffa20b70727d, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4733092873663278232, guid: 6618cff2b5356d1448d9ffa20b70727d, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4733092873663278232, guid: 6618cff2b5356d1448d9ffa20b70727d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4733092873663278232, guid: 6618cff2b5356d1448d9ffa20b70727d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4733092873663278232, guid: 6618cff2b5356d1448d9ffa20b70727d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4733092873663278238, guid: 6618cff2b5356d1448d9ffa20b70727d, + type: 3} + propertyPath: m_Name + value: Background + objectReference: {fileID: 0} + - target: {fileID: 4733092874093700698, guid: 6618cff2b5356d1448d9ffa20b70727d, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 6618cff2b5356d1448d9ffa20b70727d, type: 3} +--- !u!1001 &4751426680149977899 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 5379007316183543626, guid: 7ec9521376920ea43b041df0b398984f, + type: 3} + propertyPath: m_Name + value: Player2Board + objectReference: {fileID: 0} + - target: {fileID: 5379007316183543626, guid: 7ec9521376920ea43b041df0b398984f, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5379007316183543627, guid: 7ec9521376920ea43b041df0b398984f, + type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 5379007316183543627, guid: 7ec9521376920ea43b041df0b398984f, + type: 3} + propertyPath: m_LocalPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 5379007316183543627, guid: 7ec9521376920ea43b041df0b398984f, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5379007316183543627, guid: 7ec9521376920ea43b041df0b398984f, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5379007316183543627, guid: 7ec9521376920ea43b041df0b398984f, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5379007316183543627, guid: 7ec9521376920ea43b041df0b398984f, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5379007316183543627, guid: 7ec9521376920ea43b041df0b398984f, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5379007316183543627, guid: 7ec9521376920ea43b041df0b398984f, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5379007316183543627, guid: 7ec9521376920ea43b041df0b398984f, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5379007316183543627, guid: 7ec9521376920ea43b041df0b398984f, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5379007316183543627, guid: 7ec9521376920ea43b041df0b398984f, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 7ec9521376920ea43b041df0b398984f, type: 3} +--- !u!1001 &5701687555181350042 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 5701687554350559536, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_Name + value: PaperTextureOverlay + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_Pivot.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559540, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5701687554350559543, guid: ea69c30046595724aa7abcecd81deb32, + type: 3} + propertyPath: m_Camera + value: + objectReference: {fileID: 2045221403} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: ea69c30046595724aa7abcecd81deb32, type: 3} +--- !u!1001 &7394357951300366994 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 7910694390081336250, guid: 55ee90197a494d54eb9b01aad0a7527e, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7910694390081336250, guid: 55ee90197a494d54eb9b01aad0a7527e, + type: 3} + propertyPath: m_LocalPosition.x + value: -5 + objectReference: {fileID: 0} + - target: {fileID: 7910694390081336250, guid: 55ee90197a494d54eb9b01aad0a7527e, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7910694390081336250, guid: 55ee90197a494d54eb9b01aad0a7527e, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7910694390081336250, guid: 55ee90197a494d54eb9b01aad0a7527e, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7910694390081336250, guid: 55ee90197a494d54eb9b01aad0a7527e, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7910694390081336250, guid: 55ee90197a494d54eb9b01aad0a7527e, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7910694390081336250, guid: 55ee90197a494d54eb9b01aad0a7527e, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7910694390081336250, guid: 55ee90197a494d54eb9b01aad0a7527e, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7910694390081336250, guid: 55ee90197a494d54eb9b01aad0a7527e, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7910694390081336250, guid: 55ee90197a494d54eb9b01aad0a7527e, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7910694390081336251, guid: 55ee90197a494d54eb9b01aad0a7527e, + type: 3} + propertyPath: m_Name + value: Plaer1Board + objectReference: {fileID: 0} + - target: {fileID: 7910694390081336251, guid: 55ee90197a494d54eb9b01aad0a7527e, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7910694390442910741, guid: 55ee90197a494d54eb9b01aad0a7527e, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 55ee90197a494d54eb9b01aad0a7527e, type: 3} +--- !u!114 &7394357951300366995 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4030301178228994096, guid: 55ee90197a494d54eb9b01aad0a7527e, + type: 3} + m_PrefabInstance: {fileID: 7394357951300366994} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f89c54e527a19704197d23e16e9d61a7, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &7450013623193215860 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 5781547240168325573, guid: bdd4386fa58e67142a500ae58dfb8f30, + type: 3} + propertyPath: m_Name + value: PostProcessingObj + objectReference: {fileID: 0} + - target: {fileID: 6561464763569930962, guid: bdd4386fa58e67142a500ae58dfb8f30, + type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 6561464763569930962, guid: bdd4386fa58e67142a500ae58dfb8f30, + type: 3} + propertyPath: m_LocalPosition.x + value: 0.14437793 + objectReference: {fileID: 0} + - target: {fileID: 6561464763569930962, guid: bdd4386fa58e67142a500ae58dfb8f30, + type: 3} + propertyPath: m_LocalPosition.y + value: -0.09988037 + objectReference: {fileID: 0} + - target: {fileID: 6561464763569930962, guid: bdd4386fa58e67142a500ae58dfb8f30, + type: 3} + propertyPath: m_LocalPosition.z + value: -86.22787 + objectReference: {fileID: 0} + - target: {fileID: 6561464763569930962, guid: bdd4386fa58e67142a500ae58dfb8f30, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6561464763569930962, guid: bdd4386fa58e67142a500ae58dfb8f30, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6561464763569930962, guid: bdd4386fa58e67142a500ae58dfb8f30, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6561464763569930962, guid: bdd4386fa58e67142a500ae58dfb8f30, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6561464763569930962, guid: bdd4386fa58e67142a500ae58dfb8f30, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6561464763569930962, guid: bdd4386fa58e67142a500ae58dfb8f30, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6561464763569930962, guid: bdd4386fa58e67142a500ae58dfb8f30, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: bdd4386fa58e67142a500ae58dfb8f30, type: 3} diff --git a/Assets/Playtest.unity.meta b/Assets/Playtest.unity.meta new file mode 100644 index 0000000..1867048 --- /dev/null +++ b/Assets/Playtest.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c77b807962276e44693a3cd50bf4a8e6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Texel/AdditiveLoadScene.cs b/Assets/Texel/AdditiveLoadScene.cs new file mode 100644 index 0000000..ff475ce --- /dev/null +++ b/Assets/Texel/AdditiveLoadScene.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class AdditiveLoadScene : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Texel/AdditiveLoadScene.cs.meta b/Assets/Texel/AdditiveLoadScene.cs.meta new file mode 100644 index 0000000..8290b07 --- /dev/null +++ b/Assets/Texel/AdditiveLoadScene.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 38488c7df686c5f4b84695bb26ac357a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Texel/Gameplay/GameBoard.cs b/Assets/Texel/Gameplay/GameBoard.cs index 8a2aa66..571cdd3 100644 --- a/Assets/Texel/Gameplay/GameBoard.cs +++ b/Assets/Texel/Gameplay/GameBoard.cs @@ -48,6 +48,19 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize { [ReadOnly] public float collapseCount; + [Header("AI Settings")] + [ReadOnly] + public float aiDowntime = 0f; + [Tooltip("Time it takes AI to think of move")] + public float aiThinkTime = 1f; + [Tooltip("Time it takes for AI to move between states")] + public float aiAdvanceTime = 0.2f; + [Tooltip("Time it takes for AI to move the cursor")] + public float aiCursorMoveDelay = 0.1f; + + public AIPhase aiPhase = AIPhase.None; + public enum AIPhase { None, Thinking, LocationC, LocationB, LocationA, Drop } + void UpdateControls() { // Scan the board for tile activations board = board.Activate(out int activations); @@ -60,19 +73,120 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize { board = board.BreakPending(this, true); board = board.Collapse(out _); } - } else { + } + else { Collapse(); comboDelay = 1.5f; // Half second combo delay } - } else { + } + else { board = board.Collapse(out _); + } - if (controlledByPlayer) { - PlayerControls(); + if (controlledByPlayer) + PlayerControls(); + + if (controlledByAI) + UpdateAI(); + } + + + [ReadOnly] + public int aiX, aiY; + + void UpdateAI() { + if (Recommended == null || !Recommended.isValid(board)) { + SolveRecommendedMove(); + aiDowntime = aiThinkTime; + aiPhase = AIPhase.Thinking; + Debug.LogFormat("AI Move: {0},{1}", Recommended.location.x, Recommended.location.y); + } + + aiDowntime -= Time.deltaTime; + + if (aiDowntime < 0) { + if (aiPhase == AIPhase.Thinking) { + aiPhase = AIPhase.LocationC; + aiDowntime = aiAdvanceTime; + return; + } + + if (aiPhase == AIPhase.LocationC) { + var dir = CursorTowards(Recommended.locationC); + + (aiX, aiY) = Recommended.locationC; + + // FIXME: AI Cheats by restacking + Current.first = MoveDir.None; + Current.second = MoveDir.None; + + if (dir == MoveDir.None && comboDelay <= 0) { + aiPhase = AIPhase.LocationB; + aiDowntime = aiAdvanceTime; + } + else { + MoveCursor(dir); + aiDowntime = aiCursorMoveDelay; + } + return; + } + + if (aiPhase == AIPhase.LocationB) { + var dir = CursorTowards(Recommended.locationB); + (aiX, aiY) = Recommended.locationB; + + if (dir == MoveDir.None) { + aiPhase = AIPhase.LocationA; + aiDowntime = aiAdvanceTime; + } + else { + MoveCursor(dir); + aiDowntime = aiCursorMoveDelay; + } + return; + } + + if (aiPhase == AIPhase.LocationA) { + var dir = CursorTowards(Recommended.location); + (aiX, aiY) = Recommended.location; + + if (dir == MoveDir.None) { + aiPhase = AIPhase.Drop; + aiDowntime = aiAdvanceTime; + } + else { + MoveCursor(dir); + aiDowntime = aiCursorMoveDelay; + } + return; + } + + if (aiPhase == AIPhase.Drop) { + Drop(); + aiPhase = AIPhase.None; + Recommended = null; + aiDowntime = aiAdvanceTime; } } } + public MoveDir CursorTowards((int x, int y) p) { + var (x, y) = p; + + if (x < cursorX) + return MoveDir.Left; + if (x > cursorX) + return MoveDir.Right; + + if (y > cursorY) + return MoveDir.Up; + if (y < cursorY) + return MoveDir.Down; + + return MoveDir.None; + + } + public void MoveCursor(MoveDir d) { var (dx,dy) = d.ToPair(); cursorX += dx; @@ -147,10 +261,47 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize { // AI Solver [ContextMenu("Recommend Move")] public void SolveRecommendedMove() { + // For test validation: + if (Current == null) { + TestBoard(); + } + // First, create the sim board var simBoard = board.SelfCopy(); ValidateMoves(); + + var Options = new List<(Move m, BoardState result, int activations)>(); + foreach(var poss in PossibleMoves) { + // Create a move with our pieces and possible location + var potential = new Move() { + location = poss.location, + first = poss.first, + second = poss.second, + triplet = Current.triplet + }; + + // Skip illegal placements + if (!potential.isValid(simBoard)) continue; + + var pBoard = simBoard.SelfCopy(); + pBoard = pBoard.Place(potential); + pBoard = pBoard.SimulateRecursive(this, out int activations); + + Options.Add((potential, pBoard, activations)); + } + + Debug.LogFormat("Evaluated {0} Moves.", Options.Count); + + var ordered = + Options + .OrderByDescending(o => o.activations) // First Priority, total attack size\ + .ThenBy(o => o.result.TallestStack()) // Lower columns + .ThenByDescending(o => o.result.PrimedStacks()) // Setup future attacks + .ThenByDescending(o => o.result.ExposedClusterSize()); // General bigness of moves + //.ThenBy(o => o.result.TallestStack()); // Lower columns + + Recommended = ordered.FirstOrDefault().m; } static List PossibleMoves; @@ -388,8 +539,12 @@ public class TileInfo { return this; } - public TileInfo SetPending() { - detail |= TileDetail.Pending; + public TileInfo SetPending(bool pending = true) { + if (pending) + detail |= TileDetail.Pending; + else + detail = detail & ~TileDetail.Pending; + return this; } @@ -477,6 +632,41 @@ public static class BoardLogic { ts[row] = ti; } + public static int PrimedStacks(this BoardState bs) { + int primedCount = 0; + foreach(var col in bs.state) { + var at = LowestAir(col); + + if (at < 1) continue; + + if (col[at].CombosWith(col[at - 1])) + primedCount += 1; + } + + return primedCount; + } + + public static int LowestAir(this TileStack ts) { + for(int y = 0; y < ts.Count; ++y) { + if (ts[y].isAir) return y; + } + return ts.Count; + } + + public static int ExposedClusterSize(this BoardState bs) { + Cluster whole = new Cluster(); + + for(int x = 0; x < bs.state.Count; ++x) { + var col = bs[x]; + var at = col.LowestAir(); + if (at < 1) continue; + + whole.AddRange(bs.Clusterize(x, at - 1)); + } + + return whole.Distinct().Count(); + } + public static bool StackHasMatches(this TileStack ts) { // Check up the length of the column for a match 3 for (int y = 0; y < ts.Count; ++y) { @@ -666,6 +856,10 @@ public static class BoardLogic { var (first, second, third) = m.triplet; + first.SetPending(false); + second.SetPending(false); + third.SetPending(false); + var (x, y) = m.location; //Debug.LogFormat("Placing at {0},{1}", x, y); @@ -864,7 +1058,7 @@ public class Move { if (loc.x < 0) return false; if (loc.x > mX) return false; if (loc.y < mY) return false; - if (loc.y > mY + 3) return false; + if (loc.y > mY + 2) return false; } // Validate that the board positions are empty diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 7047949..e730ab8 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -8,7 +8,10 @@ EditorBuildSettings: - enabled: 1 path: Assets/Scenes/MainMenuScene.unity guid: 259302c6bbed6234a948cfc4202af8f6 - - enabled: 1 + - enabled: 0 path: Assets/Scenes/PrototypeScene.unity guid: 22fd93c991ecfed42a89b618f6cb386b + - enabled: 1 + path: Assets/Playtest.unity + guid: c77b807962276e44693a3cd50bf4a8e6 m_configObjects: {} diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset index 6c2632a..4654e13 100644 --- a/ProjectSettings/GraphicsSettings.asset +++ b/ProjectSettings/GraphicsSettings.asset @@ -3,7 +3,7 @@ --- !u!30 &1 GraphicsSettings: m_ObjectHideFlags: 0 - serializedVersion: 12 + serializedVersion: 13 m_Deferred: m_Mode: 1 m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} @@ -31,6 +31,9 @@ GraphicsSettings: m_AlwaysIncludedShaders: - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} m_PreloadedShaders: [] m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} @@ -55,3 +58,5 @@ GraphicsSettings: m_AlbedoSwatchInfos: [] m_LightsUseLinearIntensity: 0 m_LightsUseColorTemperature: 0 + m_LogWhenShaderIsCompiled: 0 + m_AllowEnlightenSupportForUpgradedProject: 1