CultivateImmortal/Assets/Scripts/BeginScene/UI/LoginPanel.cs

185 lines
5.4 KiB
C#
Raw Normal View History

using System.Collections;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class LoginPanel : BasePanel
{
//ע<>ᰴť
public Button btnRegister;
//<2F><>¼<EFBFBD><C2BC>ť
public Button btnLogin;
//<2F>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public InputField inputUser;
public Text txtPlaUser;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public InputField inputPw;
public Text txtPlaPw;
public override void Init()
{
Debug.Log(Application.persistentDataPath);
GameDataMgr.Instance.Init();
btnRegister.onClick.AddListener(() =>
{
UIManager.Instance.ShowPanel<RegisterPanel>(E_UILayer.Bottom);
UIManager.Instance.HidePanel<LoginPanel>();
});
btnLogin.onClick.AddListener(() =>
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC> Ҫ<><D2AA>֤<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD> <20>Ƿ<EFBFBD><C7B7><EFBFBD>ȷ
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>Ϸ<EFBFBD>
if (inputPw.text.Length <= 6 || inputUser.text.Length <= 6)
{
//<2F><>ʾ<EFBFBD><CABE><EFBFBD>Ϸ<EFBFBD>
TipPanel panel = UIManager.Instance.ShowPanel<TipPanel>(E_UILayer.Bottom);
//<2F>ı<EFBFBD><C4B1><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
panel.ChangeInfo("<22>˺ź<CBBA><C5BA><EFBFBD><EFBFBD><EFBFBD><EBB6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6λ");
return;
}
//<2F><>֤ <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ƿ<EFBFBD> ͨ<><CDA8>
if (GameDataMgr.Instance.CheckInfo(inputUser.text, inputPw.text))
{
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GameDataMgr.Instance.PlayerDataLoad(inputUser.text);
//<2F><>¼<EFBFBD>ɹ<EFBFBD>
UIManager.Instance.ShowPanel<TopPanel>(E_UILayer.System);
UIManager.Instance.ShowPanel<BattlePanel>(E_UILayer.Bottom);
UIManager.Instance.ShowPanel<LowerPanel>(E_UILayer.System);
//<2F><><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>
UIManager.Instance.HidePanel<LoginPanel>();
}
else
{
//<2F><>¼ʧ<C2BC><CAA7>
UIManager.Instance.ShowPanel<TipPanel>(E_UILayer.Middle).ChangeInfo("<22>˺Ż<CBBA><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
}
});
//<2F>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B7B6>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сд<D0A1><D0B4>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
inputUser.onValueChanged.AddListener((value) =>
{
// ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сд<D0A1><D0B4>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string userStr = Regex.Replace(value, @"[^a-zA-Z0-9]", "");
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 16 <20><><EFBFBD>ַ<EFBFBD>
if (userStr.Length > 16)
{
userStr = userStr.Substring(0, 16);
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (value != userStr)
{
inputUser.text = userStr;
}
});
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B7B6>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сд<D0A1><D0B4>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
inputPw.onValueChanged.AddListener((value) =>
{
// ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сд<D0A1><D0B4>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string pwStr = Regex.Replace(value, @"[^a-zA-Z0-9]", "");
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 16 <20><><EFBFBD>ַ<EFBFBD>
if (pwStr.Length > 16)
{
pwStr = pwStr.Substring(0, 16);
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (value != pwStr)
{
inputPw.text = pwStr;
}
});
}
void Update()
{
// <20><><EFBFBD><EFBFBD> Tab <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (Input.GetKeyDown(KeyCode.Tab))
{
// <20><>ȡ<EFBFBD><C8A1>ǰѡ<C7B0>еĶ<D0B5><C4B6><EFBFBD>
GameObject currentSelected = EventSystem.current.currentSelectedGameObject;
// <20>жϵ<D0B6>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򣬲<EFBFBD><F2A3ACB2><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (currentSelected == inputUser.gameObject)
{
inputPw.Select();
if (inputUser.text== "")
{
txtPlaUser.text = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD>";
}
if (inputPw.text== "")
{
txtPlaPw.text = "";
}
}
else if (currentSelected == inputPw.gameObject)
{
inputUser.Select();
if (inputPw.text == "")
{
txtPlaPw.text = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
if (inputUser.text == "")
{
txtPlaUser.text = "";
}
}
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ
if (EventSystem.current.currentSelectedGameObject == inputUser.gameObject)
{
// <20><><EFBFBD><EFBFBD>Placeholder
txtPlaUser.text = "";
if (inputPw.text == "")
{
txtPlaPw.text = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
}
if (EventSystem.current.currentSelectedGameObject == inputPw.gameObject)
{
// <20><><EFBFBD><EFBFBD>Placeholder
txtPlaPw.text = "";
if (inputUser.text == "")
{
txtPlaUser.text = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD>";
}
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (Input.GetMouseButtonDown(0))
{
// <20><><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ѡ<EFBFBD>еĶ<D0B5><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Placeholder
if (EventSystem.current.currentSelectedGameObject == null)
{
if (string.IsNullOrEmpty(inputUser.text))
{
txtPlaUser.text = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD>";
}
if (string.IsNullOrEmpty(inputPw.text))
{
txtPlaPw.text = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
}
}
}
/// <summary>
/// ע<><D7A2><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="user"></param>
/// <param name="passward"></param>
public void SetInfo(string user, string passward)
{
inputUser.text = user;
inputPw.text = passward;
}
}