Exemplo n.º 1
1
 public void LoadingContentDataFromBinaryDataWillLoadItFromName()
 {
     var content = new ImageAnimation(new[] { ContentLoader.Load<Image>("DeltaEngineLogo") }, 1);
     var data = BinaryDataExtensions.SaveDataIntoMemoryStream(content);
     Assert.AreEqual(63, data.Length);
     var loadedContent =
         BinaryDataExtensions.LoadDataWithKnownTypeFromMemoryStream<ImageAnimation>(data);
     Assert.AreEqual(content.Name, loadedContent.Name);
     Assert.AreEqual(content.Frames.Length, loadedContent.Frames.Length);
     Assert.AreEqual(content.Frames[0], loadedContent.Frames[0]);
 }
Exemplo n.º 2
0
    IEnumerator LoadSprite(Image image, string atlasname, List <string> spritenames)
    {
        int count = spritenames.Count;

        Sprite[] sprites = new Sprite[count];
        for (int i = 0; i < count; i++)
        {
#if UNITY_EDITOR
            yield return(null);

            for (int k = 0; k < spriteSuffix.Length; k++)
            {
                image.sprite = UnityEditor.AssetDatabase.LoadAssetAtPath <Sprite>(string.Format("Assets/UGUI/Atlas/{0}/{1}{2}", atlasname, spritenames[i], spriteSuffix[k]));
                if (image.sprite != null)
                {
                    break;
                }
            }
#else
            yield return(UIManager.SetSpriteAsync(image, atlasname, spritenames[i]));
#endif
            sprites[i] = image.sprite;
        }
        ImageAnimation.Begin(image, sprites);
    }
Exemplo n.º 3
0
 internal override void OnParentFramePosUpdate(ImageAnimation target)
 {
     if (IsDestroying)
     {
         return;
     }
 }
Exemplo n.º 4
0
    private void SetImageAnimationActive(Image _image, string atlasname, string _name, bool active)
    {
        if (active)
        {
            if (this.gameObject.activeInHierarchy)
            {
                List <string> names = new List <string>();
                string        s     = _name.Split('_')[0];
                for (int i = 0; i < 3; i++)
                {
                    string str = string.Format("{0}_{1}", s, i);
                    names.Add(str);
                }

                this.StartCoroutine(LoadSprite(_image, atlasname, names));
            }
        }
        else
        {
            ImageAnimation ia = _image.GetComponent <ImageAnimation>();
            if (ia != null)
            {
                ia.enabled = false;
            }
        }
    }
Exemplo n.º 5
0
    private void Awake()
    {
        animation         = GetComponent <ImageAnimation>();
        characterRenderer = GetComponent <SpriteRenderer>();

        animation.StartAnimation(characterRenderer, (int)EState.Ready, 0.2f, null, true);
    }
 private void SetElementInvisiable(ImageAnimation item)
 {
     if (item != null && Canvas.Children.Contains(item))
     {
         Canvas.Children.Remove(item);
     }
 }
Exemplo n.º 7
0
 void OnImageAnimationFrame(ImageAnimation target)
 {
     if (target == null)
     {
         return;
     }
     RefreshCurFrame(target);
 }
Exemplo n.º 8
0
    private void Awake()
    {
        ListenToEvents();

        if (m_crosshairPrefab != null)
        {
            m_crosshairAnimation = m_crosshairPrefab.GetComponent <ImageAnimation>();
        }
    }
Exemplo n.º 9
0
    void OnImageAnimationEndFrame(ImageAnimation target)
    {
        var mgr = this.StateMgr;

        if (mgr != null)
        {
            mgr.CurStateOnAnimateEndFrame();
        }
    }
Exemplo n.º 10
0
 private void f2_1()
 {
     Image img;
     using (Image img2 = Image.FromFile(@"H:\My Documents\Visual Studio 2010\Projects\TwitterClient\StarlitTwit\Resources\NowLoadingS.gif")) {
         img = (Image)img2.Clone();
     }
     anim = new ImageAnimation(img);
     anim.FrameUpdated += new EventHandler(Animation_FrameUpdated);
     anim.StartAnimation();
 }
