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); | |||
|  |         } | |||
|  |     } | |||
|  | } |