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); }
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(); } } }
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; } }
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); }
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); }
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; } }
public static bool IsMarkedToDestroy(this GameObject p_object) { bool v_sucess = MarkedToDestroy.IsMarked(p_object); return(v_sucess); }