Exemplo n.º 11
0
 internal override void OnParentFrameEnd(ImageAnimation target)
 {
     if (IsUseParentUpdate)
     {
         if (removetime == -2)
         {
             InteralDoDestroy();
         }
     }
 }
 private void CarouselControl_MouseUp(object sender, MouseButtonEventArgs e)
 {
     GetTopMost();
     ImageNavigate = null;
     if (inertiaAngle != 0)
     {
         CompositionTarget.Rendering -= CompositionTarget_Rendering;
         CompositionTarget.Rendering += CompositionTarget_Rendering;
     }
 }
Exemplo n.º 13
0
    public static ImageAnimation Begin(Image image, Sprite[] sprites, float frameGap = 0.25f, bool nativeSize = false)
    {
        ImageAnimation com = image.GetComponent <ImageAnimation>();

        if (com == null)
        {
            com = image.gameObject.AddComponent <ImageAnimation>();
        }

        com.SetSprites(sprites, frameGap, nativeSize);
        return(com);
    }
Exemplo n.º 14
0
        public void CreateAnimationWithNewTextures()
        {
            var imageList = new[]
            {
                CreateImageWithColor(Color.Red), CreateImageWithColor(Color.CornflowerBlue),
                CreateImageWithColor(Color.Purple)
            };
            var newMaterial = new ImageAnimation(imageList, 3).CreateMaterial(
                ContentLoader.Create <Shader>(new ShaderCreationData(ShaderFlags.Position2DTextured)));

            new Sprite(newMaterial, new Rectangle(0.25f, 0.25f, 0.5f, 0.5f));
        }
Exemplo n.º 15
0
    private void Awake()
    {
        ListenToEvents();

        var crosshair = Instantiate(m_crosshairPrefab, transform);

        if (crosshair)
        {
            crosshair.name       = "[Instanced] Crosshair";
            m_crosshairAnimation = crosshair.GetComponent <ImageAnimation>();
        }
    }
Exemplo n.º 16
0
    internal override void OnParentUpdateFrame(ImageAnimation target)
    {
        if (IsDestroying)
        {
            return;
        }


        if (IsUseParentUpdate)
        {
            this.InternalParentUpdateFrame(target, (PlayerState)anim);
        }
    }
Exemplo n.º 17
0
        public void LoadingContentDataFromBinaryDataWillLoadItFromName()
        {
            var content = new ImageAnimation(new[] { ContentLoader.Load <Image>("DeltaEngineLogo") }, 1);
            var data    = BinaryDataExtensions.SaveDataIntoMemoryStream(content);

            Assert.AreEqual(63, data.Length);
            var loadedContent =
                BinaryDataExtensions.LoadDataWithKnownTypeFromMemoryStream <ImageAnimation>(data);

            Assert.AreEqual(content.Name, loadedContent.Name);
            Assert.AreEqual(content.Frames.Length, loadedContent.Frames.Length);
            Assert.AreEqual(content.Frames[0], loadedContent.Frames[0]);
        }
 private void ImgItem_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
 {
     if (ImageNavigate == sender)
     {
         GetTopMost();
         inertiaAngle  = centerAngle - ImageNavigate.Angle;
         ImageNavigate = null;
         if (inertiaAngle != 0)
         {
             CompositionTarget.Rendering += new EventHandler(CompositionTarget_Rendering);
         }
         e.Handled = true;
     }
 }
        private static string AddImageToMetaData(ImageAnimation animation, int index, string images)
        {
            var image = animation.Frames[index];

            if (images == "")
            {
                images += (image.Name);
            }
            else
            {
                images += (", " + image.Name);
            }
            return(images);
        }
Exemplo n.º 20
0
 public void OnUpdateFrame(ImageAnimation target)
 {
     if (m_PartList != null)
     {
         for (int i = 0; i < m_PartList.Count; ++i)
         {
             var part = m_PartList [i];
             if (part != null)
             {
                 part.OnParentUpdateFrame(target);
             }
         }
     }
 }
    public void OnEnable()
    {
        ImageAnimation model = target as ImageAnimation;


        if (model.tempAnimationTypeList == null)
        {
            model.tempAnimationTypeList = string.Empty;
        }

        if (model.animationInfo == null)
        {
            model.animationInfo = new List <AnimationInfoEntity>();
        }
    }
