예제 #1
0
        /// <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>());
            }
        }
예제 #2
0
        /// <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);
            }
        }