Add Forgot pasword and Input birthday

This commit is contained in:
Shavira 2025-06-18 07:15:09 +07:00
parent a5ac8bf48d
commit 814c2bb2be
6 changed files with 14322 additions and 456 deletions

File diff suppressed because one or more lines are too long

View File

@ -115,10 +115,10 @@ RectTransform:
m_Father: {fileID: 5989088459606568522}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 335, y: -375}
m_SizeDelta: {x: 670, y: 90}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 90}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8196455824468203352
CanvasRenderer:
@ -4104,10 +4104,10 @@ RectTransform:
m_Father: {fileID: 5989088459606568522}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 335, y: -265}
m_SizeDelta: {x: 670, y: 90}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 90}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &368031201146382263
CanvasRenderer:
@ -5813,10 +5813,10 @@ RectTransform:
m_Father: {fileID: 5989088457849387791}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 485, y: -60}
m_SizeDelta: {x: 120, y: 120}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5989088457945970232
CanvasRenderer:
@ -7373,10 +7373,10 @@ RectTransform:
m_Father: {fileID: 5989088457849387791}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 485, y: -200}
m_SizeDelta: {x: 120, y: 120}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5989088458207346053
CanvasRenderer:
@ -7601,10 +7601,10 @@ RectTransform:
m_Father: {fileID: 5989088457849387791}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 205, y: -200}
m_SizeDelta: {x: 120, y: 120}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5989088458209613039
CanvasRenderer:
@ -8091,10 +8091,10 @@ RectTransform:
m_Father: {fileID: 5989088457849387791}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 65, y: -60}
m_SizeDelta: {x: 120, y: 120}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5989088458342110391
CanvasRenderer:
@ -9439,7 +9439,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &5989088458541418536
RectTransform:
m_ObjectHideFlags: 0
@ -10179,10 +10179,10 @@ RectTransform:
m_Father: {fileID: 5989088457849387791}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 345, y: -200}
m_SizeDelta: {x: 120, y: 120}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5989088458741577436
CanvasRenderer:
@ -11349,10 +11349,10 @@ RectTransform:
m_Father: {fileID: 5989088457849387791}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 205, y: -60}
m_SizeDelta: {x: 120, y: 120}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5989088458907099098
CanvasRenderer:
@ -13342,10 +13342,10 @@ RectTransform:
m_Father: {fileID: 5989088457849387791}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 65, y: -200}
m_SizeDelta: {x: 120, y: 120}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5989088459196100026
CanvasRenderer:
@ -14484,7 +14484,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &5989088459375460310
RectTransform:
m_ObjectHideFlags: 0
@ -15560,10 +15560,10 @@ RectTransform:
m_Father: {fileID: 5989088459606568522}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 335, y: -155}
m_SizeDelta: {x: 670, y: 90}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 90}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5989088459438126736
CanvasRenderer:
@ -15758,10 +15758,10 @@ RectTransform:
m_Father: {fileID: 5989088459606568522}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 335, y: -45}
m_SizeDelta: {x: 670, y: 90}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 90}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5989088459442087505
CanvasRenderer:
@ -17867,10 +17867,10 @@ RectTransform:
m_Father: {fileID: 5989088457849387791}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 345, y: -60}
m_SizeDelta: {x: 120, y: 120}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5989088459801418017
CanvasRenderer:

File diff suppressed because it is too large Load Diff

View File

