Ejemplo n.º 1
0
        protected virtual void InternalRefreshBackingDataList()
        {
            try
            {
                if (m_rawDataListResourceLock.Owned)
                {
                    return;
                }
                if (WorldManager.Instance.IsWorldSaving)
                {
                    return;
                }
                if (WorldManager.Instance.InternalGetResourceLock() == null)
                {
                    return;
                }
                if (WorldManager.Instance.InternalGetResourceLock().Owned)
                {
                    return;
                }

                m_rawDataListResourceLock.AcquireExclusive();

                if (m_backingObject == null)
                {
                    return;
                }
                var rawValue = BaseObject.InvokeEntityMethod(m_backingObject, m_backingSourceMethod);
                if (rawValue == null)
                {
                    return;
                }
                m_rawDataList = UtilityFunctions.ConvertList(rawValue);

                m_rawDataListResourceLock.ReleaseExclusive();
            }
            catch (Exception ex)
            {
                LogManager.ErrorLog.WriteLine(ex);
                m_rawDataListResourceLock.ReleaseExclusive();
            }
        }