using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace MMO { public class MMOUIFill : MMOUIPop { [SerializeField] GameObject mGobMale; [SerializeField] GameObject mGobFemale; [SerializeField] InputField mIptUsername; [SerializeField] Button mBtnMale; [SerializeField] Button mBtnFemale; [SerializeField] Button mBtnSubmit; private string mPreviousName; private int mSex = 0; private Image[] mImgsInMale; private Image[] mImgsInFemale; protected override void OnInit() { base.OnInit(); BindBtn(mBtnMale, OnClickMale); BindBtn(mBtnFemale, OnClickFemale); BindBtn(mBtnSubmit, OnClickSubmit); mImgsInMale = mGobMale.GetComponentsInChildren(); mImgsInFemale = mGobFemale.GetComponentsInChildren(); } public override void OnOpen() { base.OnOpen(); mPreviousName = MMOUserData.Instance.Username; mIptUsername.text = mPreviousName; SetSex(MMOUserData.Instance.Sex); } public void SetInput(string pStr) { mIptUsername.gameObject.SetActive(!string.IsNullOrEmpty(pStr)); mIptUsername.text = pStr; } private void SetSex(int pSex) { mSex = pSex; //mGobMale.SetActive(mSex == 1); //mGobFemale.SetActive(mSex == 0); for (int i = 0; i < mImgsInMale.Length; i++) { MMOUtils.SetImageGray(mImgsInMale[i], mSex == 0); } for (int i = 0; i < mImgsInFemale.Length; i++) { MMOUtils.SetImageGray(mImgsInFemale[i], mSex == 1); } } private void OnClickMale() { SetSex(1); } private void OnClickFemale() { SetSex(0); } private void OnClickSubmit() { string tInputStr = mIptUsername.text.Replace(" ", ""); if (string.IsNullOrEmpty(tInputStr)) { MMOModule.Instance.ShowTip("Username can't be empty!"); return; } MMOUserData.Instance.Username = tInputStr; MMOUserData.Instance.Sex = mSex; MMOModule.Instance.UIMgr.GetUI().UpdateUserInfo(); MMOInnerSDKManager.Instance.LogUserGender(mSex == 1? MMOEventValue.Male : MMOEventValue.Female); MMOInnerSDKManager.Instance.LogRobuxAction(MMOEventValue.NameSubmit); MMOInnerSDKManager.Instance.LogUserType(MMOEventValue.With_Submit); if (!mPreviousName.Equals(tInputStr)) { MMOAPIRequestManager.Instance.SendRequest(new MMORequestSetRobloxID(MMOUserData.Instance.Username)); } PopOut(); } } }