Встроен пул для фишек; считывание нескольких вариантов кнопок добавлено в In.cs; переработано определение целевых позиций доски; отрефакторен Player.cs

This commit is contained in:
Сергей Бондарь 2026-08-04 10:45:55 +03:00
parent 473fb279bf
commit c8937a239d
18 changed files with 343 additions and 1382 deletions

View File

@ -43,13 +43,13 @@ TextureImporter:
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 810
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 820
spriteBorder: {x: 0, y: 0, z: 0, w: 14}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
@ -67,7 +67,7 @@ TextureImporter:
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
@ -80,7 +80,7 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
@ -93,7 +93,7 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
@ -108,18 +108,44 @@ TextureImporter:
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
sprites:
- serializedVersion: 2
name: chipCatana_0
rect:
serializedVersion: 2
x: 75
y: 82
width: 818
height: 822
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: d8c1ca50493d2f8449d0f0600f0ac437
internalID: -1055215911
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
internalID: 1537655665
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spriteCustomMetadata:
entries: []
nameFileIdTable:
chipCatana_0: -1055215911
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:

View File

@ -1,455 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4453572131830335918
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1891433078102213312}
- component: {fileID: 5735187616875578469}
m_Layer: 0
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1891433078102213312
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4453572131830335918}
serializedVersion: 2
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: 8850948142576263202}
m_Father: {fileID: 2308229979791902274}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &5735187616875578469
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4453572131830335918}
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: -5330059
m_SortingLayer: 2
m_SortingOrder: 0
m_Sprite: {fileID: 21300000, guid: e70f18f9e393a6a4ca20daee1188f1e5, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1.6384, y: 1.6384}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &4478126490810938235
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2308229979791902274}
- component: {fileID: -1279240344415514123}
- component: {fileID: -3723123627577925563}
- component: {fileID: 5849137902648406005}
- component: {fileID: 8301785664942396078}
m_Layer: 0
m_Name: ChipBot
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2308229979791902274
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4478126490810938235}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.15, y: 1.15, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1891433078102213312}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!96 &-1279240344415514123
TrailRenderer:
serializedVersion: 3
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4478126490810938235}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 0
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 0
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: fc368c70ff252e649adbbe3df84fdada, type: 2}
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: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: -5330059
m_SortingLayer: 2
m_SortingOrder: -1
m_Time: 0.2
m_PreviewTimeScale: 1
m_Parameters:
serializedVersion: 3
widthMultiplier: 1
widthCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: -0.40217972
outSlope: -0.40217972
tangentMode: 0
weightedMode: 0
inWeight: 0.62565136
outWeight: 0.99635035
- serializedVersion: 3
time: 1
value: 0.6
inSlope: -0.40627077
outSlope: -0.40627077
tangentMode: 0
weightedMode: 0
inWeight: 1
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
colorGradient:
serializedVersion: 2
key0: {r: 0, g: 0.7515292, b: 1, a: 0.98037}
key1: {r: 0, g: 0.3177656, b: 0.7433963, a: 0}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 16885
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 77
atime1: 50963
atime2: 65535
atime3: 65535
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: 0
m_NumColorKeys: 2
m_NumAlphaKeys: 2
numCornerVertices: 5
numCapVertices: 0
alignment: 0
textureMode: 0
textureScale: {x: 1, y: 1}
shadowBias: 0.5
generateLightingData: 0
m_MinVertexDistance: 0
m_MaskInteraction: 0
m_Autodestruct: 0
m_Emitting: 1
m_ApplyActiveColorSpace: 1
--- !u!82 &-3723123627577925563
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4478126490810938235}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 8300000, guid: 97356cb5584c41849a213dd28906602f, type: 3}
m_PlayOnAwake: 0
m_Volume: 1
m_Pitch: 1.2
Loop: 0
Mute: 0
Spatialize: 0
SpatializePostEffects: 0
Priority: 128
DopplerLevel: 1
MinDistance: 1
MaxDistance: 500
Pan2D: 0
rolloffMode: 0
BypassEffects: 0
BypassListenerEffects: 0
BypassReverbZones: 0
rolloffCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
panLevelCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
spreadCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
reverbZoneMixCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!114 &5849137902648406005
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4478126490810938235}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5a33d20e192d63748be8104592f6ef66, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!54 &8301785664942396078
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4478126490810938235}
serializedVersion: 4
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 1
m_IsKinematic: 1
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!1 &5608352142033353353
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8850948142576263202}
- component: {fileID: 1216809169282318169}
m_Layer: 0
m_Name: "\u041B\u043E\u0433\u043E\u0421\u0438\u043D\u0438\u0439"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &8850948142576263202
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5608352142033353353}
serializedVersion: 2
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: 1891433078102213312}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &1216809169282318169
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5608352142033353353}
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: -5330059
m_SortingLayer: 2
m_SortingOrder: 1
m_Sprite: {fileID: 21300000, guid: 2f8ce0a068299e345bf7749646ac32dc, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 5.12, y: 5.12}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 0
m_MaskInteraction: 0
m_SpriteSortPoint: 0

