Ejemplo n.º 1
0
        public void DontSendToOneMultipleTimes()
        {
            AddAllListeners();

            var targets = new List <GameObject> {
                A.gameObject, A1.gameObject, A11a.gameObject, A12.gameObject
            };

            this.SendEventWithChildren(UnitTestEventType.TestEventType, EventPool.New <AEventData>(), targets);

            AreEqual(A.Triggered, 1);
            AreEqual(A1.Triggered, 1);
            AreEqual(A11a.Triggered, 1);
            AreEqual(A11b.Triggered, 1);
            AreEqual(A12.Triggered, 1);
            AreEqual(A2.Triggered, 1);
            AreEqual(A21.Triggered, 1);
            AreEqual(A22.Triggered, 1);
            AreNotEqual(B.Triggered, 1);
            AreNotEqual(B1.Triggered, 1);
            AreNotEqual(B11.Triggered, 1);
            AreNotEqual(B12.Triggered, 1);
            AreNotEqual(B2.Triggered, 1);
            AreNotEqual(B21.Triggered, 1);
            AreNotEqual(B22.Triggered, 1);

            RemoveAllListeners();
            Reset();
        }
Ejemplo n.º 2
0
        public void SendToListWhithoutChildren()
        {
            AddAllListeners();

            var targets = new List <GameObject> {
                A1.gameObject, A12.gameObject, B.gameObject, B22.gameObject
            };

            this.SendEvent(UnitTestEventType.TestEventType, EventPool.New <AEventData>(), targets);

            AreNotEqual(A.Triggered, 1);
            AreEqual(A1.Triggered, 1);
            AreNotEqual(A11a.Triggered, 1);
            AreNotEqual(A11b.Triggered, 1);
            AreEqual(A12.Triggered, 1);
            AreNotEqual(A2.Triggered, 1);
            AreNotEqual(A21.Triggered, 1);
            AreNotEqual(A22.Triggered, 1);
            AreEqual(B.Triggered, 1);
            AreNotEqual(B1.Triggered, 1);
            AreNotEqual(B11.Triggered, 1);
            AreNotEqual(B12.Triggered, 1);
            AreNotEqual(B2.Triggered, 1);
            AreNotEqual(B21.Triggered, 1);
            AreEqual(B22.Triggered, 1);

            RemoveAllListeners();
            Reset();
        }
Ejemplo n.º 3
0
        public void SendToChildren()
        {
            AddAllListeners();

            A.SendEventToChildren(UnitTestEventType.TestEventType, EventPool.New <AEventData>());

            AreNotEqual(A.Triggered, 1);
            AreEqual(A1.Triggered, 1);
            AreEqual(A11a.Triggered, 1);
            AreEqual(A11b.Triggered, 1);
            AreEqual(A12.Triggered, 1);
            AreEqual(A2.Triggered, 1);
            AreEqual(A21.Triggered, 1);
            AreEqual(A22.Triggered, 1);
            AreNotEqual(B.Triggered, 1);
            AreNotEqual(B1.Triggered, 1);
            AreNotEqual(B11.Triggered, 1);
            AreNotEqual(B12.Triggered, 1);
            AreNotEqual(B2.Triggered, 1);
            AreNotEqual(B21.Triggered, 1);
            AreNotEqual(B22.Triggered, 1);

            RemoveAllListeners();
            Reset();
        }
Ejemplo n.º 4
0
        public void SendToAll()
        {
            AddAllListeners();
            this.SendEvent(UnitTestEventType.TestEventType, EventPool.New <AEventData>());

            AreEqual(A.Triggered, 1);
            AreEqual(A1.Triggered, 1);
            AreEqual(A11a.Triggered, 1);
            AreEqual(A11b.Triggered, 1);
            AreEqual(A12.Triggered, 1);
            AreEqual(A2.Triggered, 1);
            AreEqual(A21.Triggered, 1);
            AreEqual(A22.Triggered, 1);
            AreEqual(B.Triggered, 1);
            AreEqual(B1.Triggered, 1);
            AreEqual(B11.Triggered, 1);
            AreEqual(B12.Triggered, 1);
            AreEqual(B2.Triggered, 1);
            AreEqual(B21.Triggered, 1);
            AreEqual(B22.Triggered, 1);

            RemoveAllListeners();
            AreEqual(EventDispatcher.GetListernerNumber(), 0);
            Reset();
        }
Ejemplo n.º 5
0
        public void TestEventPool()
        {
            ListenerEventData le = null;

            for (int i = 0; i < 3; i++)
            {
                le = EventPool.New <ListenerEventData>();
            }

            AreEqual(EventPool.TotalCreated, 3);

            EventPool.New <ListenerEventData>();
            AreEqual(EventPool.TotalCreated, 4);

            EventPool.Delete(le);
            EventPool.New <ListenerEventData>();
            AreEqual(EventPool.TotalCreated, 4);

            AEventData ae = null;

            for (int i = 0; i < 3; i++)
            {
                ae = EventPool.New <AEventData>();
            }

            AreEqual(EventPool.TotalCreated, 7);

            EventPool.New <AEventData>();
            AreEqual(EventPool.TotalCreated, 8);

            EventPool.Delete(ae);
            EventPool.New <AEventData>();
            AreEqual(EventPool.TotalCreated, 8);

            EventPool.Delete(ae);
            EventPool.New <AEventData>();
            AreEqual(EventPool.TotalCreated, 8);

            EventPool.Delete(ae);
            EventPool.New <AEventData>();
            AreEqual(EventPool.TotalCreated, 8);
        }
