Пример #1
0
        public static bool IsMarkedToDestroy(this Component p_component, bool p_checkGameObjectToo = false)
        {
            bool v_sucess = MarkedToDestroy.IsMarked(p_component);

            if (!v_sucess && p_checkGameObjectToo)
            {
                try
                {
                    v_sucess = MarkedToDestroy.IsMarked(p_component.gameObject);
                }
                catch { }
            }
            return(v_sucess);
        }
Пример #2
0
        public virtual void StartRequest()
        {
            if (AsyncRequestOperation.Status != AsyncStatusEnum.Processing)
            {
                var enumerator = ProcessRequestInternal();
                RequestStackManager.RequestRoutine(this, enumerator);
                AsyncRequestOperation.Status = RequestStackManager.IsRequesting(enumerator) ? AsyncStatusEnum.Processing : AsyncStatusEnum.Cancelled;

                if (AsyncRequestOperation.Status == AsyncStatusEnum.Processing)
                {
                    MarkedToDestroy.RemoveMark(this.gameObject);
                    RegisterEvents();
                }
            }
        }
Пример #3
0
    public static void RemoveMark(Object p_object)
    {
        MarkedToDestroy v_mark = GetMark(p_object);

        if (v_mark != null && v_mark.Target == p_object)
        {
            if (v_mark.Target != null && v_mark.Target.name != null)
            {
                v_mark.Target.name = v_mark.Target.name.Replace("(MarkedToDestroy)", "");
                v_mark.ReverseCheckActivation();
            }
            v_mark.Target        = null;
            v_mark.TimeToDestroy = 0;
        }
    }
Пример #4
0
    public static MarkedToDestroy GetMark(Object p_object)
    {
        MarkedToDestroy v_mark = null;

        if (p_object != null)
        {
            foreach (MarkedToDestroy v_marked in _markedToDestroyInstances)
            {
                if (v_marked != null && v_marked.Target == p_object)
                {
                    v_mark = v_marked;
                    break;
                }
            }
        }
        return(v_mark);
    }
Пример #5
0
        private IEnumerator ProcessRequestInternal()
        {
            MarkedToDestroy.RemoveMark(this.gameObject);
            AsyncRequestOperation.Status = AsyncStatusEnum.Processing;
            yield return(ProcessRequest());

            AsyncRequestOperation.Status = AsyncStatusEnum.Done;
            foreach (var v_func in FunctionsToCallWhenFinish)
            {
                if (v_func != null)
                {
                    v_func.Params.Clear();
                    v_func.Params.Add(AsyncRequestOperation);
                    v_func.CallFunction();
                }
            }
            DestroyUtils.Destroy(this.gameObject);
        }
Пример #6
0
 private void CheckIfNeedUnloadImage()
 {
     if (!string.IsNullOrEmpty(Error) && (m_sprite != null || m_texture != null))
     {
         var v_texture = m_sprite != null? m_sprite.texture : null;
         //Destroy SpriteTexture
         if (v_texture != null)
         {
             DestroyUtils.DestroyImmediate(m_sprite.texture);
         }
         //Destroy Object Texture
         if (m_texture != null && !MarkedToDestroy.IsMarked(m_texture))
         {
             DestroyUtils.DestroyImmediate(m_texture);
         }
         if (m_sprite != null)
         {
             DestroyUtils.DestroyImmediate(m_sprite);
         }
         m_texture = null;
         m_sprite  = null;
     }
 }
Пример #7
0
        public static bool IsMarkedToDestroy(this GameObject p_object)
        {
            bool v_sucess = MarkedToDestroy.IsMarked(p_object);

            return(v_sucess);
        }