View File

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

View File

@ -1,370 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4478126490810938235
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2308229979791902274}
- component: {fileID: 2785177574404548980}
- component: {fileID: -5597252834244713330}
- component: {fileID: 4011524773098274618}
- component: {fileID: 8209685094204570851}
m_Layer: 0
m_Name: ChipPlayer1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2308229979791902274
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4478126490810938235}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.15, y: 1.15, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1661318112489111391}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!96 &2785177574404548980
TrailRenderer:
serializedVersion: 3
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4478126490810938235}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 0
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 0
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: fc368c70ff252e649adbbe3df84fdada, type: 2}
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: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: -5330059
m_SortingLayer: 2
m_SortingOrder: -1
m_Time: 0.2
m_PreviewTimeScale: 1
m_Parameters:
serializedVersion: 3
widthMultiplier: 1
widthCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0.97508717
inSlope: -0.38808823
outSlope: -0.38808823
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0.99767745
- serializedVersion: 3
time: 1
value: 0.6
inSlope: -0.38939682
outSlope: -0.38939682
tangentMode: 0
weightedMode: 0
inWeight: 1
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
colorGradient:
serializedVersion: 2
key0: {r: 1, g: 0.47496206, b: 0, a: 1}
key1: {r: 1, g: 0.022731155, b: 0, a: 0}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 65535
atime3: 65535
atime4: 65535
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: 0
m_NumColorKeys: 2
m_NumAlphaKeys: 2
numCornerVertices: 5
numCapVertices: 0
alignment: 0
textureMode: 0
textureScale: {x: 1, y: 1}
shadowBias: 0.5
generateLightingData: 0
m_MinVertexDistance: 0
m_MaskInteraction: 0
m_Autodestruct: 0
m_Emitting: 1
m_ApplyActiveColorSpace: 1
--- !u!82 &-5597252834244713330
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4478126490810938235}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 8300000, guid: 97356cb5584c41849a213dd28906602f, type: 3}
m_PlayOnAwake: 0
m_Volume: 1
m_Pitch: 1.2
Loop: 0
Mute: 0
Spatialize: 0
SpatializePostEffects: 0
Priority: 128
DopplerLevel: 1
MinDistance: 1
MaxDistance: 500
Pan2D: 0
rolloffMode: 0
BypassEffects: 0
BypassListenerEffects: 0
BypassReverbZones: 0
rolloffCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
panLevelCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
spreadCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
reverbZoneMixCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!114 &4011524773098274618
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4478126490810938235}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5a33d20e192d63748be8104592f6ef66, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!54 &8209685094204570851
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4478126490810938235}
serializedVersion: 4
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 1
m_IsKinematic: 1
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!1 &7100645357252458328
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1661318112489111391}
- component: {fileID: 5157516706225878083}
m_Layer: 0
m_Name: image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1661318112489111391
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7100645357252458328}
serializedVersion: 2
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: 2308229979791902274}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &5157516706225878083
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7100645357252458328}
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: -5330059
m_SortingLayer: 2
m_SortingOrder: 0
m_Sprite: {fileID: 21300000, guid: 8d6432ff047c62946a41e3235f28ba57, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1.6384, y: 1.6384}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0

