private void TransformComponent()
        {
            foreach (SpriteTransform rootTransform in stateRoot)
            {
                parentTransform.ResetTransform();
                TransformNode(rootTransform, parentTransform);
            }

            if (postTransformUpdate != null)
            {
                postTransformUpdate(this);
            }
        }
Exemplo n.º 2
0
        private void TransformComponent()
        {
            Transform tran = transform;

            foreach (SpriteTransform rootTransform in stateRoot)
            {
                parentTransform.ResetTransform();

                if (applyRootToTransform)
                {
                    for (SpriteTransform iter = rootTransform.firstChild; iter != null; iter = iter.next)
                    {
                        TransformNode(iter, parentTransform);
                    }

                    Vector3 pos = rootTransform.position;
                    pos.z = transform.localPosition.z;
                    transform.localPosition = pos;
                    transform.localRotation = Quaternion.Euler(new Vector3(0, 0, rootTransform.rotation));
                    transform.localScale    = new Vector3(rootTransform.scale.x, rootTransform.scale.y, transform.localScale.z);

                    rootTransform.position = Vector2.zero;
                    rootTransform.rotation = 0;
                    rootTransform.scale    = Vector2.one;
                    rootTransform.shear    = Vector2.zero;
                    rootTransform.color    = Color.white;
                }
                else
                {
                    TransformNode(rootTransform, parentTransform);
                }
            }

            if (postTransformUpdate != null)
            {
                postTransformUpdate(this);
            }
        }
Exemplo n.º 3
0
        internal SpriteTransform AttachSpriteComponent(SpriteAnimationComponent component)
        {
            int idx = activePrimitiveCount++;

            SpriteTransform ret = spriteTransforms[idx];

            ret.id        = idx;
            ret.primitive = primitives[idx];
            ret.ResetTransform();

            ret.component = component;
            if (component != null)
            {
                ret.name = component.name;
            }

            if (component != null && overrideList.Count > 0)
            {
                for (int i = 0; i < overrideList.Count; i++)
                {
                    if (overrideList[i].pathHash == component._fullPathHash)
                    {
                        ret.overrideSprite = overrideList[i].sprite;
                        overrideList.RemoveAt(i);
                        break;
                    }
                }
            }

            if (activePrimitiveCount == primitiveCount)
            {
                Resize(activePrimitiveCount + 1);
            }

            _activePrimitiveCount.value = activePrimitiveCount;

            return(ret);
        }