Просмотр исходного кода

修复: 热更层订阅model层事件的一个bug,mono层抛事件到热更层会抛多次

tanghai 7 лет назад
Родитель
Сommit
bd24683d34
1 измененных файлов с 6 добавлено и 6 удалено
  1. 6 6
      Unity/Hotfix/Base/Object/EventSystem.cs

+ 6 - 6
Unity/Hotfix/Base/Object/EventSystem.cs

@@ -125,7 +125,7 @@ namespace ETHotfix
 					this.RegisterEvent(aEventAttribute.Type, iEvent);
 
 					// hotfix的事件也要注册到mono层,hotfix可以订阅mono层的事件
-					Action<List<object>> action = list => { Handle(aEventAttribute.Type, list); };
+					Action<List<object>> action = list => { Handle(iEvent, list); };
 					ETModel.Game.EventSystem.RegisterEvent(aEventAttribute.Type, new EventProxy(action));
 				}
 			}
@@ -133,21 +133,21 @@ namespace ETHotfix
 			this.Load();
 		}
 
-		public static void Handle(string type, List<object> param)
+		public static void Handle(IEvent iEvent, List<object> param)
 		{
 			switch (param.Count)
 			{
 				case 0:
-					Game.EventSystem.Run(type);
+					iEvent.Handle();
 					break;
 				case 1:
-					Game.EventSystem.Run(type, param[0]);
+					iEvent.Handle(param[0]);
 					break;
 				case 2:
-					Game.EventSystem.Run(type, param[0], param[1]);
+					iEvent.Handle(param[0], param[1]);
 					break;
 				case 3:
-					Game.EventSystem.Run(type, param[0], param[1], param[2]);
+					iEvent.Handle(param[0], param[1], param[2]);
 					break;
 			}
 		}