using Assets.Scripts; using DG.Tweening; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections; using System.Collections.Generic; using System.Reflection; using System.Text; using UnityEngine; using UnityEngine.Events; using UnityEngine.EventSystems; using UnityEngine.SceneManagement; using UnityEngine.UI; //记录:小f 是-457和-681 public class LoginForm { public InputField phone; public InputField pwd; } public class LoginController : MonoBehaviour { [SerializeField] InputField[] loginForm; [SerializeField] Button login; [SerializeField] Button loginNewAccount; [SerializeField] Button loginReturn2; [SerializeField] Button returnQuick; [SerializeField] Button regNext; [SerializeField] Button regPrev; [SerializeField] Button sign; [SerializeField] Button remember; [SerializeField] GameObject loginScrollView; [SerializeField] GameObject signScrollView; [SerializeField] GameObject avatarScrollView; [SerializeField] RawImage loading; [SerializeField] Button exit; private ScrollRect scrollPanel; private ScrollRect scrollSign; private ScrollRect scrollAvatar; private Transform imagexf; // Start is called before the first frame update void Start() { //transform.Find("RawImage").DOMove(new Vector3(0.5f,0.5f,0),1); if (loginForm.Length == 2 && loginForm[0]!=null && loginForm[1]!=null) { foreach (var ipt in loginForm) { UIManager.AddEvent(ipt.gameObject, EventTriggerType.PointerClick, new UnityAction ((BaseEventData arg0) => { OnLoginInputSelect(arg0, ipt.gameObject); })); UIManager.AddEvent(ipt.gameObject, EventTriggerType.Select, new UnityAction ((BaseEventData arg0) => { OnLoginInputSelect(arg0, ipt.gameObject); })); UIManager.AddEvent(ipt.gameObject, EventTriggerType.Deselect, new UnityAction ((BaseEventData arg0) => { OnLoginInputDeSelect(arg0, ipt.gameObject); })); } //loginForm[0]. } if (login != null) { login.onClick.AddListener(Submit); //login.onClick.AddListener(Submit); } if (loading != null) { loading.texture.wrapMode = TextureWrapMode.Repeat; } if (loginScrollView != null) { scrollPanel = loginScrollView.GetComponent(); } if (signScrollView != null) { scrollSign = signScrollView.GetComponent(); } if (avatarScrollView != null) { scrollAvatar = avatarScrollView.GetComponent(); } if (loginNewAccount != null) { loginNewAccount.onClick.AddListener(goLogin); } if (returnQuick != null) { returnQuick.onClick.AddListener(ReturnQuick); } if (sign != null) { sign.onClick.AddListener(goSign); } if (loginReturn2 != null) { loginReturn2.onClick.AddListener(goLoginReturn2); } if (regNext != null) { regNext.onClick.AddListener(goRegNext); } if (regPrev != null) { regPrev.onClick.AddListener(goRegPrev); } if (exit != null) { exit.onClick.AddListener(() => Application.Quit()); } if (remember != null) { remember.onClick.AddListener(() => { var gou = remember.transform.Find("Gou"); if (gou.gameObject.activeSelf) { gou.gameObject.SetActive(false); } else { gou.gameObject.SetActive(true); } }); } imagexf = transform.Find("Panel").Find("LoginContainer").Find("Imagexf"); } private void OnLoginInputDeSelect(BaseEventData arg0, GameObject game) { var image = game.transform.GetComponent(); image.sprite = Resources.Load("Images/gl-no"); //var rect = game.transform.GetComponent(); //rect.SetSiblingIndex(rect.childCount-1); } private void OnLoginInputSelect(BaseEventData arg0,GameObject game) { var image = game.transform.GetComponent(); image.sprite = Resources.Load("Images/gl"); //var rect = game.transform.GetComponent(); //rect.SetSiblingIndex(0); } private void goRegPrev() { StartScrollSign(0); } private void goRegNext() { StartScrollSign(1); } private void goLoginReturn2() { this.StartScrollPanel(1); } void ReturnQuick() { if (imagexf != null) { imagexf.DOLocalMove(new Vector3(0, -447, 0), 0.3f); } this.StartScrollPanel(0); } void goLogin() { if (imagexf != null) { imagexf.DOLocalMove(new Vector3(0, -635, 0), 0.3f); } this.StartScrollPanel(1); } void goSign() { this.StartScrollPanel(2); this.StartScrollSign(0); } async void Submit() { if (loginForm[0] == null || loginForm[1] == null) { Utils.showToast(gameObject, "未绑定", 1); return; } //if (string.IsNullOrEmpty(phone.text) || string.IsNullOrEmpty(pwd.text)) //{ // Utils.showToast(gameObject, "请输入信息", 1); // return; //} //var res = await Global.userApi.Login(phone.text, pwd.text, ""); //测试用 var res = await ConfigHelper.userApi.Login("15651831367", "123456", ""); //var res = await NoAuthApi.Login(phone.text, pwd.text); if (res.result) { ConfigHelper.CurrentUser = res.data; SceneManager.LoadScene("MainScene"); } else { } } // Update is called once per frame void Update() { //Debug.Log($"{phone.isFocused}, ${pwd != null}, ${Input.GetKeyDown(KeyCode.Tab)}"); if (loginForm[0].isFocused && loginForm[1] != null && Input.GetKeyDown(KeyCode.Tab)) { loginForm[1].ActivateInputField(); } goScrollPanel(); goScrollSign(); //if (Input.GetKeyDown(KeyCode.Return) && ) //{ //} //if (Input.GetKeyDown(KeyCode.Return)) { // Debug.Log("回车键"); // if (pwd.isFocused) // { // this.Submit(); // } //} } #region 主页面滑动逻辑 private int tmpImdex = 0; private int scrollPanelIndex = 2; //private float scrollValue = 0.5f; private bool startScrollPanel = false; private void StartScrollPanel(int index) { if (startScrollPanel) return; scrollPanelIndex = index; startScrollPanel = true; } private void goScrollPanel() { var index = scrollPanelIndex; var scrollValue = 1f/(3 - 1); var value = index * scrollValue; if (scrollPanel != null && startScrollPanel) { if (scrollPanel.horizontalNormalizedPosition >= value) { scrollPanel.horizontalNormalizedPosition -= (scrollValue / 20); if (scrollPanel.horizontalNormalizedPosition <= value) { scrollPanel.horizontalNormalizedPosition = value; startScrollPanel = false; } } else { scrollPanel.horizontalNormalizedPosition += (scrollValue / 20); if (scrollPanel.horizontalNormalizedPosition >= value) { scrollPanel.horizontalNormalizedPosition = value; startScrollPanel = false; } } } } #endregion private void Test() { //if (startScrollPanel) return; //scrollPanelIndex = ((int)System.Math.Pow(tmpImdex, 3) // + 2*(int)System.Math.Pow(tmpImdex, 2) // + 1) % 4; //tmpImdex++; //Debug.Log(scrollPanelIndex); //startScrollPanel = true; if (startScrollSign) return; scrollSignIndex = (scrollSignIndex + 1) % 2; Debug.Log(scrollSignIndex); startScrollSign = true; } #region 注册页面滑动逻辑 private bool startScrollSign = false; private int scrollSignIndex = 0; private void StartScrollSign(int index) { if (startScrollSign) return; scrollSignIndex = index; startScrollSign = true; } private void goScrollSign() { float value = scrollSignIndex; if (scrollSign != null && startScrollSign) { if (scrollSignIndex == 0) { scrollSign.horizontalNormalizedPosition -= (1f / 20); if (scrollSign.horizontalNormalizedPosition <= 0) { scrollSign.horizontalNormalizedPosition = 0; startScrollSign = false; } } else if (scrollSignIndex == 1) { scrollSign.horizontalNormalizedPosition += (1f / 20); if (scrollSign.horizontalNormalizedPosition >= 1) { scrollSign.horizontalNormalizedPosition = 1; startScrollSign = false; } } } } #endregion }