From f9f21daf8391e7a0ea9ae3f7ed344a9dc5d3b6dd Mon Sep 17 00:00:00 2001 From: _sega Date: Wed, 14 Jan 2026 12:47:33 +0300 Subject: [PATCH] =?UTF-8?q?=D0=92=D1=8B=D1=85=D0=BE=D0=B4=20=D0=B8=D0=B7?= =?UTF-8?q?=20=D0=B8=D0=B3=D1=80=D1=8B=20=D0=BF=D0=BE=20=D0=BD=D0=B0=D0=B6?= =?UTF-8?q?=D0=B0=D1=82=D0=B8=D1=8E=20=D0=B81=20=D0=B8=D0=BB=D0=B8=20?= =?UTF-8?q?=D0=B82.=20=D0=A2=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=B4=20=D0=BF=D0=B5=D1=80=D0=B2=D1=8B=D0=BC=20?= =?UTF-8?q?=D1=85=D0=BE=D0=B4=D0=BE=D0=BC.=20=D0=94=D0=B5=D0=BD=D1=8C?= =?UTF-8?q?=D0=B3=D0=B8=20=D0=B2=D0=BE=D0=B7=D0=B2=D1=80=D0=B0=D1=89=D0=B0?= =?UTF-8?q?=D0=B5=D1=82=20=D0=BD=D0=B0=20=D1=81=D1=87=D0=B5=D1=82=D1=87?= =?UTF-8?q?=D0=B8=D0=BA=D0=B8=20=D0=BD=D0=B5=20=D0=B2=D0=BB=D0=B8=D1=8F?= =?UTF-8?q?=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Fonts/NEW/NexaRegular COOL.asset | 2 +- Assets/Scenes/GameScene3D.unity | 325 +++++++++++++++++- Assets/Scripts/BackToMenuButton.cs | 53 +++ Assets/Scripts/BackToMenuButton.cs.meta | 11 + Assets/Scripts/GameFSM/MenuState.cs | 4 + Assets/Scripts/GameFSM/PositioningState.cs | 23 +- Assets/Scripts/GameFSM/StartRoundState.cs | 9 - Assets/Scripts/GameManager.cs | 2 + Assets/Scripts/Inputs/ComSystem/ComWrapper.cs | 10 + Assets/Scripts/RGB_FOntAsset.cs | 17 +- 10 files changed, 429 insertions(+), 27 deletions(-) create mode 100644 Assets/Scripts/BackToMenuButton.cs create mode 100644 Assets/Scripts/BackToMenuButton.cs.meta diff --git a/Assets/Fonts/NEW/NexaRegular COOL.asset b/Assets/Fonts/NEW/NexaRegular COOL.asset index df25d71..4b752d6 100644 --- a/Assets/Fonts/NEW/NexaRegular COOL.asset +++ b/Assets/Fonts/NEW/NexaRegular COOL.asset @@ -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.06446934, g: 0, b: 1, a: 1} + - _GlowColor: {r: 1, g: 0, b: 0.49600172, 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} diff --git a/Assets/Scenes/GameScene3D.unity b/Assets/Scenes/GameScene3D.unity index f2b6201..0178782 100644 --- a/Assets/Scenes/GameScene3D.unity +++ b/Assets/Scenes/GameScene3D.unity @@ -2386,6 +2386,101 @@ RectTransform: m_AnchoredPosition: {x: 0, y: -380} m_SizeDelta: {x: 1496.1613, y: 224.65833} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &111727726 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 111727727} + - component: {fileID: 111727730} + - component: {fileID: 111727729} + - component: {fileID: 111727728} + m_Layer: 0 + m_Name: btn image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &111727727 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111727726} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2.1455, y: 2.1455, z: 2.1455} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1304043906} + 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.5} + m_SizeDelta: {x: 1, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &111727728 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111727726} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5793ef5705258b41b327430fe3c351e, type: 3} + m_Name: + m_EditorClassIdentifier: + material: {fileID: 0} + speed: 4 + min: 1.8 + max: 2 + scaleSpeed: 5 + rotateSpeed: 0 + angularAmpliude: 0 +--- !u!114 &111727729 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111727726} + 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: a640cc94f9689af4bbf5ca46685dfd85, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &111727730 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111727726} + m_CullTransparentMesh: 1 --- !u!1 &111974049 GameObject: m_ObjectHideFlags: 0 @@ -2595,6 +2690,141 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 128539489} m_CullTransparentMesh: 1 +--- !u!1 &137582303 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 137582304} + - component: {fileID: 137582306} + - component: {fileID: 137582305} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &137582304 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137582303} + 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: 1304043906} + 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.473} + m_SizeDelta: {x: 3, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &137582305 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137582303} + 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: "\u041D\u0430\u0437\u0430\u0434 \u0432 \u043C\u0435\u043D\u044E
(\u043A\u0440\u0435\u0434\u0438\u0442\u044B + \u0432\u0435\u0440\u043D\u0443\u0442\u0441\u044F)" + 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: 0.3 + m_fontSizeBase: 0.3 + 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: -50 + 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 &137582306 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137582303} + m_CullTransparentMesh: 1 --- !u!1 &139861217 GameObject: m_ObjectHideFlags: 0 @@ -5550,6 +5780,7 @@ MonoBehaviour: stepX: 1.215 stepY: 1.24 startY: 5 + moveMade: 0 chipXSpeed: 50 chipYSpeed: 0 chipAcceleration: 200 @@ -25723,7 +25954,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: -8.401, y: -1.41} + m_AnchoredPosition: {x: -8.966, y: -1.41} m_SizeDelta: {x: 3, y: 1} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1039507332 @@ -35449,6 +35680,97 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1298865402} m_CullTransparentMesh: 1 +--- !u!1 &1304043905 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1304043906} + - component: {fileID: 1304043908} + - component: {fileID: 1304043907} + - component: {fileID: 1304043909} + m_Layer: 0 + m_Name: Back to menu button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1304043906 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304043905} + 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: 111727727} + - {fileID: 137582304} + m_Father: {fileID: 1551328425} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -8.966, y: 0.306} + m_SizeDelta: {x: 3, y: 2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!225 &1304043907 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304043905} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!223 &1304043908 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304043905} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 500331691 + m_SortingOrder: 22 + m_TargetDisplay: 0 +--- !u!114 &1304043909 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304043905} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5aff4130243041642870d5eface590f6, type: 3} + m_Name: + m_EditorClassIdentifier: + appearSpeed: 100 + appearDelay: 2 + disappearSpeed: 7 + disappearDelay: 0 --- !u!1 &1308992265 GameObject: m_ObjectHideFlags: 0 @@ -44548,6 +44870,7 @@ Transform: - {fileID: 2097140892} - {fileID: 492468474} - {fileID: 1039507331} + - {fileID: 1304043906} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1556574614 diff --git a/Assets/Scripts/BackToMenuButton.cs b/Assets/Scripts/BackToMenuButton.cs new file mode 100644 index 0000000..1241738 --- /dev/null +++ b/Assets/Scripts/BackToMenuButton.cs @@ -0,0 +1,53 @@ +using System.Collections; +using UnityEditor.Tilemaps; +using UnityEngine; + +[RequireComponent(typeof(CanvasGroup))] +public class BackToMenuButton : MonoBehaviour +{ + [Header("Появление")] + [SerializeField] float appearSpeed = 100; + [SerializeField] float appearDelay = 2; + + [Header("Растворение")] + [SerializeField] float disappearSpeed = 1; + [SerializeField] float disappearDelay = 0; + + CanvasGroup canvasGroup; + GameManager gm; + bool ActualState = false; + void Start() + { + canvasGroup = GetComponent(); + gm = GameManager.instance; + ActualState = gm.moveMade; + } + + + void Update() + { + if (ActualState != gm.moveMade) + { + ActualState = gm.moveMade; + StopAllCoroutines(); + StartCoroutine(changeState()); + } + } + + IEnumerator changeState() + { + //actualState true значит что ход сделан и надо убрать надпись + float speed = ActualState ? disappearSpeed : appearSpeed; + float delay = ActualState ? disappearDelay : appearDelay; + float targetAlpha = ActualState ? 0 : 1; + + yield return new WaitForSeconds(delay); + while (canvasGroup.alpha != targetAlpha) + { + canvasGroup.alpha = Mathf.MoveTowards(canvasGroup.alpha, targetAlpha, Time.deltaTime * speed); + yield return null; + } + canvasGroup.alpha = targetAlpha; + } + +} diff --git a/Assets/Scripts/BackToMenuButton.cs.meta b/Assets/Scripts/BackToMenuButton.cs.meta new file mode 100644 index 0000000..a2b73d5 --- /dev/null +++ b/Assets/Scripts/BackToMenuButton.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5aff4130243041642870d5eface590f6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/GameFSM/MenuState.cs b/Assets/Scripts/GameFSM/MenuState.cs index 99067f4..62439ca 100644 --- a/Assets/Scripts/GameFSM/MenuState.cs +++ b/Assets/Scripts/GameFSM/MenuState.cs @@ -100,11 +100,15 @@ public class MenuState : IState CharacterController.HideCharacter(); CharacterController.I.SetAllCharactersPrizeAvailable(true); + DualAvatarController.Instance.KillCharacters(); + DifficultyManager.instance.ResetDifficulty(); gm.player1score = 0; gm.player2score = 0; gm.vsBotScore = 0; + + gm.moveMade = false; } public void exit() { } diff --git a/Assets/Scripts/GameFSM/PositioningState.cs b/Assets/Scripts/GameFSM/PositioningState.cs index 9b5d325..91ba0ee 100644 --- a/Assets/Scripts/GameFSM/PositioningState.cs +++ b/Assets/Scripts/GameFSM/PositioningState.cs @@ -158,27 +158,24 @@ public class PositioningState : IState else canMove = false; - //pdeb - bool playerButtonPressed = In.GetButtonDown(ButtonPinMapping.startOnePlayer) || In.GetButtonDown(ButtonPinMapping.startTwoPlayers); - if (action || playerButtonPressed) + if (action) { - if (canMove && GameManager.fieldModel.getHeight(gm.currentColumnIndex) != -1) { + float delayBeforeStartFalling = 0; + if (gm.gameMode == GameMode.pve) { gm.vsBotMoves += 1; - gm.stateMachine.ChangeState(new ChipFallingState(startDelay: 0)); } - - if (gm.gameMode == GameMode.pvp && action) + if (gm.gameMode == GameMode.pvp) { AvatarEventBus.Instance.OnTurnEnd?.Invoke(gm.currentPlayer); - float delay = DualAvatarController.Instance.CurrentAvatar.ChipSpawnTime; - gm.stateMachine.ChangeState(new ChipFallingState(startDelay: delay)); - //добавить ожидание пока анимация завершится. чтобы еще не сломать ниче + delayBeforeStartFalling = DualAvatarController.Instance.CurrentAvatar.ChipSpawnTime; } + gm.moveMade = true; + gm.stateMachine.ChangeState(new ChipFallingState(startDelay: delayBeforeStartFalling)); } else { @@ -186,6 +183,12 @@ public class PositioningState : IState } } + bool exitPressed = In.GetButtonDown(ButtonPinMapping.startOnePlayer) || In.GetButtonDown(ButtonPinMapping.startTwoPlayers); + if (exitPressed && !gm.moveMade) + { + gm.stateMachine.ChangeState(new ClearFieldState(toMenu: true, CellState.Player1)); + ComWrapper.ReturnCredits(gm.gameMode); + } } diff --git a/Assets/Scripts/GameFSM/StartRoundState.cs b/Assets/Scripts/GameFSM/StartRoundState.cs index b33a52b..0706931 100644 --- a/Assets/Scripts/GameFSM/StartRoundState.cs +++ b/Assets/Scripts/GameFSM/StartRoundState.cs @@ -36,16 +36,7 @@ public class StartRoundState : IState } - - gm.stateMachine.ChangeState(new StartTurnState()); - //try - //{ - //} - //catch(Exception e) - //{ - // DebugWindow.Message(e.ToString()); - //} } catch (Exception e) { diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs index d3760a3..cbbf7be 100644 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/GameManager.cs @@ -394,6 +394,8 @@ public class GameManager : MonoBehaviour public float stepY = 1.24f; public float startY; + public bool moveMade = false; + public float chipXSpeed = 10, chipYSpeed = 0, diff --git a/Assets/Scripts/Inputs/ComSystem/ComWrapper.cs b/Assets/Scripts/Inputs/ComSystem/ComWrapper.cs index e010109..ef48317 100644 --- a/Assets/Scripts/Inputs/ComSystem/ComWrapper.cs +++ b/Assets/Scripts/Inputs/ComSystem/ComWrapper.cs @@ -83,6 +83,16 @@ public class ComWrapper : MonoBehaviour onCoinAdded?.Invoke(Balance); } + public static void ReturnCredits(GameMode gameMode) + { + string gamemodePriceKey = gameMode == GameMode.pvp ? "PricePVP" : "PricePVE"; + int gamemodePrice = PlayerPrefs.GetInt(gamemodePriceKey, 10); + + Balance += gamemodePrice; + onCoinAdded?.Invoke(Balance); + + } + public static void Send(string message) { try diff --git a/Assets/Scripts/RGB_FOntAsset.cs b/Assets/Scripts/RGB_FOntAsset.cs index e41b58d..9ba1620 100644 --- a/Assets/Scripts/RGB_FOntAsset.cs +++ b/Assets/Scripts/RGB_FOntAsset.cs @@ -30,14 +30,19 @@ public class RGB_FOntAsset : MonoBehaviour } private void Update() { - // Изменяем оттенок (hue) от 0 до 1 - hue += Time.deltaTime * speed; - hue %= 1f; // Ограничиваем от 0 до 1 + if (material != null) + { + // Изменяем оттенок (hue) от 0 до 1 + hue += Time.deltaTime * speed; + hue %= 1f; // Ограничиваем от 0 до 1 - // Преобразуем HSV в RGB - Color color = Color.HSVToRGB(hue, 1f, 1f); + // Преобразуем HSV в RGB + Color color = Color.HSVToRGB(hue, 1f, 1f); + + material.SetColor(ShaderUtilities.ID_GlowColor, color); + + } - material.SetColor(ShaderUtilities.ID_GlowColor, color); float t = Time.time * scaleSpeed; float s = mid + half * Mathf.Sin(t);