Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }