Add payment required text to main menu and improve payment handling logic
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
This commit is contained in:
parent
2957901cde
commit
5f339c6bd0
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1807,7 +1807,7 @@ MonoBehaviour:
|
||||
m_HandleRect: {fileID: 434895585}
|
||||
m_Direction: 2
|
||||
m_Value: 0
|
||||
m_Size: 1
|
||||
m_Size: 0.99999774
|
||||
m_NumberOfSteps: 0
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
@ -2017,6 +2017,143 @@ SpriteRenderer:
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &314192188
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 314192189}
|
||||
- component: {fileID: 314192191}
|
||||
- component: {fileID: 314192190}
|
||||
m_Layer: 5
|
||||
m_Name: PaymentText
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &314192189
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 314192188}
|
||||
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: 1227305891}
|
||||
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: -450}
|
||||
m_SizeDelta: {x: 600, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &314192190
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 314192188}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
|
||||
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: "\u041E\u041F\u041B\u0410\u0422\u0410 \u041D\u0415 \u0412\u041D\u0415\u0421\u0415\u041D\u0410"
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 5302535af1044152a457ed104f1f4b91, type: 2}
|
||||
m_sharedMaterial: {fileID: 2164040, guid: 5302535af1044152a457ed104f1f4b91, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4278190335
|
||||
m_fontColor: {r: 1, g: 0, b: 0, 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: 36
|
||||
m_fontSizeBase: 36
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 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 &314192191
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 314192188}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &328533398
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -8024,6 +8161,42 @@ SpriteRenderer:
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &1227305890
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1227305891}
|
||||
m_Layer: 5
|
||||
m_Name: PaymentRequiredText
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1227305891
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1227305890}
|
||||
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: 314192189}
|
||||
m_Father: {fileID: 1851115885}
|
||||
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!1 &1243189750
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -11914,7 +12087,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0.000045224962}
|
||||
m_AnchoredPosition: {x: 0, y: 0.001001656}
|
||||
m_SizeDelta: {x: 0, y: 300}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &1792218764
|
||||
@ -12463,6 +12636,7 @@ RectTransform:
|
||||
- {fileID: 1994605500}
|
||||
- {fileID: 1200884212}
|
||||
- {fileID: 1532558928}
|
||||
- {fileID: 1227305891}
|
||||
m_Father: {fileID: 2082092901}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
@ -14487,6 +14661,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
newGameButton: {fileID: 1707733837}
|
||||
quitButton: {fileID: 477076300}
|
||||
paymentText: {fileID: 314192190}
|
||||
--- !u!1 &2112606362
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@ -240,11 +240,11 @@ namespace RR.Common.Controls
|
||||
|
||||
}
|
||||
|
||||
public void StopBlink()
|
||||
public void StopBlink(bool enableHat = true)
|
||||
{
|
||||
if (blinkingCoroutine != null) StopCoroutine(blinkingCoroutine);
|
||||
Send("2131"); // вклю
|
||||
blinkingCoroutine = null;
|
||||
Send(enableHat ? "2131" : "2130"); // включаем или выключаем шляпу
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -279,8 +279,8 @@ namespace RR.Common.Controls
|
||||
|
||||
private void OnApplicationQuit()
|
||||
{
|
||||
// Отправляем сигнал закрытия игры
|
||||
Send("2170");
|
||||
Send("2170"); // Выключаем кнопки
|
||||
Send("2130"); // Выключаем шапку
|
||||
|
||||
StopAsyncPolling();
|
||||
ClosePort();
|
||||
@ -323,7 +323,7 @@ namespace RR.Common.Controls
|
||||
|
||||
private void ProcessComInputImmediate(string comInput)
|
||||
{
|
||||
GameManager.Logger.Log("COM: " + comInput);
|
||||
// Debug.Log("COM: " + comInput);
|
||||
|
||||
// INPUT обработка
|
||||
if (comInput.StartsWith("INPUT"))
|
||||
@ -339,7 +339,7 @@ namespace RR.Common.Controls
|
||||
|
||||
string rawData = comInput.Substring(5);
|
||||
|
||||
// Пр<EFBFBD><EFBFBD>веряем, что rawData не пустой
|
||||
// Проверяем, что rawData не пустой
|
||||
if (string.IsNullOrWhiteSpace(rawData))
|
||||
{
|
||||
GameManager.Logger.Log("INPUT получен с пустым значением");
|
||||
@ -397,7 +397,7 @@ namespace RR.Common.Controls
|
||||
|
||||
#region Приватные методы
|
||||
//Ну тут по дебаг логам все должно быть понятно
|
||||
//Если интересно, то h - это хэндл. Что то на плюсовом, типа ID соединения или чтото. Если 0 то нету соед. если меньше то ошибка, больше 0 - норм.
|
||||
//Если интересно, то h - это хэндл. Что-то на плюсовом, типа ID соединения или что-то. Если 0, то нету соед. если меньше то ошибка, больше 0 - норм.
|
||||
private void initPort()
|
||||
{
|
||||
GameManager.Logger.Log("ComWrapper", "Старт программы");
|
||||
|
||||
@ -158,6 +158,12 @@ namespace RR.Game2D.Core.Managers
|
||||
private void OnDestroy()
|
||||
{
|
||||
if (Instance == this) Instance = null;
|
||||
Plate.StopBlink(false);
|
||||
}
|
||||
|
||||
private void OnApplicationQuit()
|
||||
{
|
||||
OnDestroy();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -356,7 +362,7 @@ public void TogglePause() => SetPause(!IsPaused);
|
||||
|
||||
/// <summary>
|
||||
/// Загрузка сцены по названию.
|
||||
/// Вызывает одноименный метод в SceneManager.
|
||||
/// Вызывает одноименный метод в <see cref="SceneManager"/>.
|
||||
/// Может загружать сцены с UI и без.
|
||||
/// В сценах без UI игрок не спавнится
|
||||
/// </summary>
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5cbfc8b1557f401886b9e62505e9e6a6
|
||||
timeCreated: 1762846161
|
||||
@ -3,6 +3,7 @@ using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
using RR.Game2D.Core.Managers;
|
||||
using TMPro;
|
||||
|
||||
namespace RR.Common.UI
|
||||
{
|
||||
@ -12,6 +13,8 @@ namespace RR.Common.UI
|
||||
[SerializeField] private Button newGameButton;
|
||||
[SerializeField] private Button quitButton;
|
||||
|
||||
[Header("Тексты")] [SerializeField] private TextMeshProUGUI paymentText;
|
||||
|
||||
private PaymentManager _paymentManager;
|
||||
|
||||
private void Start()
|
||||
@ -79,11 +82,16 @@ namespace RR.Common.UI
|
||||
{
|
||||
newGameButton.interactable = true;
|
||||
newGameButton.interactable = true;
|
||||
paymentText.gameObject.SetActive(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (newGameButton) newGameButton.interactable = credits >= 1;
|
||||
if (newGameButton) newGameButton.interactable = credits >= 1;
|
||||
else paymentText.gameObject.SetActive(true);
|
||||
|
||||
if (!newGameButton) return;
|
||||
bool canStartGame = credits >= 1;
|
||||
newGameButton.interactable = canStartGame;
|
||||
newGameButton.interactable = canStartGame;
|
||||
paymentText.gameObject.SetActive(!canStartGame);
|
||||
}
|
||||
|
||||
private void ChangePlayButtonInteractable()
|
||||
|
||||
@ -701,7 +701,7 @@ PlayerSettings:
|
||||
framebufferDepthMemorylessMode: 0
|
||||
qualitySettingsNames: []
|
||||
projectName: Mario-like platformer
|
||||
organizationId: dis_bro
|
||||
organizationId:
|
||||
cloudEnabled: 0
|
||||
legacyClampBlendShapeWeights: 0
|
||||
hmiLoadingImage: {fileID: 0}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user