Меню выбора приза из витрины

This commit is contained in:
se_ga 2026-03-03 13:01:15 +03:00
parent 481e87ec3b
commit fe913acf9b
19 changed files with 1560 additions and 44 deletions

View File

@ -11349,7 +11349,7 @@ Material:
- _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
- _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0}
- _FaceColor: {r: 1, g: 1, b: 1, a: 1}
- _GlowColor: {r: 0, g: 0.086306095, b: 1, a: 1}
- _GlowColor: {r: 0.6607363, g: 1, b: 0, a: 1}
- _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767}
- _OutlineColor: {r: 0.554717, g: 0.554717, b: 0.554717, a: 1}
- _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1}

View File

@ -1518,6 +1518,58 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 60816060}
m_CullTransparentMesh: 1
--- !u!1 &61619036
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 61619037}
- component: {fileID: 61619038}
m_Layer: 5
m_Name: Vitrina GET prize
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &61619037
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 61619036}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1156431208}
m_Father: {fileID: 1122363135}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &61619038
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 61619036}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0fbdd1ebf4ccbd749bc539f64b181349, type: 3}
m_Name:
m_EditorClassIdentifier:
BoxesRoot: {fileID: 584665085}
BoxViewPrefab: {fileID: 2746415525172749219, guid: d506c6a0248bfe5408fbad9fa6c621c7, type: 3}
timer: 0
--- !u!1 &69209758
GameObject:
m_ObjectHideFlags: 0
@ -2916,6 +2968,140 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 128539489}
m_CullTransparentMesh: 1
--- !u!1 &130760983
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 130760984}
- component: {fileID: 130760986}
- component: {fileID: 130760985}
m_Layer: 5
m_Name: Title
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &130760984
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 130760983}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1156431208}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: 0, y: -75.20001}
m_SizeDelta: {x: 400, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &130760985
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 130760983}
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: "\u0412\u044B\u0431\u0435\u0440\u0438 \u043F\u0440\u0438\u0437!"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 3f10bbcf486189d4f95b8de6dc2e2177, type: 2}
m_sharedMaterial: {fileID: 4262305343556741190, guid: 3f10bbcf486189d4f95b8de6dc2e2177, 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: 50
m_fontSizeBase: 50
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 16
m_fontSizeMax: 64
m_fontStyle: 0
m_HorizontalAlignment: 2
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 &130760986
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 130760983}
m_CullTransparentMesh: 1
--- !u!1 &131572818
GameObject:
m_ObjectHideFlags: 0
@ -6087,6 +6273,7 @@ MonoBehaviour:
setPasswordPanel: {fileID: 131572818}
enterPasswordPanel: {fileID: 403995020}
soundManager: {fileID: 151433694}
vitrinaPanel: {fileID: 61619038}
--- !u!4 &259182280
Transform:
m_ObjectHideFlags: 0
@ -6209,6 +6396,7 @@ MonoBehaviour:
ImagePosition: {x: -172.5, y: 9.9}
ImageSize: 445
audioClip: {fileID: 8300000, guid: 7fb340d179cafc04cb2e4baa2ddde96f, type: 3}
vitrinaPanel: {fileID: 0}
--- !u!114 &259182291
MonoBehaviour:
m_ObjectHideFlags: 0
@ -13873,6 +14061,68 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 583807441}
m_CullTransparentMesh: 1
--- !u!1 &584665084
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 584665085}
- component: {fileID: 584665086}
m_Layer: 5
m_Name: BoxesRoot
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &584665085
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 584665084}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1156431208}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 350}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &584665086
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 584665084}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 4
m_Spacing: 0
m_ChildForceExpandWidth: 0
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!1 &589910082
GameObject:
m_ObjectHideFlags: 0
@ -16622,12 +16872,12 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 687989433}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -3.637, y: 3.562, z: 0}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -3.641001, y: 4.176, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2081516970}
m_Father: {fileID: 1346276943}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &693385447
GameObject:
@ -34440,10 +34690,11 @@ RectTransform:
- {fileID: 246835609}
- {fileID: 141381089}
- {fileID: 438536881}
- {fileID: 1603925512}
- {fileID: 1614501703}
- {fileID: 131572819}
- {fileID: 403995019}
- {fileID: 1603925512}
- {fileID: 61619037}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@ -35006,6 +35257,83 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1156371197}
m_CullTransparentMesh: 1
--- !u!1 &1156431207
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1156431208}
- component: {fileID: 1156431210}
- component: {fileID: 1156431209}
m_Layer: 5
m_Name: Panel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1156431208
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1156431207}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 130760984}
- {fileID: 584665085}
m_Father: {fileID: 61619037}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 1300, y: 800}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1156431209
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1156431207}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0, b: 0, a: 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: 1304898661, guid: bff7731f029e97345b55849f0e330c32, type: 3}
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 &1156431210
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1156431207}
m_CullTransparentMesh: 1
--- !u!1 &1159451701
GameObject:
m_ObjectHideFlags: 0
@ -39247,6 +39575,94 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1345158906}
m_CullTransparentMesh: 1
--- !u!1 &1346276942
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1346276943}
- component: {fileID: 1346276944}
m_Layer: 0
m_Name: pole_7-02
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1346276943
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1346276942}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.004, y: -1.149, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1751843760}
- {fileID: 1378069366}
- {fileID: 1749880614}
- {fileID: 687989434}
m_Father: {fileID: 1551328425}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &1346276944
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1346276942}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 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: 500331691
m_SortingLayer: 3
m_SortingOrder: 21
m_Sprite: {fileID: 21300000, guid: f4c29dd957b649f459c06694b71dc961, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 13.3375, y: 13.3375}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &1353094416
GameObject:
m_ObjectHideFlags: 0
@ -39484,12 +39900,12 @@ Transform:
m_GameObject: {fileID: 1378069365}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0.08000001, z: 0}
m_LocalPosition: {x: -0.004, y: 0.694, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 825470170}
m_Father: {fileID: 2081516970}
m_Father: {fileID: 1346276943}
m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
--- !u!199 &1378069367
ParticleSystemRenderer:
@ -47964,6 +48380,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1346276943}
- {fileID: 2081516970}
- {fileID: 266844764}
- {fileID: 1413855152}
@ -51511,11 +51928,11 @@ RectTransform:
m_LocalScale: {x: 8.86, y: 7.83, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2081516970}
m_Father: {fileID: 1346276943}
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.32000005}
m_AnchoredPosition: {x: -0.0040016174, y: 0.9340001}
m_SizeDelta: {x: 1, y: 0.94}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1749880615
@ -51607,12 +52024,12 @@ Transform:
m_GameObject: {fileID: 1751843759}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.0386, y: 0.151, z: 0}
m_LocalScale: {x: 1.0805469, y: 1.1246886, z: 1}
m_LocalPosition: {x: -0.042600922, y: 0.0654, z: 0}
m_LocalScale: {x: 1.0805469, y: 1.2613384, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1050612130}
m_Father: {fileID: 2081516970}
m_Father: {fileID: 1346276943}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &1751843761
SpriteRenderer:
@ -58507,7 +58924,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!4 &2081516970
Transform:
m_ObjectHideFlags: 0
@ -58520,11 +58937,7 @@ Transform:
m_LocalPosition: {x: 0, y: -0.535, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1751843760}
- {fileID: 1378069366}
- {fileID: 1749880614}
- {fileID: 687989434}
m_Children: []
m_Father: {fileID: 1551328425}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &2081516971

