private WarningMessageElement GetElement() { WarningMessageElement warningMessageElement = !this.closeElements.IsNullOrEmpty <WarningMessageElement>() ? this.closeElements.Pop <WarningMessageElement>() : (WarningMessageElement)null; if (Object.op_Equality((Object)warningMessageElement, (Object)null)) { if (Object.op_Equality((Object)this.Prefab, (Object)null)) { return((WarningMessageElement)null); } warningMessageElement = (WarningMessageElement)((GameObject)Object.Instantiate <GameObject>((M0)this.Prefab, ((Component)this).get_transform(), false))?.GetComponent <WarningMessageElement>(); if (Object.op_Equality((Object)warningMessageElement, (Object)null)) { return((WarningMessageElement)null); } ((Object)((Component)warningMessageElement).get_gameObject()).set_name(string.Format("{0}_{1}", (object)((Object)this.Prefab).get_name(), (object)this.elmCount++)); warningMessageElement.Root = this; } if (((Component)warningMessageElement).get_gameObject().get_activeSelf()) { ((Component)warningMessageElement).get_gameObject().SetActive(false); } warningMessageElement.EndAction = new System.Action <WarningMessageElement>(this.EndAction); return(warningMessageElement); }
private void ReturnElement(WarningMessageElement _elm) { this.currentElement = (WarningMessageElement)null; if (((Component)_elm).get_gameObject().get_activeSelf()) { ((Component)_elm).get_gameObject().SetActive(false); } if (this.openElements.Contains(_elm)) { this.openElements.Remove(_elm); } if (this.closeElements.Contains(_elm)) { return; } this.closeElements.Add(_elm); }
private void OnDestroy() { if (this.nextMessageCheckerDisposable != null) { this.nextMessageCheckerDisposable.Dispose(); } ListPool <WarningMessageElement> .Release(this.openElements); ListPool <WarningMessageElement> .Release(this.closeElements); ListPool <ValueTuple <string, int, Transform, System.Action> > .Release(this.messageStock); this.openElements = (List <WarningMessageElement>)null; this.closeElements = (List <WarningMessageElement>)null; this.messageStock = (List <ValueTuple <string, int, Transform, System.Action> >)null; this.currentElement = (WarningMessageElement)null; }
private void PopupWarning() { ValueTuple <string, int, Transform, System.Action> valueTuple = this.messageStock.Pop <ValueTuple <string, int, Transform, System.Action> >(); WarningMessageElement element = this.GetElement(); this.currentElement = element; if (Object.op_Equality((Object)element, (Object)null)) { return; } element.ClosedAction = (System.Action)valueTuple.Item4; element.isFadeInForOutWait = this.isReserveFadeInForOutWait; element.SetFadeInfo(this.fadeInInfo, this.displayInfo, this.fadeOutInfo); element.Text = (string)valueTuple.Item1; element.Color = this.GetColor((int)valueTuple.Item2); if (Object.op_Inequality((Object)valueTuple.Item3, (Object)null)) { ((Component)element).get_transform().set_localPosition(((Transform)valueTuple.Item3).get_localPosition()); } if (!((Component)element).get_gameObject().get_activeSelf()) { ((Component)element).get_gameObject().SetActive(true); } ((Component)element).get_transform().SetAsLastSibling(); element.StartFadeIn(); switch ((int)valueTuple.Item2) { case 1: case 2: this.PlaySE(); break; } foreach (WarningMessageElement openElement in this.openElements) { if (!openElement.PlayingFadeOut) { openElement.StartFadeOut(); } } this.openElements.Add(element); }
private void EndAction(WarningMessageElement _elm) { _elm.isFadeInForOutWait = false; _elm.EndAction = (System.Action <WarningMessageElement>)null; this.ReturnElement(_elm); }