Exemplo n.º 22
0
        private void ShowMultipleImageAnimation()
        {
            var imagelist = new List <Image>();

            foreach (var image in ImageList)
            {
                imagelist.Add(ContentLoader.Load <Image>(image));
            }
            animation     = new ImageAnimation(imagelist.ToArray(), Duration);
            renderExample =
                new Sprite(new Material(ShaderFlags.Position2DTextured, "")
            {
                Animation = animation
            },
                           Rectangle.FromCenter(0.5f, 0.5f, 0.5f * imagelist[0].PixelSize.AspectRatio, 0.5f));
        }
Exemplo n.º 23
0
    public void PlayImageAnimation(ImageAnimation at, int index, Sprite s, float delay)
    {
        switch (at)
        {
        case ImageAnimation.FadeIn:
            cBorder[index].DOColor(Color.white, delay);
            break;

        case ImageAnimation.FadeOut:
            cBorder[index].DOColor(Color.clear, delay);
            break;

        case ImageAnimation.FadeOutIn:
            cBorder[index].DOColor(Color.clear, delay).OnComplete(() => {
                cBorder[index].DOColor(Color.white, delay);
            });
            break;

        case ImageAnimation.Rotate:
            cBorder[index].transform.DORotate(new Vector3(0.0f, 0.0f, 360.0f), 1.0f, RotateMode.FastBeyond360);
            break;

        case ImageAnimation.ShrinkExpand:
            cBorder[index].transform.DOScale(Vector3.zero, 0.25f).OnComplete(() => {
                cBorder[index].transform.DOScale(Vector3.one, 0.25f).SetEase(Ease.OutElastic, 1.0f, 0.25f);
            });
            break;

        case ImageAnimation.SwapImage:
            cBorder[index].DOColor(Color.clear, delay).OnComplete(() => {
                cBorder[index].sprite = GetRandomConsumable().sr.sprite;
                cBorder[index].DOColor(Color.white, delay);
            });
            break;

        case ImageAnimation.UnifyImage:
            cBorder[index].DOColor(Color.clear, delay).OnComplete(() => {
                cBorder[index].sprite = s;
                cBorder[index].DOColor(Color.white, delay);
            });
            break;

        case ImageAnimation.PunchScale:
            cBorder[index].transform.DOScale(Vector3.one * 1.2f, delay).SetLoops(2, LoopType.Yoyo).SetEase(Ease.OutElastic, 1.0f, 0.2f);
            break;
        }
    }
