//--------------------------------------------------------------------- public void Start(EbVector3 pos) { if (mListNode.IsEmpty()) { _clearState(); return; } mPrePos = pos; mCurrentPos = mPrePos; mNextNode = _lerpToNextNode(); }
//------------------------------------------------------------------------- public static void PushBefore(EbDoubleLinkNode2 <T> after, EbDoubleLinkList2 <T> list) { if (after.IsAttach() == false) { return; } if (list.IsEmpty()) { return; } _PushBefore(after, list); }
//------------------------------------------------------------------------- public static void PushAfter(EbDoubleLinkNode2 <T> before, EbDoubleLinkList2 <T> list) { if (before.IsAttach() == false) { return; } if (list.IsEmpty()) { return; } _PushAfter(before, list); }
//--------------------------------------------------------------------- public EbDoubleLinkNode2 <T> New() { if (mListNode.IsEmpty()) { return(new EbDoubleLinkNode2 <T>(new T())); } else { EbDoubleLinkNode2 <T> node = mListNode.GetHead(); node.Detach(); return(node); } }
//------------------------------------------------------------------------- static void _PushBefore(EbDoubleLinkNode2 <T> after, EbDoubleLinkList2 <T> list) { if (list.IsEmpty()) { return; } EbDoubleLinkNode2 <T> first = list._root._next; EbDoubleLinkNode2 <T> back = list._root._pre; EbDoubleLinkNode2 <T> pre = after._pre; _Link(pre, first); _Link(back, after); list._Init(); }
//------------------------------------------------------------------------- static void _PushAfter(EbDoubleLinkNode2 <T> before, EbDoubleLinkList2 <T> list) { if (list.IsEmpty()) { return; } EbDoubleLinkNode2 <T> first = list._root._next; EbDoubleLinkNode2 <T> back = list._root._pre; EbDoubleLinkNode2 <T> next = before._next; _Link(before, first); _Link(back, next); list._Init(); }