FSO.Vitaboy.Skeleton.Clone C# (CSharp) Method

Clone() public method

Clones this skeleton.
public Clone ( ) : Skeleton
return Skeleton
        public Skeleton Clone()
        {
            var result = new Skeleton();
            result.Name = this.Name;
            result.Bones = new Bone[Bones.Length];

            for (int i = 0; i < Bones.Length; i++){
                result.Bones[i] = Bones[i].Clone();
            }

            /** Construct tree **/
            foreach (var bone in result.Bones)
            {
                bone.Children = result.Bones.Where(x => x.ParentName == bone.Name).ToArray();
            }
            result.RootBone = result.Bones.FirstOrDefault(x => x.ParentName == "NULL");
            result.ComputeBonePositions(result.RootBone, Matrix.Identity);
            return result;
        }

Usage Example

Ejemplo n.º 1
0
        public bool SetSkeletonByOFTName(string name)
        {
            bool pet = false;

            if (name != null)
            {
                var      skels = Content.Content.Get().AvatarSkeletons;
                Skeleton skel  = null;
                string   newSkel;

                if (name.StartsWith("uaa"))
                {
                    //pet
                    if (name.Contains("cat"))
                    {
                        newSkel = "cat.skel";
                    }
                    else
                    {
                        newSkel = "dog.skel";
                    }
                    pet = true;
                }
                else
                {
                    newSkel = "adult.skel";
                }

                if (newSkel != SkelName)
                {
                    skel         = skels.Get(newSkel);
                    Skeleton     = skel.Clone();
                    BaseSkeleton = skel.Clone();
                    ReloadSkeleton();
                    SkelName = newSkel;
                }
            }
            return(pet);
        }
All Usage Examples Of FSO.Vitaboy.Skeleton::Clone