Пример #1
0
 public void Init(UgData.DisplayData data)
 {
     base.Init(data);
     this.pivot          = data.pivot;
     this.offset         = data.offset;
     this.count          = data.count;
     this.triangleOffset = data.triangleOffset;
     this.triangleCount  = data.triangleCount;
     this.weightOffset   = data.weightOffset;
     this.weightCount    = data.weightCount;
 }
Пример #2
0
    public void Init(UgData.ArmatureData data)
    {
        this.name      = data.name;
        this.frameRate = data.frameRate;
        this.type      = data.type;


        for (int i = 0; i < data.boneDatas.Length; i++)
        {
            UgData.BoneData boneData = data.boneDatas[i];
            UgBone          bone     = new UgBone();
            //if (boneData.parent != null)
            //{
            //    UgBone parent;
            //    bones.TryGetValue(boneData.parent, out parent);
            //    if (null != parent)
            //    {
            //        parent.AddChild(bone);
            //    }
            //}
            //else
            //{
            //    AddChild(bone);
            //    //bone.parent = this;
            //}
            bone.Init(boneData);
            bones.Add(boneData.name, bone);
            bonesList.Add(bone);
        }

        for (int i = 0; i < data.slotDatas.Length; i++)
        {
            UgData.SlotData slotData = data.slotDatas[i];
            UgSlot          slot     = new UgSlot();
            slot.Init(slotData);
            slots.Add(slot.name, slot);
            //UgBone parent;
            //bones.TryGetValue(slotData.parent, out parent);
            //parent.AddChild(slot);
            slotList.Add(slot);
        }

        for (int i = 0; i < data.displayDatas.Length; i++)
        {
            UgData.DisplayData disData = data.displayDatas[i];
            UgSprite           sprite  = new UgSprite();
            sprite.Init(disData);
            sprites.Add(disData.name, sprite);
            //UgSlot parent;
            //slots.TryGetValue(disData.parent, out parent);
            //parent.AddChild(sprite);
            spriteList.Add(sprite);
        }

        for (int i = 0; i < data.animations.Length; i++)
        {
            UgData.AnimationData animData = data.animations[i];
            animations.Add(animData.name, animData);
        }

        foreach (var item in bones)
        {
            UgTrans trans = item.Value;
            if (trans.parentName != "")
            {
                bones[trans.parentName].AddChild(trans);
            }
            else
            {
                this.AddChild(trans);
            }
        }

        foreach (var item in slots)
        {
            UgTrans trans = item.Value;
            bones[trans.parentName].AddChild(trans);
        }

        foreach (var item in sprites)
        {
            UgTrans trans = item.Value;
            slots[trans.parentName].AddChild(trans);
        }
        updateMatrix();
    }