public async ETTask FSMOnEnter(Entity component) { List <object> iFSMOnEnterSystems = this.typeSystems.GetSystems(component.GetType(), typeof(IFSMOnEnterSystem)); if (iFSMOnEnterSystems == null) { return; } for (int i = 0; i < iFSMOnEnterSystems.Count; i++) { IFSMOnEnterSystem aFSMOnEnterSystem = (IFSMOnEnterSystem)iFSMOnEnterSystems[i]; if (aFSMOnEnterSystem == null) { continue; } try { await aFSMOnEnterSystem.Run(component); } catch (Exception e) { Log.Error(e); } } }
public async ETTask FSMOnEnter <P1, P2, P3, P4>(Entity component, P1 p1, P2 p2, P3 p3, P4 p4) { List <object> iFSMOnEnterSystems = this.typeSystems.GetSystems(component.GetType(), typeof(IFSMOnEnterSystem <P1, P2, P3, P4>)); if (iFSMOnEnterSystems == null) { return; } for (int i = 0; i < iFSMOnEnterSystems.Count; i++) { IFSMOnEnterSystem <P1, P2, P3, P4> aFSMOnEnterSystem = (IFSMOnEnterSystem <P1, P2, P3, P4>)iFSMOnEnterSystems[i]; if (aFSMOnEnterSystem == null) { continue; } try { await aFSMOnEnterSystem.Run(component, p1, p2, p3, p4); } catch (Exception e) { Log.Error(e); } } }