Ejemplo n.º 6
0
        public void AddListenerDuringSending()
        {
            A11a.AddEventListener(UnitTestEventType.TestEventType, A11a.OnEventAddListeners);

            var listeners = new List <UnitTestEventHandle> {
                A, B, B11, B22
            };

            var targets = new List <GameObject> {
                A.gameObject, B.gameObject
            };
            var e = EventPool.New <ListenerEventData>();

            e.Listeners = listeners;
            this.SendEventWithChildren(UnitTestEventType.TestEventType, e, targets);

            // will be traversed by order
            AreNotEqual(A.Triggered, 1);
            AreNotEqual(A1.Triggered, 1);
            AreEqual(A11a.Triggered, 1);
            AreNotEqual(A11b.Triggered, 1);
            AreNotEqual(A12.Triggered, 1);
            AreNotEqual(A2.Triggered, 1);
            AreNotEqual(A21.Triggered, 1);
            AreNotEqual(A22.Triggered, 1);
            AreNotEqual(B.Triggered, 1);
            AreNotEqual(B1.Triggered, 1);
            AreNotEqual(B11.Triggered, 1);
            AreNotEqual(B12.Triggered, 1);
            AreNotEqual(B2.Triggered, 1);
            AreNotEqual(B21.Triggered, 1);
            AreNotEqual(B22.Triggered, 1);

            A11a.RemoveEventListener(UnitTestEventType.TestEventType, A11a.OnEventAddListeners);
            A.RemoveEventListener(UnitTestEventType.TestEventType, A.OnEvent);
            B.RemoveEventListener(UnitTestEventType.TestEventType, B.OnEvent);
            B11.RemoveEventListener(UnitTestEventType.TestEventType, B11.OnEvent);
            B22.RemoveEventListener(UnitTestEventType.TestEventType, B22.OnEvent);

            Reset();
        }
Ejemplo n.º 7
0
        public void TestState1004To1003()
        {
            AreSame(fsm.CurrentState, fsm.State1003);

            // 检查相关服务起停次数
            AreEqual(fsm.ServiceProvider5.EnableTimes, sp5EnabledTimes);
            AreEqual(fsm.ServiceProvider5.DisableTimes, sp5DisabledTimes);
            AreEqual(fsm.EventListener5.EnableTimes, el5EnabledTimes);
            AreEqual(fsm.EventListener5.DisableTimes, el5DisabledTimes);
            AreEqual(fsm.Evt1001.EnableTimes, evt1001EnabledTimes + 2);
            AreEqual(fsm.Evt1001.DisableTimes, evt1001DisabledTimes + 1);
            AreEqual(fsm.Evt1002.EnableTimes, evt1001EnabledTimes + 2);
            AreEqual(fsm.Evt1002.DisableTimes, evt1001DisabledTimes + 1);

            // 检查服务启用状况
            IsTrue(fsm.ServiceProvider5.IsEnabled);
            IsTrue(fsm.EventListener5.IsEnabled);
            IsTrue(fsm.Evt1001.IsEnabled);
            IsTrue(fsm.Evt1002.IsEnabled);

            this.SendEvent(fsm.Evt1002.EventType, EventPool.New <TestEventData>());
        }
Ejemplo n.º 8
0
        public void SendToSingleWhithChildren()
        {
            AddAllListeners();
            this.SendEventWithChildren(UnitTestEventType.TestEventType, EventPool.New <AEventData>(), A.gameObject);

            AreEqual(A.Triggered, 1);
            AreEqual(A1.Triggered, 1);
            AreEqual(A11a.Triggered, 1);
            AreEqual(A11b.Triggered, 1);
            AreEqual(A12.Triggered, 1);
            AreEqual(A2.Triggered, 1);
            AreEqual(A21.Triggered, 1);
            AreEqual(A22.Triggered, 1);
            AreNotEqual(B.Triggered, 1);
            AreNotEqual(B1.Triggered, 1);
            AreNotEqual(B11.Triggered, 1);
            AreNotEqual(B12.Triggered, 1);
            AreNotEqual(B2.Triggered, 1);
            AreNotEqual(B21.Triggered, 1);
            AreNotEqual(B22.Triggered, 1);

            RemoveAllListeners();
            Reset();
        }
Ejemplo n.º 9
0
 public void TestState1011To1010()
 {
     AreSame(fsm.CurrentState, fsm.State1010);
     this.SendEvent(fsm.Evt1001.EventType, EventPool.New <TestEventData>()); // 测试 Evt1001 在第二个连线上重复使用
 }
Ejemplo n.º 10
0
 public void State1003To1004()
 {
     AreSame(fsm.CurrentState, fsm.State1003);
     this.SendEvent(fsm.Evt1001.EventType, EventPool.New <TestEventData>());
 }