| 
									
										
										
										
											2022-07-04 11:17:39 +00:00
										 |  |  |  | using System.Collections; | 
					
						
							|  |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using UnityEngine; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | public class PetList : ListView<PetCell> | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     public override int Count => TablePet.Instance.Count; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     protected override void ConfigCell(PetCell pCell) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         DataPet tData = TablePet.Instance[pCell.Index]; | 
					
						
							|  |  |  |  |         pCell.DelPurchase = OnBuyPet; | 
					
						
							|  |  |  |  |         pCell.DelAd = OnAdPet; | 
					
						
							|  |  |  |  |         pCell.DelUse = OnUsePet; | 
					
						
							|  |  |  |  |         pCell.ConfigCell(tData, PlayerData.Instance.HasPet(tData.PetID), PlayerData.Instance.CurrentPetID == tData.PetID); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     private void OnBuyPet(int pPetID) | 
					
						
							|  |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2022-09-09 14:35:49 +00:00
										 |  |  |  |         DataPet tData = TablePet.Instance.GetData(pPetID); | 
					
						
							| 
									
										
										
										
											2022-07-04 11:17:39 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         if (PlayerData.Instance.Diamond >= tData.Price) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             PlayerData.Instance.Diamond -= tData.Price; | 
					
						
							|  |  |  |  |             UIUtils.DropDiamond(tData.Price); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             PlayerData.Instance.GetPet(pPetID); | 
					
						
							|  |  |  |  |             PlayerData.Instance.UsePet(pPetID); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             PetManager.Instance.SetPet(PlayerData.Instance.CurrentPetID); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             LoadData(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     private void OnAdPet(int pPetID) | 
					
						
							|  |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2022-09-09 14:35:49 +00:00
										 |  |  |  |         AdsUtils.PlayReward(TKGRVPositionName.RV_Get_Pet, () => | 
					
						
							| 
									
										
										
										
											2022-07-04 11:17:39 +00:00
										 |  |  |  |         { | 
					
						
							|  |  |  |  |             int tCount = PlayerData.Instance.AddPetProgress(pPetID); | 
					
						
							| 
									
										
										
										
											2022-09-09 14:35:49 +00:00
										 |  |  |  |             DataPet tPet = TablePet.Instance.GetData(pPetID); | 
					
						
							|  |  |  |  |             int tOnlineCount = TKGSDKManager.Instance.GetConfigInt(TKGParamKey.SkinAdCount); | 
					
						
							| 
									
										
										
										
											2022-07-04 11:17:39 +00:00
										 |  |  |  |             if (tCount >= (tOnlineCount > 0 ? tOnlineCount : tPet.AdCount)) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 PlayerData.Instance.GetPet(pPetID); | 
					
						
							|  |  |  |  |                 PlayerData.Instance.UsePet(pPetID); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 PetManager.Instance.SetPet(PlayerData.Instance.CurrentPetID); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             LoadData(); | 
					
						
							|  |  |  |  |         }); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     private void OnUsePet(int pPetID) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         PlayerData.Instance.UsePet(pPetID); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         PetManager.Instance.SetPet(PlayerData.Instance.CurrentPetID); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         LoadData(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | } |