public MafiaAnimation LoadAnimation(string animName)
        {
            var animation = new MafiaAnimation();

            animation.animationSequences = new List <AnimationSequence>();

            Stream fs;

            try
            {
                fs = GameManager.instance.fileSystem.GetStreamFromPath(animName);
            }
            catch
            {
                return(null);
            }

            using (var reader = new BinaryReader(fs))
            {
                MafiaFormats.Loader5DS animLoader = new MafiaFormats.Loader5DS();
                animLoader.load(reader);

                foreach (var seq in animLoader.sequences)
                {
                    var newAnimationSequence = new AnimationSequence();
                    newAnimationSequence.loaderSequence = seq;
                    animation.animationSequences.Add(newAnimationSequence);
                }
            }

            return(animation);
        }
Esempio n. 2
0
        public MafiaAnimation LoadAnimation(string animName, int startFrame = 0, int endFrame = 0, float blendDuration = 0.25f)
        {
            var animation = new MafiaAnimation(startFrame, endFrame, blendDuration);

            animation.animationSequences = new List <AnimationSequence>();

            Stream fs;

            try
            {
                fs = GameAPI.instance.fileSystem.GetStreamFromPath(animName);
            }
            catch
            {
                return(null);
            }

            using (var reader = new BinaryReader(fs))
            {
                MafiaFormats.Loader5DS animLoader = new MafiaFormats.Loader5DS();
                animLoader.load(reader);

                foreach (var seq in animLoader.sequences)
                {
                    var newAnimationSequence = new AnimationSequence();
                    newAnimationSequence.loaderSequence = seq;
                    newAnimationSequence.rootAnimation  = animation;
                    animation.animationSequences.Add(newAnimationSequence);
                }
            }

            return(animation);
        }
        public MafiaAnimation LoadAnimation(string animName, int startFrame = 0, int endFrame = 0, float blendDuration = 0.25f)
        {
            var animation = new MafiaAnimation(startFrame, endFrame, blendDuration);

            animation.animationSequences = new List <AnimationSequence>();
            animation.positionOffsets    = new List <Vector3>();

            //Stream tckfs;

            //try
            //{
            //    Regex rgx = new Regex("5ds");
            //    string tckFileName = animName.Replace("5ds", "tck");
            //    tckfs = GameAPI.instance.fileSystem.GetStreamFromPath(tckFileName);
            //    // if .tck exists, load it
            //    MafiaFormats.TckLoader tckFile = new MafiaFormats.TckLoader();
            //    using (var reader = new BinaryReader(tckfs))
            //    {
            //        tckFile.load(reader);
            //        foreach (var chunk in tckFile.transforms)
            //        {
            //            animation.positionOffsets.Prepend(chunk.position);
            //        }
            //    }
            //}
            //catch
            //{}

            Stream fs;

            try
            {
                fs = GameAPI.instance.fileSystem.GetStreamFromPath(animName);
            }
            catch
            {
                return(null);
            }

            using (var reader = new BinaryReader(fs))
            {
                MafiaFormats.Loader5DS animLoader = new MafiaFormats.Loader5DS();
                animLoader.load(reader);

                foreach (var seq in animLoader.sequences)
                {
                    var newAnimationSequence = new AnimationSequence();
                    newAnimationSequence.loaderSequence = seq;
                    newAnimationSequence.rootAnimation  = animation;
                    animation.animationSequences.Add(newAnimationSequence);
                }
            }

            return(animation);
        }