private apAnimPlayUnit MakePlayUnit(apAnimPlayData playData, apAnimPlayUnit.BLEND_METHOD blendMethod, bool isAutoEndIfNotloop) { //새로 만들고 //그 전에.. //재생중인 PlayUnit이 있으면 그걸 사용하자 //레이어는 같아야 한다. apAnimPlayUnit existPlayUnit = null; for (int i = 0; i < _animPlayUnits.Count; i++) { if (_animPlayUnits[i]._linkedAnimClip == playData._linkedAnimClip && _animPlayUnits[i].IsUpdatable ) { existPlayUnit = _animPlayUnits[i]; break; } } if (existPlayUnit != null) { //Debug.Log("아직 재생중인 PlayUnit을 다시 재생하는 요청이 왔다. [" + existPlayUnit._linkedAnimClip._name + "]"); existPlayUnit.SetSubOption(blendMethod, isAutoEndIfNotloop, GetNextPlayUnitRequestOrder(), GetNextRequestLinkKey()); _nPlayedUnit = _animPlayUnits.Count; return(existPlayUnit); } apAnimPlayUnit newPlayUnit = new apAnimPlayUnit(this, GetNextPlayUnitRequestOrder(), GetNextRequestLinkKey()); newPlayUnit.SetAnimClip(playData, _layer, blendMethod, isAutoEndIfNotloop, false); //if(!newPlayUnit._linkedAnimClip.IsPlaying) //{ // if(newPlayUnit.Frame != newPlayUnit.StartFrame) // { // Debug.Log("새로운 재생 요청 - 프레임이 초기화되지 않음 [" + newPlayUnit._linkedAnimClip._name + "]"); // } // newPlayUnit.ResetPlay(); //} //리스트에 넣자 _animPlayUnits.Add(newPlayUnit); _nPlayedUnit = _animPlayUnits.Count; _isInitPlayUnit = false; return(newPlayUnit); }
private apAnimPlayUnit MakePlayUnit(apAnimPlayData playData, apAnimPlayUnit.BLEND_METHOD blendMethod, bool isAutoEndIfNotloop) { //새로 만들고 //그 전에.. //재생중인 PlayUnit이 있으면 그걸 사용하자 //레이어는 같아야 한다. apAnimPlayUnit existPlayUnit = null; for (int i = 0; i < _animPlayUnits.Count; i++) { if (_animPlayUnits[i]._linkedAnimClip == playData._linkedAnimClip && _animPlayUnits[i].IsUpdatable ) { existPlayUnit = _animPlayUnits[i]; break; } } if (existPlayUnit != null) { //Debug.Log("아직 재생중인 PlayUnit을 다시 재생하는 요청이 왔다. [" + existPlayUnit._linkedAnimClip._name + "]"); existPlayUnit.SetSubOption(blendMethod, isAutoEndIfNotloop); _nPlayedUnit = _animPlayUnits.Count; return(existPlayUnit); } apAnimPlayUnit newPlayUnit = new apAnimPlayUnit(this); newPlayUnit.SetAnimClip(playData, _layer, blendMethod, isAutoEndIfNotloop, false); //리스트에 넣자 _animPlayUnits.Add(newPlayUnit); _nPlayedUnit = _animPlayUnits.Count; return(newPlayUnit); }