@ -5,20 +5,23 @@ using TMPro;
using Unity.Services.Authentication;
using UnityEngine;
public class AuntMenu : Menu<AuntMenu>
{
[SerializeField] private GameObject loadingScreen;
[Header("Register")]
[SerializeField] private TMP_InputField usernameFieldRegister;
[SerializeField] private TMP_InputField nameFieldRegister;
[SerializeField] private TMP_InputField ageFieldRegister;
[SerializeField] private TMP_InputField paswordFieldRegister;
[SerializeField] private TMP_InputField EmailFieldRegister;
[SerializeField] private TMP_Dropdown dateAgeRegister;
[SerializeField] private TMP_Dropdown monthAgeRegister;
[SerializeField] private TMP_Dropdown yearAgeRegister;
private string usernameRegister;
private string AgeRegister;
private string EmailRegister;
private string paswordRegister;
private int calculatedAge;
[SerializeField] private GameObject RegisterObj;
[SerializeField] private GameObject InvalidAge;
@ -28,9 +31,8 @@ public class AuntMenu : Menu<AuntMenu>
[SerializeField] private TMP_InputField paswordFieldLogin;
private string usernameLogin;
private string passwordLogin;
SaveData saveData;
private void OnEnable()
{
@ -53,30 +55,18 @@ public class AuntMenu : Menu<AuntMenu>
{
AuthenticationService.Instance.SignedIn -= NextToMenu;
}
private bool IsRegisterFieldInvalid()
{
if (string.IsNullOrEmpty(usernameFieldRegister.text))
if (string.IsNullOrEmpty(usernameFieldRegister.text) ||
string.IsNullOrEmpty(paswordFieldRegister.text) ||
string.IsNullOrEmpty(EmailFieldRegister.text))
{
Debug.LogWarning("Username field is empty!");
Debug.LogWarning("Some required fields are empty!");
return true;
}
if (string.IsNullOrEmpty(paswordFieldRegister.text))
{
Debug.LogWarning("Password field is empty!");
return true;
}
if (string.IsNullOrEmpty(EmailFieldRegister.text))
{
Debug.LogWarning("Email field is empty!");
return true;
}
return false;
}
public async void Login()
{
@ -95,7 +85,6 @@ public class AuntMenu : Menu<AuntMenu>
paswordFieldLogin.text = "";
}
private void NextToMenu()
{
MainMenu.Open();
@ -109,35 +98,38 @@ public class AuntMenu : Menu<AuntMenu>
usernameRegister = usernameFieldRegister.text;
paswordRegister = paswordFieldRegister.text;
EmailRegister = EmailFieldRegister.text;
AgeRegister = ageFieldRegister.text;
if (!int.TryParse(AgeRegister, out int age))
{
Debug.LogWarning("Age must be a valid number!");
return;
}
int day = dateAgeRegister.value + 1;
int month = monthAgeRegister.value + 1;
int year = int.Parse(yearAgeRegister.options[yearAgeRegister.value].text);
if (age < 6 || age > 12)
{
Debug.LogWarning("Age must be between 6 and 12 years!");
InvalidAge.SetActive(true);
return;
}
DateTime birthDate = new DateTime(year, month, day);
calculatedAge = CalculateAge(birthDate);
//
// if (calculatedAge < 6 || calculatedAge > 12)
// {
// Debug.LogWarning("Age must be between 6 and 12 years!");
// Debug.Log(calculatedAge);
// InvalidAge.SetActive(true);
// return;
// }
if (string.IsNullOrEmpty(usernameRegister) || string.IsNullOrEmpty(paswordRegister))
{
Debug.LogWarning("Username or password is empty!");
return;
}
await AuthenticationManager.SignUpUsernamePassword(usernameRegister, paswordRegister, EmailRegister, calculatedAge.ToString());
await AuthenticationManager.SignUpUsernamePassword(usernameRegister, paswordRegister, EmailRegister, AgeRegister);
SaveData dataToSave = new SaveData();
dataToSave.playerName = nameFieldRegister.text;
dataToSave.agePlayer = AgeRegister;
dataToSave.agePlayer = calculatedAge.ToString();
dataToSave.username = CryptoUtility.Encrypt(usernameRegister);
dataToSave.password = CryptoUtility.Encrypt(paswordRegister);
await Cloudsave.SaveData(dataToSave, "DataPlayer");
}
private int CalculateAge(DateTime birthDate)
{
DateTime today = DateTime.Today;
int age = today.Year - birthDate.Year;
if (birthDate.Date > today.AddYears(-age)) age--;
return age;
}
}

View File

@ -0,0 +1,30 @@
using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
public class ForgotPasword : MonoBehaviour
{
[SerializeField] private TextMeshProUGUI emailTxt;
[SerializeField] private TextMeshProUGUI passwordTxt;
private void OnEnable()
{
string email = PlayerPrefs.GetString("emailLogin");
string password = PlayerPrefs.GetString("passwordLogin");
Debug.Log(email);
Debug.Log(password);
if (email != "" && password != "")
{
emailTxt.text = email;
passwordTxt.text = password;
}
else
{
emailTxt.text = "Belum Register";
passwordTxt.text = "Belum Register";
}
}
}

View File

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