public void OnUpdated(object block, int updateStateMask) { if (mViewRef == null || mViewRef.ViewTransform == null || mViewRef.Block != block) { ((Block)block).RemoveObserver(this); } else { foreach (Block.UpdateState state in Enum.GetValues(typeof(Block.UpdateState))) { if (((1 << (int)state) & updateStateMask) != 0) { mViewRef.OnBlockUpdated(state); } } } }