public void OnChangedValuePasses() { var v = new UpdateObserver <int>(0); var counter = 0; var recievedValue = 0; v.OnChangedValue.Add((i) => { counter++; recievedValue = i; }); { v.Value = 100; Assert.AreEqual(1, counter); Assert.AreEqual(v.Value, recievedValue); } Debug.Log($"Success to Call OnChangedValue Callback!"); { v.Value = v.Value; Assert.AreEqual(1, counter); Assert.AreEqual(v.Value, recievedValue); } Debug.Log($"Success not to Call OnChangedValue Callback when not update UpdateObserver#Value!"); }
/// <summary> /// AttachToPanelEvent event callback. /// </summary> /// <param name="e">The event.</param> protected virtual void OnEnterPanel(AttachToPanelEvent e) { if (m_UpdateObserver == null) { m_UpdateObserver = new UpdateObserver(this); } m_CommandDispatcher?.RegisterObserver(m_UpdateObserver); }
public void BasicUsagePasses() { var v = new UpdateObserver <int>(); Assert.IsFalse(v.DidUpdated); v.Value = 100; Assert.AreEqual(100, v.Value); Assert.IsTrue(v.DidUpdated); v.Value = -100; Assert.AreEqual(-100, v.Value); Assert.IsTrue(v.DidUpdated); var prevValue = v.Value; v.Reset(); Assert.AreEqual(prevValue, v.Value); Assert.IsFalse(v.DidUpdated); }