Exemplo n.º 24
0
        private void CreateImageAnimationMaterials()
        {
            ImageAnimation animation = EmitterData.ParticleMaterial.Animation;

            if (animation == null)
            {
                return;
            }
            //ncrunch: no coverage start
            animationMaterials = new Material[animation.Frames.Length];
            for (int i = 0; i < animation.Frames.Length; i++)
            {
                animationMaterials[i] = new Material(EmitterData.ParticleMaterial.Shader,
                                                     animation.Frames[i]);
            }
            //ncrunch: no coverage end
        }
        private void CompositionTarget_Rendering(object sender, EventArgs e)
        {
            double dIntervalDegree = inertiaAngle * 0.1;

            for (int i = 0; i < this.elementList.Count; i++)
            {
                ImageAnimation item = this.elementList[i];
                item.Angle += dIntervalDegree;
            }
            UpdateLocaltion();

            inertiaAngle -= dIntervalDegree;
            if (Math.Abs(inertiaAngle) < 0.1)
            {
                CompositionTarget.Rendering -= new EventHandler(CompositionTarget_Rendering);
            }
        }
    /// <summary>
    /// 绘制动画切换按钮,方便用户切换动画,查看动画是否正确
    /// </summary>
    private void DrawAnimationButton()
    {
        ImageAnimation model = target as ImageAnimation;

        if (model.animationTypeProp != null)
        {
            GUILayout.BeginHorizontal();
            GUILayout.Label("切换动画状态: ", GUILayout.Width(80));
            for (int i = 0; i < model.animationTypeProp.Length; i++)
            {
                if (GUILayout.Button(model.animationTypeProp[i], GUILayout.Width(50)))
                {
                    model.ChangeAnimationState(i);
                }
            }
            GUILayout.EndHorizontal();
        }
    }
        private void CarouselControl_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed)
            {
                currentX      = e.GetPosition(this).X;
                moveDistanceX = currentX - originX;
                inertiaAngle  = 5 * moveDistanceX;

                for (int i = 0; i < elementList.Count; i++)
                {
                    ImageAnimation imageAnimation = elementList[i];
                    imageAnimation.Angle += moveDistanceX;
                }

                UpdateLocaltion();
                originX = currentX;
            }
        }
        public ContentMetaData CreateMetaDataFromImageAnimation(string animationName,
                                                                ImageAnimation animation)
        {
            var contentMetaData = new ContentMetaData();

            SetDefaultValues(contentMetaData, animationName);
            contentMetaData.Type = ContentType.ImageAnimation;
            contentMetaData.Values.Add("DefaultDuration",
                                       animation.DefaultDuration.ToString(CultureInfo.InvariantCulture));
            string images = "";

            for (int index = 0; index < animation.Frames.Length; index++)
            {
                images = AddImageToMetaData(animation, index, images);
            }
            contentMetaData.Values.Add("ImageNames", images);
            return(contentMetaData);
        }
Exemplo n.º 29
0
    protected void RefreshCurFrame(ImageAnimation target)
    {
        SpriteRenderer r = this.SpriteRender;

        if (r == null)
        {
            return;
        }
        ActionFlip flip;
        var        frame = target.GetCurImageFrame(out flip);

        if (frame == null)
        {
            return;
        }
        UpdateRenderer(frame, flip, target);

        CallCnsTriggerEvent(CnsStateTriggerType.AnimElem, CnsStateTriggerType.AnimTime);
    }
Exemplo n.º 30
0
    protected void RefreshCurFrame(ImageAnimation target)
    {
        if (target == null)
        {
            return;
        }
        SpriteRenderer r = this.SpriteRender;

        if (r == null)
        {
            return;
        }
        ActionFlip     flip;
        ActionDrawMode drawMode;
        var            frame = target.GetCurImageFrame(out flip, out drawMode);

        if (frame == null)
        {
            return;
        }
        UpdateImageFrame(frame, flip, drawMode, m_MaskType == MaskType.none);
    }
Exemplo n.º 31
0
    protected void InternalParentUpdateFrame(ImageAnimation target, PlayerState state)
    {
        var display = this.Display;

        if (display != null)
        {
            CheckVisible();

            var targetDisplay = target.CacheDisplayer;
            if (targetDisplay == null)
            {
                return;
            }
            var image = display.ImageAni;
            if (image != null)
            {
                display._SetLoaderPlayer(targetDisplay.LoaderPlayer);
                image._SetStateFrameList(state, target.CurFrame);
                display.InteralRefreshCurFrame(image);
                //SendMessage ("OnPlayerPartUpdateFrame", SendMessageOptions.DontRequireReceiver);
            }
        }
    }
        private void SetElementVisiable(ImageAnimation item)
        {
            if (item == null)
            {
                return;
            }
            if (!Canvas.Children.Contains(item))
            {
                Canvas.Children.Add(item);
            }

            double rad     = item.Angle / 180D * Math.PI;
            double centerX = ActualWidth / 2;
            double dX      = -radius *Math.Sin(rad);

            item.X = (dX + centerX - ImageItemWidth / 2d);
            double dScale = 0.5 - Math.Cos(rad) / 2D;

            item.ScaleX = dScale;
            item.ScaleY = dScale;
            int nZIndex = (int)(360 * 1000 * (0.5 - Math.Cos(rad) / 2D));

            Canvas.SetZIndex(item, nZIndex);
        }