View File

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

View File

@ -1,370 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4453572131830335918
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1891433078102213312}
- component: {fileID: 5735187616875578469}
m_Layer: 0
m_Name: image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1891433078102213312
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4453572131830335918}
serializedVersion: 2
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: 2308229979791902274}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &5735187616875578469
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4453572131830335918}
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: -5330059
m_SortingLayer: 2
m_SortingOrder: 0
m_Sprite: {fileID: 21300000, guid: 2c24e52d4911d4940907cbe79e0c7a00, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1.6384, y: 1.6384}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &4478126490810938235
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2308229979791902274}
- component: {fileID: -1279240344415514123}
- component: {fileID: 2148585785937717131}
- component: {fileID: -1838058292581257394}
- component: {fileID: -2525511250475132538}
m_Layer: 0
m_Name: ChipPlayer2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2308229979791902274
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4478126490810938235}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.15, y: 1.15, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1891433078102213312}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!96 &-1279240344415514123
TrailRenderer:
serializedVersion: 3
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4478126490810938235}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 0
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 0
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: fc368c70ff252e649adbbe3df84fdada, type: 2}
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: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: -5330059
m_SortingLayer: 2
m_SortingOrder: -1
m_Time: 0.2
m_PreviewTimeScale: 1
m_Parameters:
serializedVersion: 3
widthMultiplier: 1
widthCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0.97508717
inSlope: -0.38808823
outSlope: -0.38808823
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0.99767745
- serializedVersion: 3
time: 1
value: 0.6
inSlope: -0.38939682
outSlope: -0.38939682
tangentMode: 0
weightedMode: 0
inWeight: 1
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
colorGradient:
serializedVersion: 2
key0: {r: 0, g: 0.7515292, b: 1, a: 1}
key1: {r: 0, g: 0.3177656, b: 0.7433963, a: 0}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 34310
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 65535
atime3: 65535
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: 0
m_NumColorKeys: 2
m_NumAlphaKeys: 2
numCornerVertices: 5
numCapVertices: 0
alignment: 0
textureMode: 0
textureScale: {x: 1, y: 1}
shadowBias: 0.5
generateLightingData: 0
m_MinVertexDistance: 0
m_MaskInteraction: 0
m_Autodestruct: 0
m_Emitting: 1
m_ApplyActiveColorSpace: 1
--- !u!82 &2148585785937717131
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4478126490810938235}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 8300000, guid: 97356cb5584c41849a213dd28906602f, type: 3}
m_PlayOnAwake: 0
m_Volume: 1
m_Pitch: 1.2
Loop: 0
Mute: 0
Spatialize: 0
SpatializePostEffects: 0
Priority: 128
DopplerLevel: 1
MinDistance: 1
MaxDistance: 500
Pan2D: 0
rolloffMode: 0
BypassEffects: 0
BypassListenerEffects: 0
BypassReverbZones: 0
rolloffCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
panLevelCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
spreadCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
reverbZoneMixCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!114 &-1838058292581257394
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4478126490810938235}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5a33d20e192d63748be8104592f6ef66, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!54 &-2525511250475132538
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4478126490810938235}
serializedVersion: 4
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 1
m_IsKinematic: 1
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0

View File

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

View File

@ -31,7 +31,7 @@ Transform:
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.15, y: 1.15, z: 1}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1661318112489111391}
@ -304,8 +304,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: aa727783246783d45abdace8138c97fd, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::Chip
linearSpeed: 50
team: 0
acceleration: 200
maxFallingRotationSpeed: 500
spriteRenderer: {fileID: 5157516706225878083}
--- !u!1 &7100645357252458328
GameObject:
m_ObjectHideFlags: 0
@ -395,5 +397,5 @@ SpriteRenderer:
m_Size: {x: 1.6384, y: 1.6384}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_WasSpriteAssigned: 0
m_SpriteSortPoint: 0

View File

