You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
| 
											2 years ago
										 | using FairyGUI; | ||
|  | 
 | ||
|  | namespace Game | ||
|  | { | ||
|  |     public class UIPoolItem : ObjectPoolItemBase { } | ||
|  |     public class UIPoolItem<T> : UIPoolItem where T : GComponent, new() | ||
|  |     { | ||
|  |         public T MComponent; | ||
|  |         protected override void OnCreate() | ||
|  |         { | ||
|  |             MComponent.visible = true; | ||
|  |         } | ||
|  |         protected override void OnDestroy() | ||
|  |         { | ||
|  |             MComponent.visible = false; | ||
|  |         } | ||
|  |     } | ||
|  |     public class UIPoolManager : ObjectPoolBase<UIPoolManager> | ||
|  |     { | ||
|  |         public override void OnCreate() | ||
|  |         { | ||
|  |         } | ||
|  |         public UIPoolItem<T> CreateUIItem<T>(string url) where T : GComponent, new() | ||
|  |         { | ||
|  |             var contentItem = UIPackage.GetItemByURL(url); | ||
|  |             var pkgName = contentItem.owner.name; | ||
|  |             var compName = contentItem.name; | ||
|  |             string typeName = $"{contentItem.owner.name}_{contentItem.name}"; | ||
|  |             var poolObj = Create<UIPoolItem<T>>(typeName, (item) => | ||
|  |             { | ||
|  |                 item.MComponent = CreateUIComponent(pkgName, compName) as T; | ||
|  |             }); | ||
|  |             return poolObj; | ||
|  |         } | ||
|  |         private GComponent CreateUIComponent(string pkgName, string compName) | ||
|  |         { | ||
|  |             var comp = UIPackage.CreateObject(pkgName, compName).asCom; | ||
|  |             GRoot.inst.AddChild(comp); | ||
|  |             return comp; | ||
|  |         } | ||
|  | 
 | ||
|  |     } | ||
|  | } |