Beispiel #1
0
        private void PushRequest(apAnimPlayRequest request)
        {
            request.ReleasePlayUnitLink();
            request.Clear();
            _requests_Live.Remove(request);

            if (!_requests_Total.Contains(request))
            {
                _requests_Total.Add(request);
            }
            if (!_requests_Remained.Contains(request))
            {
                _requests_Remained.Add(request);
            }
        }
Beispiel #2
0
        private apAnimPlayRequest PopRequest()
        {
            apAnimPlayRequest popRequest = null;

            if (_requests_Remained.Count == 0)
            {
                AddRequestPool();                //<<Pool Size를 늘리자
            }
            popRequest = _requests_Remained[0];

            //Remained -> Live
            _requests_Remained.RemoveAt(0);
            _requests_Live.Add(popRequest);

            popRequest.Clear();


            return(popRequest);
        }
Beispiel #3
0
        private void PushAllRequests()
        {
            apAnimPlayRequest curRequest = null;

            for (int i = 0; i < _requests_Live.Count; i++)
            {
                curRequest = _requests_Live[i];
                curRequest.Clear();

                if (!_requests_Total.Contains(curRequest))
                {
                    _requests_Total.Add(curRequest);
                }
                if (!_requests_Remained.Contains(curRequest))
                {
                    _requests_Remained.Add(curRequest);
                }
            }

            _requests_Live.Clear();
        }