/// <summary> /// Return the info of all split sprites associated with some given animation parameters, or an /// empty list IFF the input animation parameters do not exist. /// </summary> /// <param name="animName"></param> /// <param name="animFrame"></param> /// <returns></returns> public List <SplitSpriteSheetValue> GetSplitSpriteInfoForAnim(string animName, int animFrame) { var key = new SplitSpriteSheetKey(animName, animFrame); if (this._spriteFromAnim.ContainsKey(key)) { return(this._spriteFromAnim[key]); } else { return(new List <SplitSpriteSheetValue>()); } }
/// <summary> /// Given the input <paramref name="info"/>, checks if a key made from its animation name + frame already exists /// within this class's dictionary that maps split sprite info to animation parameters. /// If not, creates an entry for it and adds the split sprite info, otherwise just add the split sprite info /// to the existing entry. /// </summary> /// <param name="info"></param> private void _AddSplitSpriteInfo(SplitSpriteInfo info) { var key = new SplitSpriteSheetKey(info.animName, info.animFrame); var val = new SplitSpriteSheetValue(info.splitIndex, info.splitPosition, info.size, info.zIndex, info.sheetPosition); if (!this._spriteFromAnim.ContainsKey(key)) { this._spriteFromAnim[key] = new List <SplitSpriteSheetValue> { val }; } else { this._spriteFromAnim[key].Add(val); } }