public void ShowMessage(string _mes) { if (_mes.IsNullOrEmpty()) { return; } if (!this.openMessageList.IsNullOrEmpty <ResultMessageElement>()) { ResultMessageElement openMessage = this.openMessageList[this.openMessageList.Count - 1]; if (openMessage.Message == _mes) { if (openMessage.PlayingFadeIn) { return; } if (openMessage.PlayingDisplay) { openMessage.StartDisplay(); return; } } } ResultMessageElement resultMessageElement = this.closeMessageList.FirstOrDefault <ResultMessageElement>(); if (Object.op_Equality((Object)resultMessageElement, (Object)null)) { resultMessageElement = (ResultMessageElement)((GameObject)Object.Instantiate <GameObject>((M0)this.messagePrefab, ((Component)this).get_transform(), true)).GetComponent <ResultMessageElement>(); if (Object.op_Equality((Object)resultMessageElement, (Object)null)) { return; } resultMessageElement.Root = this; resultMessageElement.EndAction = new Action <ResultMessageElement>(this.CloseAction); } else { this.closeMessageList.RemoveAt(0); } foreach (ResultMessageElement openMessage in this.openMessageList) { openMessage.CloseMessage(); } this.openMessageList.Add(resultMessageElement); ((Component)resultMessageElement).get_transform().SetAsLastSibling(); if (!((Component)resultMessageElement).get_gameObject().get_activeSelf()) { ((Component)resultMessageElement).get_gameObject().SetActive(true); } resultMessageElement.ShowMessage(_mes); }
private void CloseAction(ResultMessageElement _child) { if (this.openMessageList == null || this.closeMessageList == null) { return; } if (this.openMessageList.Contains(_child)) { this.openMessageList.Remove(_child); } if (!this.closeMessageList.Contains(_child)) { this.closeMessageList.Add(_child); } if (!((Component)_child).get_gameObject().get_activeSelf()) { return; } ((Component)_child).get_gameObject().SetActive(false); }