IEnumerator PlayFun() { WaitForSeconds waifTime = new WaitForSeconds(0.3f); while (mGroups.Count != 0 || mParmas.Count > 0) { while (mParmas.Count > 0) { var tips = mParmas.Dequeue(); mGroups.Add(1); var item = mGroups.Last; var text = item.GetFObject <Text>("S_Text"); text.text = tips.Context; var back = item.GetFObject <RectTransform>("S_Back"); back.sizeDelta = new Vector2(580, text.preferredHeight * 1.5f + (text.preferredHeight < 30 ? 15 : 0)); Color startColor = Color.white; startColor.a = 0; back.GetComponent <MaskableGraphic>().FOFade(0, 1).SetDuration(1.0f).SetTag(TweenTag.Tag_Child).SetEaseMode(FEaseMode.PM_EaseOutQuart).Reset(); back.transform.localPosition = mStartPos; back.FOMove(mStartPos + new Vector3(0, 150, 0)).SetDuration(1.5f).SetOnComplete(TipsEnd).SetEaseMode(FEaseMode.PM_EaseOutQuart); yield return(waifTime); } yield return(waifTime); } CloseMySelf(); }
private void mAsyncChange(bool create) { if (!create && mIndexPacge == 0) { return; } if (create) { List <CircleData> end = mBuffs[mIndexs[mIndexs.Count - 1]]; var newDataList = new List <CircleData>(); mBuffs[mIndexs.Count] = newDataList; mIndexs.Add(mIndexs.Count); for (int i = 0; i < end.Count; i++) { var cd = end[i]; CircleData newCD = null; int realIndex = GetIndex(mIndexPacge, i, true); mGroupTransform.Add(1); if (mTempObject.Count > realIndex) { newCD = mTempObject[realIndex]; } else { //GameObject clone = SceneManager.CloneObject(cd.go); GameObject clone = mGroupTransform.Last.gameObject; clone.transform.position = cd.go.transform.position + mWorldSzie; newCD = new CircleData(); newCD.go = clone; mTempObject.Add(newCD); } newDataList.Add(newCD); if (SentEvent(newCD, realIndex)) { newCD.go.SetActive(true); } else { newCD.go.SetActive(false); } } mIndexs[0]++; mIndexPacge += 1; } }
private void UpdateAsy(float floatIndex) { int desIndex = (int)(floatIndex - 0.5f) + m_CacheLine; if (desIndex > m_LastIndex) { desIndex = Mathf.Clamp(desIndex, 0, m_MaxLine); int count = Mathf.Clamp(m_LastIndex, 0, m_MaxLine); int cid = 0; for (int page = count; page < desIndex + 1; page++) { for (int n = 0; n < m_GroupNum; n++) { cid = page * m_GroupNum + n; if (m_MaxNum > cid) { ScrollItem com = null; if (cid < mItems.Count) { com = mItems[cid]; } else { mGroups.Add(1); com = new ScrollItem(mGroups.Last.gameObject); mItems.Add(com); } m_GLayPosition.HandTool(cid, com.gameObject.transform); com.SetIndexAndGroup(cid, page); UpdateEvent(com); } } } m_LastIndex = desIndex; } }