View File

@ -1,7 +1,5 @@
using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
using UnityEditor.Experimental.GraphView;
using UnityEngine;
public class StandTester : MonoBehaviour

View File

@ -0,0 +1,37 @@
using UnityEngine;
//ýòî áóäåò ïåðåä ïîêàçîì ïîáåäèòåëÿ.
public class VitrinaChoseState : IState
{
VitrinaPanel vitrinaPanel;
public VitrinaChoseState()
{
}
public void enter()
{
vitrinaPanel = GameManager.instance.vitrinaPanel;
//Òóò íà ñòàðòå ìîæíî ïîêàçàòü òèïà "ÇÀÃÐÓÇÊÀ ÂÈÒÐÈÍÛ" è ïîòîì ïåðåõîä ê íåé èëè ïàíåëü ðåçóëüòàòà.
if (!PrizeStandController.Initialized)//òî äàëüøå íåëüçÿ èäòè è íàäî âûõîäèòü.
{
}
vitrinaPanel.gameObject.SetActive(true);
}
public void update()
{
if (Input.GetKeyUp(KeyCode.Escape))
{
GameManager.instance.stateMachine.ChangeState(new ShowWinnerState(GameManager.instance.lastResult));
}
}
public void exit()
{
vitrinaPanel.gameObject.SetActive(false);
}
}

View File

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

View File

