public void TestEventBusWithPoolableEvent() { var e = SamplePooledEvent.GetPooled("Hello World"); StaticBus <SamplePooledEvent> .Subscribe(OnSampleEvent); StaticBus <SamplePooledEvent> .Post(e); SamplePooledEvent.Release(e); Assert.IsTrue(m_EventReceived); m_EventReceived = false; using (SamplePooledEvent.GetPoolable("Hello World", out var evt)) { StaticBus <SamplePooledEvent> .Post(e); } Assert.IsTrue(m_EventReceived); }
public static void Release(SamplePooledEvent e) { s_EventsPool.Release(e); }
public static DefaultPool <SamplePooledEvent> .PooledObject GetPoolable(string data, out SamplePooledEvent e) { e = s_EventsPool.Get(); e.Data = data; var poolable = new DefaultPool <SamplePooledEvent> .PooledObject(e, s_EventsPool); return(poolable); }
void OnSampleEvent(SamplePooledEvent e) { Assert.That(e.Data, Is.EqualTo("Hello World")); m_EventReceived = true; }