@ -4500,6 +4500,7 @@ MonoBehaviour:
rulesController: {fileID: 454272343}
chipPointer: {fileID: 1615046714}
gameMode: 0
currentPlayer: 1
player1score: 0
player2score: 0
vsBotScore: 0
@ -4510,7 +4511,6 @@ MonoBehaviour:
botChip: {fileID: 4478126490810938235, guid: afe8782fb49b2254cbdae76f1a9f22a8, type: 3}
chipPrefab: {fileID: 581128120472889901, guid: c349c741ed95e864ca8d5b3217c40598, type: 3}
currentChip: {fileID: 0}
currentPlayer: 1
canReturnToMenu: 0
nameInput: {fileID: 0}
ValutaNameInput: {fileID: 0}
@ -4524,6 +4524,7 @@ MonoBehaviour:
leaderboard: {fileID: 1784614873}
CharactersConfigurator: {fileID: 141381088}
menuGameplayTransit: {fileID: 29868612}
player1: {fileID: 304437819}
setPasswordPanel: {fileID: 131572818}
vitrinaPanel: {fileID: 61619038}
qrPanel: {fileID: 1060301113}
@ -5252,6 +5253,59 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 304061108}
m_CullTransparentMesh: 1
--- !u!1 &304437818
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 304437820}
- component: {fileID: 304437819}
m_Layer: 0
m_Name: Player1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &304437819
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 304437818}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0302f7201f8ad714280dbc7ceefc55a7, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::Player
board: {fileID: 1768372455}
chipSprite: {fileID: -1055215911, guid: b196c55df50055d4cafb336e9a05b519, type: 3}
team: 1
chipYOffset: 5
prepareSpeed: 30
moveSpeed: 10
leftButtons: 03000000
rightButtons: 01000000
actionButtons: 04000000
--- !u!4 &304437820
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 304437818}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -5.18764, y: 2.92598, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &325463671
GameObject:
m_ObjectHideFlags: 0
@ -21133,6 +21187,50 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253935161}
m_CullTransparentMesh: 1
--- !u!1 &1259803110
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1259803112}
- component: {fileID: 1259803111}
m_Layer: 0
m_Name: ChipPool
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1259803111
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1259803110}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6f304a4db5b21a3438c74970b41a0db7, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::ChipPool
--- !u!4 &1259803112
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1259803110}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -2.1691, y: 2.49427, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1274858193
GameObject:
m_ObjectHideFlags: 0
@ -23232,6 +23330,8 @@ MonoBehaviour:
m_EditorClassIdentifier: Assembly-CSharp::Bootstrap
soundManager: {fileID: 151433694}
board: {fileID: 1768372455}
chipPool: {fileID: 1259803111}
chipPrefab: {fileID: 581128120472889901, guid: c349c741ed95e864ca8d5b3217c40598, type: 3}
notificationSystem: {fileID: 259182293}
inputSystem: {fileID: 259182289}
prizeSystem: {fileID: 259182290}
@ -38508,6 +38608,7 @@ SceneRoots:
- {fileID: 1967587903}
- {fileID: 411367487}
- {fileID: 1768372452}
- {fileID: 1259803112}
- {fileID: 259182280}
- {fileID: 1542626845}
- {fileID: 1851050357}
@ -38518,3 +38619,4 @@ SceneRoots:
- {fileID: 1615046716}
- {fileID: 46193421}
- {fileID: 1606109336}
- {fileID: 304437820}

View File

@ -8,6 +8,10 @@ public class Bootstrap : MonoBehaviour
private const int DEFAULT_FRAME_RATE = 60;
[SerializeField] private SoundManager soundManager;
[SerializeField] private Board board;
[SerializeField] private ChipPool chipPool;
[SerializeField] private Chip chipPrefab;
[SerializeField] private NotificationSystem notificationSystem;
[SerializeField] private In inputSystem;
[SerializeField] private PrizeSystemManager prizeSystem;
@ -68,7 +72,7 @@ public class Bootstrap : MonoBehaviour
gameManager.Initialize();
board.Init();
chipPool.Init(chipPrefab, 30);
//countersCollector.Initialize();
menu.Initialize();

