private void OnToastBeginClose(ToastProcess toast) { if (mCurrentToast == toast) { mCurrentToast = null; } }
public static void Cache(ToastProcess toast) { if (toast == null) { return; } cached_instances.Enqueue(toast); }
public static ToastProcess Get(string content, float duration) { ToastProcess toast = null; if (cached_instances.Count > 0) { toast = cached_instances.Dequeue(); } if (toast == null) { toast = new ToastProcess(); } toast.mContent = content; toast.mDuration = duration; return(toast); }
public void ShowToast(string content, float duration) { if (mCurrentToast != null) { mCurrentToast.Close(); mCurrentToast = null; } if (mOnToastBeginClose == null) { mOnToastBeginClose = OnToastBeginClose; } if (mOnToastClosed == null) { mOnToastClosed = OnToastClosed; } mCurrentToast = ToastProcess.Get(content, duration); mCurrentToast.Start(mOnToastBeginClose, mOnToastClosed); }
private void OnToastClosed(ToastProcess toast) { toast.Clear(); ToastProcess.Cache(toast); }