Пример #1
0
 // 播放StateType类型的所有的UILayerContainer<AnimEntry>
 public void Play(UILayerContainerType stateType)
 {
     for (int i = 0; i < LayerContainerList.Count; i++)
     {
         //UILayerContainer<AnimEntry> layerContainer = LayerContainerList[i];
         UILayerContainerAnim layerContainer = LayerContainerList[i];
         if (layerContainer.Type == stateType && layerContainer.Type != UILayerContainerType.None)
         {
             PlayStateAnim(layerContainer);
         }
     }
 }
Пример #2
0
    // 播放某个UILayerContainer<AnimEntry>实例的ChildList
    //void PlayStateAnim(UILayerContainer<AnimEntry> layerContainer)
    void PlayStateAnim(UILayerContainerAnim layerContainer)
    {
        List <AnimEntry> animEntryList = layerContainer.ChildList;
        AnimEntry        animEntry     = animEntryList[0];

        if (animEntryList.Count <= 0 || animEntry.tween == null)
        {
            return;
        }
        animEntry.tween.tweenFactor = 0;
        animEntry.tween.FromCurrentValue();
        animEntry.tween.enabled = true;
    }
Пример #3
0
    void InitTween()
    {
        for (int i = 0; i < LayerContainerList.Count; i++)
        {
            //UILayerContainer<AnimEntry> layerContainer = LayerContainerList[i];
            UILayerContainerAnim layerContainer = LayerContainerList[i];

            for (int j = 0; j < layerContainer.ChildList.Count; j++)
            {
                AnimEntry  animEntry = layerContainer.ChildList[j];
                UIAnimType animType  = animEntry.Type;
                if (animType == UIAnimType.Position)
                {
                    animEntry.tween = TweenPos.Tween(gameObject, animEntry.Duration, animEntry.To);
                }
                if (animType == UIAnimType.Scale)
                {
                    animEntry.tween = TweenScale.Tween(gameObject, animEntry.Duration, animEntry.To);
                }

                if (animType != UIAnimType.None)
                {
                    animEntry.tween.tweenFactor = 0;
                    animEntry.tween.enabled     = false;
                }

                /*
                 * // 在这里继续添加其他类型的
                 */

                // 这里就是让ChildList按顺序去播放
                if (j > 0)
                {
                    AnimEntry preAnimEntry = layerContainer.ChildList[j - 1];
                    AddTweenListener(preAnimEntry, animEntry);
                }
                // 添加回调,在最后一个动作回调
                if (j == layerContainer.ChildList.Count - 1)
                {
                    AnimEntry lastAnimEntry = layerContainer.ChildList[j];
                    AddLastTweenCallback(layerContainer.Type, lastAnimEntry);
                }
            }
        }
    }