93 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using UnityEngine;
 | |
| using UnityEngine.UI;
 | |
| 
 | |
| namespace MMO
 | |
| {
 | |
|     public class MMOUIInviteVerify : MMOUIPop
 | |
|     {
 | |
|         public Action DelInvited;
 | |
| 
 | |
|         [SerializeField] GameObject mGobVerify;
 | |
|         [SerializeField] GameObject mGobResult;
 | |
|         [SerializeField] GameObject mGobSuccess;
 | |
|         [SerializeField] GameObject mGobFail;
 | |
| 
 | |
|         [SerializeField] InputField mIptCode;
 | |
|         [SerializeField] Button mBtnSubmit;
 | |
|         [SerializeField] Button mBtnOK;
 | |
| 
 | |
|         private bool mIsSuccessful = false;
 | |
| 
 | |
|         protected override void OnInit()
 | |
|         {
 | |
|             base.OnInit();
 | |
| 
 | |
|             BindBtn(mBtnSubmit, OnClickSubmit);
 | |
|             BindBtn(mBtnOK, OnClickOK);
 | |
|         }
 | |
| 
 | |
|         public override void OnOpen()
 | |
|         {
 | |
|             base.OnOpen();
 | |
| 
 | |
|             ShowInfo(true);
 | |
|         }
 | |
| 
 | |
|         private void ShowInfo(bool pIsVerify, bool pSuccess = false)
 | |
|         {
 | |
|             mGobVerify.SetActive(pIsVerify);
 | |
|             mGobResult.SetActive(!pIsVerify);
 | |
| 
 | |
|             if (!pIsVerify)
 | |
|             {
 | |
|                 mGobSuccess.SetActive(pSuccess);
 | |
|                 mGobFail.SetActive(!pSuccess);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         private void OnClickSubmit()
 | |
|         {
 | |
|             if (string.IsNullOrEmpty(mIptCode.text))
 | |
|             {
 | |
|                 MMOModule.Instance.ShowTip("Code can't be empty!");
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             MMOModule.Instance.UIMgr.OpenUI<MMOUIWaiting>();
 | |
|             MMOAPIRequestManager.Instance.SendRequest<MMORequestSetInvite, string>(new MMORequestSetInvite(mIptCode.text), OnSuccess, OnFail);
 | |
|         }
 | |
| 
 | |
|         private void OnClickOK()
 | |
|         {
 | |
|             if (mIsSuccessful)
 | |
|             {
 | |
|                 PopOut();
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 ShowInfo(true);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         private void OnSuccess(string pStr)
 | |
|         {
 | |
|             MMOModule.Instance.UIMgr.CloseUI<MMOUIWaiting>();
 | |
|             MMOInnerSDKManager.Instance.LogInviteAction(MMOEventValue.Code_Enter);
 | |
| 
 | |
|             mIsSuccessful = true;
 | |
|             ShowInfo(false, true);
 | |
|             MMOUserData.Instance.HasBeenInvited = true;
 | |
|             DelInvited?.Invoke();
 | |
|         }
 | |
| 
 | |
|         private void OnFail(int pErrorCode)
 | |
|         {
 | |
|             MMOModule.Instance.UIMgr.CloseUI<MMOUIWaiting>();
 | |
| 
 | |
|             mIsSuccessful = false;
 | |
|             ShowInfo(false, false);
 | |
|         }
 | |
|     }
 | |
| } |