@ -432,6 +432,7 @@ public class GameManager : MonoBehaviour
public SoundManager soundManager;
public VitrinaPanel vitrinaPanel;
void Awake()
{
Cursor.lockState = CursorLockMode.Locked;
@ -455,7 +456,8 @@ public class GameManager : MonoBehaviour
SettingsManager.Initialize();
GetComponent<Logger>().Initialize();
//Тестируем пока что. Не прод
//Тестируем пока что. Не прод(ну ладно прод.)
ComWrapper.Initialize(ComNativeWrapper.ListPorts(), boardVersion);

View File

@ -4,8 +4,6 @@ using UnityEngine;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEditorInternal.VR;
/// <summary>

View File

@ -23,6 +23,7 @@ public static class PrizeStandController
/// string - сообщение в случае неуспеха
/// </summary>
public static event Action<bool, string> OpeningFinished;
public static bool Initialized { get; private set; }
private const string REQUEST_STAND_STATUS = "25";
private const string OPEN_BOX_PREFIX = "2501";
@ -34,7 +35,6 @@ public static class PrizeStandController
private static int handle = -1;
private static int boxesCount;
private static readonly SemaphoreSlim _lock = new(1, 1);
private static bool initialized = false;
private static ILogger _logger;
@ -74,7 +74,7 @@ public static class PrizeStandController
//Завершение
if (hasError)
{
initialized = false;
Initialized = false;
handle = -1;
boxesCount = 0;
@ -82,7 +82,7 @@ public static class PrizeStandController
}
else
{
initialized = true;
Initialized = true;
InitializationComplete?.Invoke(true, sb.ToString());
}
}
@ -167,7 +167,7 @@ public static class PrizeStandController
sb.AppendLine($"[Модуль витрины. Проверка перед открытием]");
//Проверка инициализации
if (!initialized)
if (!Initialized)
{
isOk = false;
sb.AppendLine("- Модуль не инициализирован.");

View File

@ -16,6 +16,7 @@ public class PrizeSystem : MonoBehaviour
[SerializeField] List<AudioClip> PrizeNotificationSounds;
[SerializeField] Notification prizeNotification;
[SerializeField] VitrinaPanel vitrinaPanel;
public static string key_cash = "STARTS";
public static string key_cashNul = "STARTSNUL";

View File

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

View File

@ -0,0 +1,265 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2746415525172749219
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2088872135426682425}
- component: {fileID: 203139204100656837}
m_Layer: 5
m_Name: Box
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2088872135426682425
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2746415525172749219}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2204232218633904823}
- {fileID: 4498290099248616890}
m_Father: {fileID: 0}
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: 200, y: 200}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &203139204100656837
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2746415525172749219}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a5d36bcd6084804c9725092224e51ee, type: 3}
m_Name:
m_EditorClassIdentifier:
numberLabel: {fileID: 9026784241947934054}
ImageTransform: {fileID: 2204232218633904823}
amplitude: 0.1
frequency: 10
--- !u!1 &5888883503702595632
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2204232218633904823}
- component: {fileID: 2856402495115411059}
- component: {fileID: 6798495728319248958}
m_Layer: 5
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2204232218633904823
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5888883503702595632}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2088872135426682425}
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!222 &2856402495115411059
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5888883503702595632}
m_CullTransparentMesh: 1
--- !u!114 &6798495728319248958
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5888883503702595632}
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: 21300000, guid: 6e622d073fff38b468edb48bec60df75, 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!1 &8446015100493265423
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4498290099248616890}
- component: {fileID: 7025735437983932181}
- component: {fileID: 9026784241947934054}
m_Layer: 5
m_Name: label
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4498290099248616890
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8446015100493265423}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2088872135426682425}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0, y: 13.2}
m_SizeDelta: {x: 100, y: 92.5}
m_Pivot: {x: 0.5, y: 1}
--- !u!222 &7025735437983932181
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8446015100493265423}
m_CullTransparentMesh: 1
--- !u!114 &9026784241947934054
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8446015100493265423}
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: 1
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 3f10bbcf486189d4f95b8de6dc2e2177, type: 2}
m_sharedMaterial: {fileID: 4262305343556741190, guid: 3f10bbcf486189d4f95b8de6dc2e2177, 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: 60
m_fontSizeBase: 60
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 16
m_fontSizeMax: 64
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 256
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}

View File

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

View File