View File

@ -34,6 +34,7 @@ public class ChipPool : MonoBehaviour
Create();
Chip chip = _availableChips.Dequeue();
chip.transform.SetParent(null);
chip.gameObject.SetActive(true);
return chip;
}
@ -54,12 +55,13 @@ public class ChipPool : MonoBehaviour
throw new InvalidOperationException("Пул фишек не инициализирован");
chip.gameObject.SetActive(false);
chip.transform.SetParent(transform);
_availableChips.Enqueue(chip);
}
private Chip Create()
{
Chip chip = Instantiate(_prefab);
Chip chip = Instantiate(_prefab, transform);
chip.gameObject.SetActive(false);
_availableChips.Enqueue(chip);

View File

@ -28,9 +28,6 @@ public class GameManager : MonoBehaviour
public GameMode gameMode;
[HideInInspector] public Team currentPlayer = Team.Player2;
[Header("Scores")]
public int player1score = 0, player2score = 0, vsBotScore = 0;
@ -48,8 +45,6 @@ public class GameManager : MonoBehaviour
public Chip chipPrefab;
[HideInInspector] public Chip currentChip;
public bool canReturnToMenu = false; //todo: разобраться нафига эта переменная
[Header("Панели ввода")]
@ -69,6 +64,7 @@ public class GameManager : MonoBehaviour
[Header("Переходы")]
[SerializeField] private MenuGameplayTransit menuGameplayTransit;
[SerializeField] Player player1;
//public PvpPointer pvpPointer;
//public MovesAndTimeCounter movesAndTimeCounter;
@ -102,12 +98,16 @@ public class GameManager : MonoBehaviour
public void TryEnterGame(GameMode mode)
{
if (!PaymentSystem.TryPayForMode(mode))
return;
//ДЛЯ ОТЛАДКИ
//if (!PaymentSystem.TryPayForMode(mode))
// return;
SetMode(mode);
menuGameplayTransit.GotoGameplay();
OnGameStarted?.Invoke(gameMode);
player1.PrepareChip();
ControlsPerformer.Instance.SetControlable(player1);
//timerManager.SetTimersActivity(gameMode);
}

View File

@ -1,23 +1,9 @@
using UnityEngine;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// Статический фасад для унифицированного доступа к системе ввода.
/// Предоставляет глобальный интерфейс для работы с управлением независимо от выбранного источника.
/// </summary>
/// <remarks>
/// Этот класс является точкой входа для всей игровой логики, работающей с вводом.
/// Автоматически инициализирует выбранный источник управления (клавиатура или COM-порт)
/// и предоставляет статические методы для удобного доступа из любого места кода.
///
/// Использование:
/// 1. Настройте тип ввода в инспекторе
/// 2. Вызовите Initialize() при старте игры
/// 3. Используйте статические методы для проверки ввода
/// </remarks>
public class In : MonoBehaviour
{
[Header("Выбор источника управления")]
//[SerializeField] private InputSourceType inputType;
static InputSource source;
@ -33,44 +19,37 @@ public class In : MonoBehaviour
if (!success) Debug.LogWarning("Не удалось проинициалзировать источник управления.");
}
/// <summary>Проверяет состояние конкретной кнопки по её физическому пину</summary>
public static bool GetButton(InSignal button) => source.GetButton(button);
/// <summary>Проверяет нажатие кнопки по пину в текущем кадре</summary>
public static bool GetButtonDown(InSignal button) => source.GetButtonDown(button);
/// <summary>Проверяет отпускание кнопки по пину в текущем кадре</summary>
public static bool GetButtonDown(IEnumerable<InSignal> signals)
{
foreach (var signal in signals)
if (GetButtonDown(signal))
return true;
return false;
}
public static bool GetButtonUp(InSignal button) => source.GetButtonUp(button);
/// <summary>Проверяет состояние кнопки по числовому индексу пина</summary>
public static bool GetButton(int pinindex) => source.GetButton(pinindex);
/// <summary>Проверяет нажатие кнопки по индексу пина в текущем кадре</summary>
public static bool GetButtonDown(int pinindex) => source.GetButtonDown(pinindex);
/// <summary>Проверяет отпускание кнопки по индексу пина в текущем кадре</summary>
public static bool GetButtonUp(int pinindex) => source.GetButtonUp(pinindex);
// ================================================================================
// СТАТИЧЕСКИЕ МЕТОДЫ ДЛЯ РАБОТЫ С АБСТРАКТНЫМИ ДЕЙСТВИЯМИ ИГРОКОВ
// ================================================================================
/// <summary>Проверяет состояние действия для любого из игроков</summary>
public static bool GetButtonAnyPlayer(PlayerAction button) => source.GetButtonAnyPlayer(button);
/// <summary>Проверяет начало действия любым игроком в текущем кадре</summary>
public static bool GetButtonDownAnyPlayer(PlayerAction button) => source.GetButtonDownAnyPlayer(button);
/// <summary>Проверяет завершение действия любым игроком в текущем кадре</summary>
public static bool GetButtonUpAnyPlayer(PlayerAction button) => source.GetButtonUpAnyPlayer(button);
/// <summary>Проверяет состояние действия для текущего активного игрока</summary>
public static bool GetButtonCurrentPlayer(PlayerAction button) => source.GetButtonCurrentPlayer(button);
/// <summary>Проверяет начало действия текущим игроком в текущем кадре</summary>
public static bool GetButtonDownCurrentPlayer(PlayerAction button) => source.GetButtonDownCurrentPlayer(button);
/// <summary>Проверяет завершение действия текущим игроком в текущем кадре</summary>
public static bool GetButtonUpCurrentPlayer(PlayerAction button) => source.GetButtonUpCurrentPlayer(button);
public static bool AnyButton() => source.AnyButton();

View File

@ -28,9 +28,9 @@ public class Board : MonoBehaviour
SettingsManager.OnSettingsChanged += ApplySettings;
}
public Vector2 GetMiddleStickedPosition() => new Vector2(GetXPosition(Columns/2), config.stickedY);
public Vector2 GetMiddleStickedPosition() => new Vector2(GetXPosition(Columns/2), config.stickedYOffset);
public Vector2 GetStickedPosition(int column) => new Vector2(GetXPosition(column), config.stickedY);
public Vector2 GetStickedPosition(int column) => new Vector2(GetXPosition(column), config.topLeftCell.position.y + config.stickedYOffset);
public Vector2 GetTargetPosition(int column) => new Vector2(GetXPosition(column), GetYPosition(column));
@ -96,9 +96,9 @@ public class Board : MonoBehaviour
return res;
}
private float GetXPosition(int column) => config.topLeft.x + config.cellOffset.x * column;
private float GetXPosition(int column) => config.topLeftCell.position.x + config.cellOffset.x * column;
private float GetYPosition(int column) => config.topLeft.y - GetLowestEmptyRow(column) * config.cellOffset.y;
private float GetYPosition(int column) => config.topLeftCell.position.y + GetLowestEmptyRow(column) * config.cellOffset.y;
private void PerformChipsClear()
{

View File

@ -2,16 +2,14 @@
public struct BoardConfiguration
{
public readonly Vector2 topLeft;
public readonly Vector2 bottomRight;
public readonly Transform topLeftCell;
public readonly Vector2 cellOffset;
public readonly float stickedY;
public readonly float stickedYOffset;
public BoardConfiguration(Vector2 topLeft, Vector2 bottomRight, Vector2 cellOffset, float stickedY)
public BoardConfiguration(Transform topLeft, Vector2 cellOffset, float stickedYOffset)
{
this.topLeft = topLeft;
this.bottomRight = bottomRight;
this.topLeftCell = topLeft;
this.cellOffset = cellOffset;
this.stickedY = stickedY;
this.stickedYOffset = stickedYOffset;
}
}

View File

@ -26,15 +26,12 @@ public class BoardFitter : MonoBehaviour
{
if (cells == null)
throw new System.NullReferenceException($"Объект не инициализирован {this}");
Vector3 topLeftCellPosition = cells[0].transform.position;
Vector3 bottomRightCellPosition = cells[^1].transform.position;
Vector2 offset = new Vector2(cellScale + cellOffset, -(cellScale + cellOffset));
return new BoardConfiguration(topLeft: topLeftCellPosition,
bottomRight: bottomRightCellPosition,
return new BoardConfiguration(topLeft: cells[0].transform,
cellOffset: offset,
stickedY: topLeftCellPosition.y + stickedOffset);
stickedYOffset: stickedOffset);
}
public void FitBoard(int columns, int rows)

View File

@ -3,140 +3,207 @@ using UnityEngine;
public class Player : MonoBehaviour, IControlable
{
[Header("Components")]
[SerializeField] private Board board;
[SerializeField] private float chipYOffset = 5f;
[SerializeField] private Sprite chipSprite;
[SerializeField] private Team team;
[Header("Movement Settings")]
[SerializeField] private float chipYOffset = 5f;
[SerializeField] private float prepareSpeed;
[SerializeField] private float moveSpeed;
[Header("Управление")]
[SerializeField] List<InSignal> _leftButtons;
[SerializeField] List<InSignal> _rightButtons;
[SerializeField] List<InSignal> _actionButtons;
[Header("Input")]
[SerializeField] private List<InSignal> leftButtons;
[SerializeField] private List<InSignal> rightButtons;
[SerializeField] private List<InSignal> actionButtons;
// State
private PlayerState state = PlayerState.Sleep;
private Chip currentChip;
private int[] availableColumns;
private int availableColumnsIndex;
private Chip myChip;
private Vector2 targetStickedPosition;
private Vector2 targetPosition;
private PlayerState _state;
private bool controlsEnabled;
private int selectedColumnIndex;
private int SelectedColumn => availableColumns[availableColumnsIndex];
public bool ControlsEnabled {
get => _state == PlayerState.Idle || _state == PlayerState.Moving;
set => controlsEnabled = value;}
// Movement targets
private Vector2 stickedTargetPosition;
private Vector2 dropTargetPosition;
private int SelectedColumn => availableColumns[selectedColumnIndex];
public void PrepareChip(Chip chip)
public bool ControlsEnabled { get; set; } = true;
#region Public Methods
public void PrepareChip()
{
_state = PlayerState.Preparing;
CacheColumns();
myChip = chip;
targetStickedPosition = board.GetMiddleStickedPosition();
chip.transform.position = targetStickedPosition + Vector2.up * chipYOffset;
SetState(PlayerState.Preparing);
CacheAvailableColumns();
CreateChip();
SetInitialChipPosition();
}
public void Sleep()
{
_state = PlayerState.Sleep;
SetState(PlayerState.Sleep);
currentChip = null;
availableColumns = null;
myChip = null;
}
public void UpdateControls()
{
if (!ControlsEnabled) return;
HandleHorizontalMove();
switch (_state)
// Always update state machine regardless of ControlsEnabled
switch (state)
{
case PlayerState.Preparing:
if (myChip.MoveToLinear(targetStickedPosition, prepareSpeed))
_state = PlayerState.Idle;
break;
case PlayerState.Moving:
if (myChip.MoveToLinear(targetStickedPosition, moveSpeed))
_state = PlayerState.Idle;
break;
case PlayerState.Dropped:
if (myChip.MoveToAccelerated(targetPosition))
{
_state = PlayerState.Sleep;
Debug.Log("Падение фишки закончено");
}
UpdatePreparing();
break;
case PlayerState.Idle:
if (HandleDrop()) return;
UpdateIdle();
break;
case PlayerState.Moving:
UpdateMoving();
break;
case PlayerState.Dropping:
UpdateDropping();
break;
case PlayerState.Sleep:
// Nothing to do
break;
}
}
private void CacheColumns()
#endregion
#region State Updates
private void UpdatePreparing()
{
if (currentChip.MoveToLinear(stickedTargetPosition, prepareSpeed))
{
SetState(PlayerState.Idle);
}
}
private void UpdateIdle()
{
// Only process input if controls are enabled
if (!ControlsEnabled) return;
// Try horizontal movement first
if (TryHorizontalMovement()) return;
// Then try drop
TryDrop();
}
private void UpdateMoving()
{
// Process horizontal input even while moving
if (ControlsEnabled)
{
TryHorizontalMovement();
}
// Wait for chip to reach target
if (currentChip.MoveToLinear(stickedTargetPosition, moveSpeed))
{
SetState(PlayerState.Idle);
}
}
private void UpdateDropping()
{
if (currentChip.MoveToAccelerated(dropTargetPosition))
{
SetState(PlayerState.Sleep);
Debug.Log("Chip dropped successfully");
}
}
#endregion
#region Actions
private bool TryHorizontalMovement()
{
int direction = GetHorizontalInput();
if (direction == 0) return false;
int newIndex = Mathf.Clamp(selectedColumnIndex + direction, 0, availableColumns.Length - 1);
if (newIndex == selectedColumnIndex) return false;
selectedColumnIndex = newIndex;
stickedTargetPosition = board.GetStickedPosition(SelectedColumn);
SetState(PlayerState.Moving);
return true;
}
private void TryDrop()
{
if (!IsActionPressed()) return;
dropTargetPosition = board.GetTargetPosition(SelectedColumn);
board.DropChip(currentChip, SelectedColumn);
SetState(PlayerState.Dropping);
}
#endregion
#region Helpers
private void CacheAvailableColumns()
{
availableColumns = board.GetNonFullColumns();
availableColumnsIndex = availableColumns.Length / 2;
selectedColumnIndex = availableColumns.Length / 2;
}
private bool HandleHorizontalMove()
private void CreateChip()
{
currentChip = ChipPool.Instance.GetConfigured(chipSprite, team);
}
private void SetInitialChipPosition()
{
stickedTargetPosition = board.GetMiddleStickedPosition();
currentChip.transform.position = stickedTargetPosition + Vector2.up * chipYOffset;
}
private int GetHorizontalInput()
{
int direction = 0;
if (IsButtonPressed(_leftButtons)) direction -= 1;
if (IsButtonPressed(_rightButtons)) direction += 1;
if (direction != 0)
{
int newIndex = Mathf.Clamp(availableColumnsIndex+direction, 0, availableColumns.Length - 1);
bool indexChanged = newIndex != availableColumnsIndex;
if (indexChanged)
{
availableColumnsIndex = newIndex;
targetStickedPosition = board.GetStickedPosition(SelectedColumn);
_state = PlayerState.Moving;
return true;
}
}
return false;
if (In.GetButtonDown(leftButtons)) direction -= 1;
if (In.GetButtonDown(rightButtons)) direction += 1;
return direction;
}
private bool HandleDrop()
private bool IsActionPressed()
{
if (_state != PlayerState.Idle)
return false;
bool hasAction = IsButtonPressed(_actionButtons);
if (hasAction)
{
PerformDrop();
return true;
}
return false;
return In.GetButtonDown(actionButtons);
}
private void PerformDrop()
private void SetState(PlayerState newState)
{
targetPosition = board.GetTargetPosition(SelectedColumn);
board.DropChip(myChip, SelectedColumn);
_state = PlayerState.Dropped;
}
private bool IsButtonPressed(List<InSignal> buttons)
{
foreach (var signal in buttons)
if (In.GetButtonDown(signal))
return true;
return false;
state = newState;
}
private enum PlayerState { Preparing, Idle, Moving, Dropped, Sleep }
}
#endregion
#region Nested Types
private enum PlayerState
{
Sleep, // No input, chip placed on board
Preparing, // No input, chip moving to sticked position
Idle, // Input enabled, waiting for action
Moving, // Input enabled (horizontal only), chip moving horizontally
Dropping // No input, chip falling down
}
#endregion
}

View File

@ -55,7 +55,7 @@ public abstract class InfoPanel : ClosablePanel
public override void Interact()
{
throw new System.NotImplementedException();
//throw new System.NotImplementedException();
}
protected virtual void InitializeBeforeOpen() { }