private void SetFramesets(ref List<OTAnimationFrameset> framesetsList, ref List<string> frameNamesList, OTContainer container) { if( framesetsList == null ) framesetsList = new List<OTAnimationFrameset>(); if( frameNamesList == null ) frameNamesList = new List<string>(); int startFrameIndex = 0; int endFrameIndex = -1; int index = 0; string preClearFrameName = null; OTAtlasData[] datas = container.GetComponent<OTSpriteAtlasCocos2D>().atlasData; foreach( OTAtlasData data in datas ) { string frameName = data.name; string currentClearFrameName = GetFrameNameWithoutIndex( frameName ); if( preClearFrameName == null ) { preClearFrameName = currentClearFrameName; } if( currentClearFrameName != preClearFrameName || index == datas.Length - 1 ) { endFrameIndex = ( index == datas.Length - 1 )? index : index - 1; OTAnimationFrameset frameset = CreateFrameset( preClearFrameName, container, startFrameIndex, endFrameIndex ); framesetsList.Add( frameset ); frameNamesList.Add( preClearFrameName ); startFrameIndex = index; preClearFrameName = currentClearFrameName; } index++; } }