@ -0,0 +1,87 @@
using System.Collections;
using System.Threading;
using System.Threading.Tasks;
using TMPro;
using UnityEngine;
public class VitrinaBox : MonoBehaviour
{
[SerializeField] TextMeshProUGUI numberLabel;
[SerializeField] RectTransform ImageTransform;
public int Number { get; private set; }
public RectTransform RectTransform { get; private set; }
bool animated;
public bool shake;
Coroutine pingpongCoroutine;
[Header("Íàñòðîéêè àíèìàöèè")]
[SerializeField] private float amplitude = 0.1f;
[SerializeField] private float frequency = 7;
private void OnEnable()
{
RectTransform = GetComponent<RectTransform>();
StartCoroutine(Shake());
}
private void OnDisable()
{
StopAllCoroutines();
}
public void SetNumber(int number)
{
Number = number;
numberLabel.text = number.ToString();
}
public void SetEnabled(bool enabled)
{
if (enabled)
{
if (pingpongCoroutine != null) StopCoroutine(pingpongCoroutine);
animated = true;
pingpongCoroutine = StartCoroutine(Animation());
}
else
{
animated = false;
}
}
IEnumerator Animation()
{
while (animated)
{
ImageTransform.localScale = Vector3.one * (1 + amplitude * Mathf.Sin(Time.time * frequency));
yield return null;
}
//Âîçâðàò â èñõîäíóþ
while (ImageTransform.localScale != Vector3.one)
{
ImageTransform.localScale = Vector3.MoveTowards(ImageTransform.localScale, Vector3.one, Time.deltaTime);
yield return null;
}
}
IEnumerator Shake()
{
while (true)
{
if (shake)
{
float noise = Mathf.PerlinNoise(Time.time * 8, 0f);
float angle = noise * 2 - 1;
ImageTransform.rotation = Quaternion.Euler(0, 0, angle * 15);
}
else
{
ImageTransform.rotation = Quaternion.Euler(0, 0, 0);
}
yield return null;
}
}
}

View File

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

View File

@ -0,0 +1,122 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class VitrinaPanel : MonoBehaviour
{
private bool initialized = false;
//çàïðîñèòü êîðîáêè, ïðîâåðèòü êàêèå òðåáóåòñÿ, íàéòè ïåðåñå÷åíèå. Åñëè íåò, òî âîçâðàò.
[SerializeField] private Transform BoxesRoot;
[SerializeField] private GameObject BoxViewPrefab;
private List<VitrinaBox> generatedBoxes;
private int pointerIndex;
[SerializeField] private float timer = 0;
private float timeToAct = 3;
VitrinaBox CurrentBox => generatedBoxes[pointerIndex];
private void OnEnable()
{
initialized = false;
int[] boxes = { 1, 3, 5 };
Initialize(boxes);
}
private void OnDisable()
{
initialized = false;
ClearBoxes();
}
public void Initialize(int[] requiredBoxed)
{
//òóò ïðîâåðêà ÷òî åñòü òàêèå êîðîáêè
pointerIndex = 0;
GenerateBoxes(requiredBoxed);
CurrentBox.SetEnabled(true);
initialized = true;
}
private void GenerateBoxes(int[] indexes)
{
if (generatedBoxes == null)
generatedBoxes = new();
foreach (int index in indexes)
{
var go = Instantiate(BoxViewPrefab, BoxesRoot);
if (go.TryGetComponent<VitrinaBox>(out var Box))
{
generatedBoxes.Add(Box);
Box.SetNumber(index);
}
else
{
Destroy(go);
Debug.Log("Ïðåôàá íå ñîäåðæèò êîìïîíåíòà VitrinaBoxView", gameObject);
}
}
}
private void ClearBoxes()
{
foreach (var box in generatedBoxes)
Destroy(box);
generatedBoxes.Clear();
}
private void Update()
{
if (!initialized) return;
var input = CollectInputs();
if(input.direction != 0)
{
int count = generatedBoxes == null ? 0 : generatedBoxes.Count;
//îòîáðàçèòü èçìåíåíèÿ
CurrentBox.SetEnabled(false);
CurrentBox.shake =false;
timer = 0;
pointerIndex = (pointerIndex + input.direction + count) % count;
CurrentBox.SetEnabled(true);
}
if (input.action)
{
CurrentBox.shake = true;
timer = Mathf.Clamp(timer + Time.deltaTime, 0, timeToAct);
}
else
{
CurrentBox.shake = false;
timer = 0;
}
if (timer >= timeToAct)
{
Debug.Log("Äåéñòâèå");
timer = 0;
}
}
(int direction, bool action) CollectInputs()
{
int direction = (In.GetButtonDownAnyPlayer(PlayerAction.right) ? 1 : 0) -
(In.GetButtonDownAnyPlayer(PlayerAction.left) ? 1 : 0);
bool action = In.GetButtonAnyPlayer(PlayerAction.down);
return (direction, action);
}
}

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

View File

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

File diff suppressed because one or more lines are too long