| 
					
				 | 
			
			
				@@ -17,7 +17,8 @@ namespace Fort23.Mono 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public int shieldSize = 50; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public bool isFollowTarget = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private BetterList<BuffWidget> buBetterList = new BetterList<BuffWidget>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void Init() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -41,11 +42,29 @@ namespace Fort23.Mono 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroDie, HeroDie); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddBuff, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 AddBuff); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.RemoveBuff, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RemoveBuff); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             StaticUpdater.Instance.RemoveRenderUpdateCallBack(Update); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             base.DormancyObj(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private async void RemoveBuff(IEventData iEventData) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            BuffEventData buffEventData = iEventData as BuffEventData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (buffEventData.target == combatHeroEntity) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (int i = 0; i < buBetterList.Count; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    BuffWidget buffWidget = buBetterList[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (buffWidget.buffBasic == buffEventData.BuffBasic) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        UIManager.Instance.DormancyGComponent(buffWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        buBetterList.RemoveAt(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private async void AddBuff(IEventData iEventData) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             BuffEventData buffEventData = iEventData as BuffEventData; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -54,6 +73,7 @@ namespace Fort23.Mono 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 BuffBasic buffBasic = buffEventData.BuffBasic; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 BuffWidget buffWidget = await UIManager.Instance.CreateGComponent<BuffWidget>(null, buffRoot); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 buffWidget.InitBuff(buffBasic); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                buBetterList.Add(buffWidget); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -103,12 +123,18 @@ namespace Fort23.Mono 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void HeroDie(IEventData iEventData) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             HeroDieEventData heroHpUpdateEventData = iEventData as HeroDieEventData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (heroHpUpdateEventData.combatHeroEntity == combatHeroEntity && combatHeroEntity.IsEnemy) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (heroHpUpdateEventData.combatHeroEntity == combatHeroEntity) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (int i = 0; i < buBetterList.Count; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    UIManager.Instance.DormancyGComponent(buBetterList[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                buBetterList.Clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (string.IsNullOrEmpty(poolObjName)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 GObjectPool.Instance.Recycle(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |