Пример #1
0
        protected override IAnime CreateShowAnime(IDependencyContainer dependencies)
        {
            var anime = new Anime();

            anime.AnimateFloat(a => darkSprite.Alpha = a)
            .AddTime(0f, 0f)
            .AddTime(2f, 1f)
            .AddTime(2.5f, 1f)
            .Build();
            anime.AddEvent(anime.Duration, () => model.Quit());
            return(anime);
        }
Пример #2
0
        public IAnime GetDefaultScreenHide(INavigationView screen)
        {
            IAnime anime = new Anime();

            anime.AnimateVector3((scale) => screen.Scale = scale)
            .AddTime(0f, Vector3.one, EaseType.QuartEaseOut)
            .AddTime(0.35f, new Vector3(3f, 3f, 1f))
            .Build();
            anime.AnimateFloat((alpha) => screen.Alpha = alpha)
            .AddTime(0f, 1f, EaseType.CubicEaseOut)
            .AddTime(0.35f, 0f)
            .Build();
            return(anime);
        }
Пример #3
0
        private void Init(IColorPreset colorPreset)
        {
            backgroundSprite.Sprite = null;
            backgroundSprite.Anchor = AnchorType.BottomStretch;
            backgroundSprite.Y      = 2f;
            backgroundSprite.Height = 4f;
            backgroundSprite.Alpha  = 0.75f;

            hoverSprite.Offset = Offset.Zero;
            hoverSprite.Sprite = null;
            hoverSprite.Tint   = Color.white;

            focusSprite.SpriteName = "glow-bar";
            focusSprite.Anchor     = AnchorType.BottomStretch;
            focusSprite.SetOffsetHorizontal(-15f);
            focusSprite.Y      = 2f;
            focusSprite.Height = 34f;

            valueLabel.SetOffsetLeft(8f);
            placeholderLabel.SetOffsetLeft(8f);

            UseDefaultFocusAni();

            hoverInAni = new Anime();
            hoverInAni.AnimateFloat(a => hoverSprite.Alpha = a)
            .AddTime(0f, () => hoverSprite.Alpha)
            .AddTime(0.25f, 0.25f)
            .Build();

            hoverOutAni = new Anime();
            hoverOutAni.AnimateFloat(a => hoverSprite.Alpha = a)
            .AddTime(0f, () => hoverSprite.Alpha)
            .AddTime(0.25f, 0f)
            .Build();

            focusAni.AnimateFloat((w) => focusSprite.Width = w)
            .AddTime(0f, () => focusSprite.Width)
            .AddTime(0.25f, () => Width + 30f)
            .Build();

            unfocusAni.AnimateFloat((w) => focusSprite.Width = w)
            .AddTime(0f, () => focusSprite.Width)
            .AddTime(0.25f, 0f)
            .Build();
        }
        private void Init()
        {
            GameSession.OnSoftInit   += OnSoftInit;
            GameSession.OnCompletion += OnCompletion;

            this.Color = new Color();

            dimAni = new Anime();
            dimAni.AnimateFloat(a => this.Alpha = a)
            .AddTime(0f, 0f)
            .AddTime(0.25f, () => GameConfiguration.BackgroundDim.Value)
            .Build();

            brightenAni = new Anime();
            brightenAni.AnimateFloat(a => this.Alpha = a)
            .AddTime(0f, () => GameConfiguration.BackgroundDim.Value)
            .AddTime(0.25f, 0f)
            .Build();
        }
        private void Init()
        {
            SpriteName      = "glow-128";
            IsRaycastTarget = false;
            Alpha           = 0f;
            AddEffect(new AdditiveShaderEffect());

            effectAni = new Anime()
            {
                StopMode = StopModeType.None
            };
            effectAni.AnimateVector2(s => this.Size = s)
            .AddTime(0f, Vector2.zero, EaseType.CubicEaseOut)
            .AddTime(0.25f, () => new Vector2(targetWidth, 8000))
            .Build();
            effectAni.AnimateFloat(a => this.Alpha = a)
            .AddTime(0f, 1f, EaseType.QuadEaseIn)
            .AddTime(0.25f, 0f)
            .Build();
            effectAni.AddEvent(effectAni.Duration, () => Recycler.Return(this));
        }
Пример #6
0
        public IEnumerator Test()
        {
            var dependencies = new DependencyContainer();

            dependencies.CacheAs <IDependencyContainer>(dependencies);
            dependencies.CacheAs <IAtlas <Sprite> >(new ResourceSpriteAtlas());

            var env  = GraphicTestEnvironment.Create();
            var root = env.CreateRoot(dependencies);

            var sprite = root.CreateChild <UguiSprite>("sprite");

            sprite.Size = new Vector2(20f, 20f);

            var anime = new Anime();

            anime.AnimateFloat(value => sprite.X = value)
            .AddTime(0f, 0f, Utils.EaseType.QuadEaseOut)
            .AddTime(1f, 200f, Utils.EaseType.Linear)
            .AddTime(2f, 200f, Utils.EaseType.QuadEaseOut)
            .AddTime(3f, 400f)
            .Build();
            Assert.AreEqual(3f, anime.Duration, Delta);

            anime.AddEvent(0f, () => Debug.Log("Event 0"));
            anime.AddEvent(1f, () => Debug.Log("Event 1"));
            anime.AddEvent(2f, () => Debug.Log("Event 2"));
            anime.AddEvent(3f, () => Debug.Log("Event 3"));
            anime.AddEvent(4f, () => Debug.Log("Event 4"));
            Assert.AreEqual(4f, anime.Duration, Delta);

            while (env.IsRunning)
            {
                if (Input.GetKeyDown(KeyCode.Q))
                {
                    anime.Play();
                    Assert.IsTrue(anime.IsPlaying);
                }
                if (Input.GetKeyDown(KeyCode.W))
                {
                    anime.PlayFromStart();
                    Assert.IsTrue(anime.IsPlaying);
                }
                if (Input.GetKeyDown(KeyCode.E))
                {
                    anime.Pause();
                    Assert.IsFalse(anime.IsPlaying);
                }
                if (Input.GetKeyDown(KeyCode.R))
                {
                    anime.Stop();
                    Assert.IsFalse(anime.IsPlaying);
                }

                if (Input.GetKeyDown(KeyCode.BackQuote))
                {
                    anime.Seek(0f);
                    Assert.AreEqual(0f, anime.Time, Delta);
                }
                if (Input.GetKeyDown(KeyCode.Alpha1))
                {
                    anime.Seek(1f);
                    Assert.AreEqual(1f, anime.Time, Delta);
                }
                if (Input.GetKeyDown(KeyCode.Alpha2))
                {
                    anime.Seek(2f);
                    Assert.AreEqual(2f, anime.Time, Delta);
                }
                if (Input.GetKeyDown(KeyCode.Alpha3))
                {
                    anime.Seek(3f);
                    Assert.AreEqual(3f, anime.Time, Delta);
                }
                if (Input.GetKeyDown(KeyCode.Alpha4))
                {
                    anime.Seek(4f);
                    Assert.AreEqual(4f, anime.Time, Delta);
                }

                if (Input.GetKeyDown(KeyCode.Equals))
                {
                    anime.Speed += 0.25f;
                }
                else if (Input.GetKeyDown(KeyCode.Minus))
                {
                    anime.Speed -= 0.25f;
                }

                if (Input.GetKeyDown(KeyCode.A))
                {
                    anime.WrapMode = WrapModeType.None;
                    Debug.Log("Wrapmode set to none");
                }
                if (Input.GetKeyDown(KeyCode.S))
                {
                    anime.WrapMode = WrapModeType.Reset;
                    Debug.Log("Wrapmode set to reset");
                }
                if (Input.GetKeyDown(KeyCode.D))
                {
                    anime.WrapMode = WrapModeType.Loop;
                    Debug.Log("Wrapmode set to loop");
                }

                if (Input.GetKeyDown(KeyCode.F))
                {
                    anime.StopMode = StopModeType.None;
                    Debug.Log("Stopmode set to none");
                }
                if (Input.GetKeyDown(KeyCode.G))
                {
                    anime.StopMode = StopModeType.Reset;
                    Debug.Log("Stopmode set to reset");
                }
                if (Input.GetKeyDown(KeyCode.H))
                {
                    anime.StopMode = StopModeType.End;
                    Debug.Log("Stopmode set to end");
                }
                yield return(null);
            }
        }
Пример #7
0
        private void Init()
        {
            hoverSprite.Depth      = 1;
            hoverSprite.Anchor     = AnchorType.Fill;
            hoverSprite.RawSize    = new Vector2(28f, 30f);
            hoverSprite.Color      = Color.black;
            hoverSprite.SpriteName = "glow-parallel-64";
            hoverSprite.ImageType  = Image.Type.Sliced;
            hoverSprite.AddEffect(new FlipEffect()).Component.horizontal = true;

            mask = CreateChild <UguiSprite>("mask", 0);
            {
                mask.Anchor     = AnchorType.Fill;
                mask.RawSize    = Vector2.zero;
                mask.Color      = HexColor.Create("2A313A");
                mask.SpriteName = "parallel-64";
                mask.ImageType  = Image.Type.Sliced;

                mask.AddEffect(new MaskEffect());
                mask.AddEffect(new FlipEffect()).Component.horizontal = true;

                imageDisplay = mask.CreateChild <MapImageDisplay>("imageDisplay", 0);
                {
                    imageDisplay.Anchor  = AnchorType.Fill;
                    imageDisplay.RawSize = Vector2.zero;

                    imageGradient = imageDisplay.CreateChild <UguiSprite>("gradient", 100);
                    {
                        imageGradient.Anchor     = AnchorType.Fill;
                        imageGradient.RawSize    = Vector2.zero;
                        imageGradient.SpriteName = "gradation-left";
                        imageGradient.Color      = new Color(0f, 0f, 0f, 0.5f);
                    }
                }
                progressBar = mask.CreateChild <UguiProgressBar>("progress", 1);
                {
                    progressBar.Anchor = AnchorType.BottomStretch;
                    progressBar.Pivot  = PivotType.Bottom;
                    progressBar.SetOffsetHorizontal(22f, 0f);
                    progressBar.Height = 6f;
                    progressBar.Y      = 0f;

                    progressBar.Background.Color = new Color(0f, 0f, 0f, 0.5f);
                    progressBar.Foreground.SetOffsetTop(2f);
                }
                titleLabel = mask.CreateChild <Label>("title", 2);
                {
                    titleLabel.Anchor = AnchorType.TopStretch;
                    titleLabel.Pivot  = PivotType.Top;
                    titleLabel.SetOffsetHorizontal(20f, 32f);
                    titleLabel.Y         = -8f;
                    titleLabel.Height    = 30f;
                    titleLabel.IsBold    = true;
                    titleLabel.FontSize  = 22;
                    titleLabel.Alignment = TextAnchor.UpperLeft;
                    titleLabel.WrapText  = true;

                    var shadow = titleLabel.AddEffect(new ShadowEffect()).Component;
                    shadow.style          = ShadowStyle.Outline;
                    shadow.effectDistance = Vector2.one;
                    shadow.effectColor    = new Color(0f, 0f, 0f, 0.5f);
                }
                artistLabel = mask.CreateChild <Label>("artist", 3);
                {
                    artistLabel.Anchor = AnchorType.BottomStretch;
                    artistLabel.Pivot  = PivotType.Bottom;
                    artistLabel.SetOffsetHorizontal(32f, 20f);
                    artistLabel.Y         = 8f;
                    artistLabel.Height    = 30f;
                    artistLabel.Alignment = TextAnchor.LowerLeft;
                    artistLabel.WrapText  = true;

                    var shadow = artistLabel.AddEffect(new ShadowEffect()).Component;
                    shadow.style          = ShadowStyle.Outline;
                    shadow.effectDistance = Vector2.one;
                    shadow.effectColor    = new Color(0f, 0f, 0f, 0.5f);
                }
            }

            hoverInAni = new Anime();
            hoverInAni.AnimateColor(color => hoverSprite.Color = color)
            .AddTime(0f, () => hoverSprite.Color)
            .AddTime(0.25f, () => MapSelection.Background.Value.Highlight)
            .Build();
            hoverInAni.AnimateFloat(alpha => imageGradient.Alpha = alpha)
            .AddTime(0f, () => imageGradient.Alpha)
            .AddTime(0.25f, 0f)
            .Build();

            hoverOutAni = new Anime();
            hoverOutAni.AnimateColor(color => hoverSprite.Color = color)
            .AddTime(0f, () => hoverSprite.Color)
            .AddTime(0.25f, Color.black)
            .Build();
            hoverOutAni.AnimateFloat(alpha => imageGradient.Alpha = alpha)
            .AddTime(0f, () => imageGradient.Alpha)
            .AddTime(0.25f, 0.5f)
            .Build();

            OnEnableInited();
        }