private MainMenuChatItem Use() { if (mPool.Count > 0) { MainMenuChatItem item = mPool[mPool.Count - 1]; mPool.RemoveAt(mPool.Count - 1); item.mDMono.gameObject.SetActive(true); mActive.Enqueue(item); item.mDMono.transform.parent = previewTable.transform; item.mDMono.transform.localPosition = Vector3.zero; item.mDMono.transform.localScale = Vector3.one; item.mDMono.transform.localEulerAngles = Vector3.zero; item.mDMono.transform.SetAsFirstSibling(); return(item); } else { MainMenuChatItem item = Object.Instantiate(mActive[mActive.Count - 1].mDMono.transform).GetMonoILRComponent <MainMenuChatItem>(); mActive.Enqueue(item); item.mDMono.transform.parent = previewTable.transform; item.mDMono.transform.localPosition = Vector3.zero; item.mDMono.transform.localScale = Vector3.one; item.mDMono.transform.localEulerAngles = Vector3.zero; item.mDMono.transform.SetAsFirstSibling(); item.SetSysItemData(null); return(item); } }
/*private void Reposition() * { * scrollView.InvalidateBounds(); * if (scrollView.canMoveVertically) * { #if REVERSE_ORDER * float target = 0.0f; #else * float target = 1.0f; #endif * if (mInvalid) * { * scrollView.SetDragAmount(1f, target, false); * scrollView.SetDragAmount(1f, target, true); * } * else if (Mathf.Abs(target - scrollView.verticalScrollBar.value) < 0.01f) * { * scrollView.SetDragAmount(1f, target, false); * } * scrollView.UpdatePosition(); * } * mInvalid = false; * }*/ private ChatItem Use() { if (mPool.Count > 0) { ChatItem item = mPool.Dequeue(); item.mDMono.gameObject.CustomSetActive(true); mActive.Enqueue(item); item.mDMono.transform.parent = mainTable.transform; item.mDMono.transform.localPosition = Vector3.zero; item.mDMono.transform.localScale = Vector3.one; item.mDMono.transform.localEulerAngles = Vector3.zero; item.mDMono.transform.SetAsLastSibling(); return(item); } else { DynamicMonoILR ilr = UnityEngine.Object.Instantiate(mActive[mActive.Count - 1].mDMono); ChatItem item = ilr._ilrObject as ChatItem; mActive.Enqueue(item); item.mDMono.transform.parent = mainTable.transform; item.mDMono.transform.localPosition = Vector3.zero; item.mDMono.transform.localScale = Vector3.one; item.mDMono.transform.localEulerAngles = Vector3.zero; item.mDMono.transform.SetAsLastSibling(); item.SetItemData(null); return(item); } }
private MainMenuChatItem Use() { if (mPool.Count > 0) { MainMenuChatItem item = mPool[mPool.Count - 1]; mPool.RemoveAt(mPool.Count - 1); item.mDMono.gameObject.SetActive(true); mActive.Enqueue(item); item.mDMono.transform.SetParent(mPreviewTableTransform); item.mDMono.transform.localPosition = Vector3.zero; item.mDMono.transform.localScale = Vector3.one; item.mDMono.transform.localEulerAngles = Vector3.zero; item.mDMono.transform.SetAsFirstSibling(); return(item); } else { var ilr = Object.Instantiate(mActive[mActive.Count - 1].mDMono); MainMenuChatItem item = ilr._ilrObject as MainMenuChatItem; mActive.Enqueue(item); item.mDMono.transform.SetParent(mPreviewTableTransform); item.mDMono.transform.localPosition = Vector3.zero; item.mDMono.transform.localScale = Vector3.one; item.mDMono.transform.localEulerAngles = Vector3.zero; item.mDMono.transform.SetAsFirstSibling(); item.SetItemData(null); return(item); } }
static StackObject *Enqueue_2(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj) { ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain; StackObject *ptr_of_this_method; StackObject *__ret = ILIntepreter.Minus(__esp, 2); ptr_of_this_method = ILIntepreter.Minus(__esp, 1); global::DynamicMonoILRObjectAdaptor.Adaptor @item = (global::DynamicMonoILRObjectAdaptor.Adaptor) typeof(global::DynamicMonoILRObjectAdaptor.Adaptor).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack)); __intp.Free(ptr_of_this_method); ptr_of_this_method = ILIntepreter.Minus(__esp, 2); EB.CircularBuffer <global::DynamicMonoILRObjectAdaptor.Adaptor> instance_of_this_method = (EB.CircularBuffer <global::DynamicMonoILRObjectAdaptor.Adaptor>) typeof(EB.CircularBuffer <global::DynamicMonoILRObjectAdaptor.Adaptor>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack)); __intp.Free(ptr_of_this_method); var result_of_this_method = instance_of_this_method.Enqueue(@item); __ret->ObjectType = ObjectTypes.Integer; __ret->Value = result_of_this_method ? 1 : 0; return(__ret + 1); }
private void Recycle(ChatItem item) { item.mDMono.gameObject.CustomSetActive(false); mPool.Enqueue(item); }