mergemilitary/Assets/MMOModule/Scripts/MMOUIs/MMOUIFill.cs

106 lines
3.0 KiB
C#

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<Image>();
mImgsInFemale = mGobFemale.GetComponentsInChildren<Image>();
}
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<MMOUIMain>().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<MMORequestSetRobloxID, string>(new MMORequestSetRobloxID(MMOUserData.Instance.Username));
}
PopOut();
}
}
}