| 
									
										
										
										
											2022-07-04 11:17:39 +00:00
										 |  |  |  | using System; | 
					
						
							|  |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using UnityEngine; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace MMO | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     public class MMOUIGuide : MMOUIBase | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         public Action DelGuideOver; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         private List<MMOGuideStep> mSteps; | 
					
						
							|  |  |  |  |         private int mCurrentIndex = 0; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         protected override void OnInit() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             base.OnInit(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             mSteps = MMOUIManager.GetChildList<MMOGuideStep>(transform); | 
					
						
							|  |  |  |  |             for (int i = 0; i < mSteps.Count; i++) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 mSteps[i].DelExcute = OnStepExcute; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         public override void OnOpen() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             base.OnOpen(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-09 14:35:49 +00:00
										 |  |  |  |             mCurrentIndex = 0; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             ShowStep(); | 
					
						
							| 
									
										
										
										
											2022-07-04 11:17:39 +00:00
										 |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         private void OnStepExcute() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             int tExcuteIndex = mCurrentIndex; | 
					
						
							|  |  |  |  |             mSteps[mCurrentIndex].gameObject.SetActive(false); | 
					
						
							|  |  |  |  |             mCurrentIndex++; | 
					
						
							|  |  |  |  |             if (mCurrentIndex < mSteps.Count) | 
					
						
							|  |  |  |  |             { | 
					
						
							| 
									
										
										
										
											2022-09-09 14:35:49 +00:00
										 |  |  |  |                 ShowStep(); | 
					
						
							| 
									
										
										
										
											2022-07-04 11:17:39 +00:00
										 |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 MMOUserData.Instance.FinishGuide(); | 
					
						
							|  |  |  |  |                 Close(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             ExcuteByIndex(tExcuteIndex); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-09 14:35:49 +00:00
										 |  |  |  |         private void ShowStep() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (mSteps[mCurrentIndex].DelayTime > 0) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Invoke("DelayShowStep", mSteps[mCurrentIndex].DelayTime); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 DelayShowStep(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         private void DelayShowStep() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             mSteps[mCurrentIndex].gameObject.SetActive(true); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-04 11:17:39 +00:00
										 |  |  |  |         private void ExcuteByIndex(int pIndex) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (pIndex == 0) | 
					
						
							|  |  |  |  |             { | 
					
						
							| 
									
										
										
										
											2022-09-09 14:35:49 +00:00
										 |  |  |  |                 MMOModule.Instance.Enter(MMOUserData.Instance.Diamond, MMOUserData.Instance.GameLevel); | 
					
						
							| 
									
										
										
										
											2022-07-04 11:17:39 +00:00
										 |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (pIndex == 1) | 
					
						
							|  |  |  |  |             { | 
					
						
							| 
									
										
										
										
											2022-09-09 14:35:49 +00:00
										 |  |  |  |                 MMOModule.Instance.UIMgr.GetUI<MMOUIMain>().OpenDaily(); | 
					
						
							| 
									
										
										
										
											2022-07-04 11:17:39 +00:00
										 |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (pIndex == 2) | 
					
						
							|  |  |  |  |             { | 
					
						
							| 
									
										
										
										
											2022-09-09 14:35:49 +00:00
										 |  |  |  |                 MMOModule.Instance.UIMgr.GetUI<MMOUIDailyClaim>().Claim(); | 
					
						
							| 
									
										
										
										
											2022-07-04 11:17:39 +00:00
										 |  |  |  |             } | 
					
						
							| 
									
										
										
										
											2022-09-09 14:35:49 +00:00
										 |  |  |  |             else if (pIndex == 4) | 
					
						
							| 
									
										
										
										
											2022-07-04 11:17:39 +00:00
										 |  |  |  |             { | 
					
						
							|  |  |  |  |                 MMOModule.Instance.UIMgr.CloseUI<MMOUIMain>(); | 
					
						
							| 
									
										
										
										
											2022-09-09 14:35:49 +00:00
										 |  |  |  |                 MMOModule.Instance.UIMgr.CloseUI<MMOUITop>(); | 
					
						
							| 
									
										
										
										
											2022-07-04 11:17:39 +00:00
										 |  |  |  |             } | 
					
						
							| 
									
										
										
										
											2022-09-09 14:35:49 +00:00
										 |  |  |  |             else if (pIndex == 5) | 
					
						
							| 
									
										
										
										
											2022-07-04 11:17:39 +00:00
										 |  |  |  |             { | 
					
						
							| 
									
										
										
										
											2022-09-09 14:35:49 +00:00
										 |  |  |  |                 Close(); | 
					
						
							| 
									
										
										
										
											2022-07-04 11:17:39 +00:00
										 |  |  |  |                 DelGuideOver?.Invoke(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | } |