Ejemplo n.º 1
0
 private void SetupXamarinViewPager(TransitionEffect effect)
 {
     mXvp = FindViewById <XamarinViewPager.XamarinViewPager>(Resource.Id.jazzy_pager);
     mXvp.TransitionEffect = effect;
     mXvp.Adapter          = new MainAdapter(this, mXvp);
     mXvp.PageMargin       = 30;
 }
Ejemplo n.º 2
0
        protected override void Init(Controllers.UiController controller, object binding, DefinitionFile definition)
        {
            base.Init(controller, binding, definition);

            DefinitionFileWithStyle file = new DefinitionFileWithStyle(definition, typeof(TransformGroup));

            _reverse = DefinitionResolver.Get <bool>(controller, binding, file["Reverse"], false);

            List <DefinitionFile> drawableFiles = file["Drawables"] as List <DefinitionFile>;

            if (drawableFiles != null)
            {
                foreach (var def in drawableFiles)
                {
                    ButtonDrawable drawable = def.CreateInstance(controller, binding) as ButtonDrawable;

                    if (drawable != null)
                    {
                        _drawables.Add(drawable);
                    }
                }
            }

            _transitionPushed = (file["TransitionEffect"] as DefinitionFile).CreateInstance(controller, binding) as TransitionEffect;
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Reverses the direction.
        /// </summary>
        /// <param name="transitionEffect">The transition effect.</param>
        private void ReverseDirection(TransitionEffect transitionEffect)
        {
            var circleRevealTransitionEffect = transitionEffect as CircleRevealTransitionEffect;

            if (circleRevealTransitionEffect != null)
            {
                circleRevealTransitionEffect.Reverse = true;
                return;
            }

            var slideInTransitionEffect = transitionEffect as SlideInTransitionEffect;

            if (slideInTransitionEffect != null)
            {
                if (slideInTransitionEffect.SlideDirection == SlideDirection.RightToLeft)
                {
                    slideInTransitionEffect.SlideDirection = SlideDirection.LeftToRight;
                }
                return;
            }

            var wipeTransitionEffect = transitionEffect as WipeTransitionEffect;

            if (wipeTransitionEffect != null)
            {
                if (wipeTransitionEffect.WipeDirection == WipeDirection.RightToLeft)
                {
                    wipeTransitionEffect.WipeDirection = WipeDirection.LeftToRight;
                }
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Returns the <see cref="Style"/> to apply to the content during the transition.
        /// </summary>
        /// <param name="presenter">The <see cref="TransitionPresenter"/> that is managing the transition.</param>
        /// <param name="previousElement">The previous element.</param>
        /// <returns>
        /// The <see cref="Style"/> to apply to the "to" content during the transition.
        /// </returns>
        private Style GetCoreContentStyle(TransitionPresenter presenter, FrameworkElement previousElement)
        {
            TransitionEffect effect = this.Effect;

            if (null == effect)
            {
                return(null);
            }

            effect = effect.Clone() as TransitionEffect;
            if (null == effect)
            {
                return(null);
            }

            if (null != previousElement && 0 != previousElement.ActualHeight && 0 != previousElement.ActualWidth)
            {
                VisualBrush visualBrush = new VisualBrush(previousElement);
                visualBrush.Viewbox      = new Rect(0, 0, previousElement.ActualWidth, previousElement.ActualHeight);
                visualBrush.ViewboxUnits = BrushMappingMode.Absolute;
                effect.OldImage          = visualBrush;
            }
            else
            {
                effect.OldImage = new VisualBrush();
            }

            Style style = new Style(typeof(FrameworkElement));

            style.Setters.Add(new Setter(FrameworkElement.EffectProperty, effect));
            return(style);
        }
Ejemplo n.º 5
0
        public virtual void PopState()
        {
            if (states.Count > 0)
            {
                T current = states[states.Count - 1];
                T next    = default(T);
                if (states.Count > 1)
                {
                    next       = states[states.Count - 2];
                    next.State = ScreenState.Active;
                }
                leaveTransition = current.LeaveTransition;
                if (leaveTransition != null)
                {
                    leaveTransition.Init(current, next);
                }
                else
                {
                    leaveTransition = new EmptyTransition();
                }
                current.IsExiting = true;
                current.State     = ScreenState.TransitionOff; // ollaan häivyttämässä
                this.current      = current;
                this.next         = next;

                current.HasFocus = false;
                // viiminen ruutu
                if (next != null)
                {
                    next.HasFocus = false;
                }
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Applies a random transition effect between current and next slide show images
        /// </summary>
        private void ApplyTransitionEffect()
        {
            DoubleAnimation da = new DoubleAnimation(0.0, 1.0, new Duration(TimeSpan.FromMilliseconds(totalAnimationPeriod / 5)), FillBehavior.HoldEnd);

            da.AccelerationRatio = 0.5;
            da.DecelerationRatio = 0.5;
            da.Completed        += new EventHandler(this.TransitionCompleted);
            // Force the frame rate to animFrameRate instead of WPF's default value of 60fps.
            // this will reduce the CPU load on low-end machines, and will conserve battery for portable devices.
            Timeline.SetDesiredFrameRate(da, animFrameRate);

            VisualBrush vb = new VisualBrush(this._oldChild);

            vb.Viewbox            = new Rect(0, 0, this._oldChild.ActualWidth, this._oldChild.ActualHeight);
            vb.ViewboxUnits       = BrushMappingMode.Absolute;
            this._oldChild.Width  = this._oldChild.ActualWidth;
            this._oldChild.Height = this._oldChild.ActualHeight;
            this._oldChild.Measure(new Size(this._oldChild.ActualWidth, this._oldChild.ActualHeight));
            this._oldChild.Arrange(new Rect(0, 0, this._oldChild.ActualWidth, this._oldChild.ActualHeight));

            TransitionEffect transitionEffect = GetRandomTransitionEffect();

            transitionEffect.OldImage = vb;
            this._currentChild.Effect = transitionEffect;

            transitionEffect.BeginAnimation(TransitionEffect.ProgressProperty, da, HandoffBehavior.SnapshotAndReplace);
        }
        private void DangNhap()
        {
            NguoiDungDTO nd = new NguoiDungDTO();
            string       pass = "", username = "", phanquyen = "", hinhanh = "";

            username = txtTaiKhoan.Text;
            if (NguoiDungBUS.DangNhap(username).Rows.Count > 0)
            {
                foreach (DataRow row in NguoiDungBUS.DangNhap(username).Rows)
                {
                    pass      = row["Password"].ToString();
                    phanquyen = row["MaPQ"].ToString();
                    hinhanh   = row["HinhAnh"].ToString();
                }
                if (ch == true && txtMatKhau.Password != pass)
                {
                    if (txtMatKhau.Password != "")
                    {
                        tbThongbao.Text = "※Sai mật khẩu※";
                        dispatcherTimer.Start();
                    }
                }
                if (ch == false && txtTaiKhoan.Text == username)
                {
                    TransitioningContent transitioningContent = new TransitioningContent();
                    TransitionEffect     effect = new TransitionEffect();
                    effect.Kind = TransitionEffectKind.ExpandIn;
                    transitioningContent.OpeningEffect = effect;
                    object avatarContent;
                    ell.Height                   = 150;
                    ell.Width                    = 150;
                    ell.Stroke                   = Brushes.Transparent;
                    ell.StrokeThickness          = 1;
                    ell.Fill                     = new ImageBrush(new BitmapImage(new Uri(@"..\..\Resources\Images\Avatar\" + hinhanh, UriKind.RelativeOrAbsolute)));
                    avatarContent                = ell;
                    transitioningContent.Content = avatarContent;
                    avatarContentControl.Content = transitioningContent;
                    ch = true;
                    transitionerField.SelectedIndex = 1;
                    FocusManager.SetFocusedElement(gridSumary, txtMatKhau);
                }
                if (ch == true && txtMatKhau.Password == pass)
                {
                    Account = username;
                    Avatar  = hinhanh;
                    MainWindow mainWindow = new MainWindow();
                    mainWindow.Show();
                    this.Close();
                }
            }
            else
            {
                if (txtTaiKhoan.Text != "")
                {
                    tbThongbao.Text = "※Tài khoản không tồn tại※";
                    dispatcherTimer.Start();
                }
            }
        }
Ejemplo n.º 8
0
        // Vaihtaa transitionin ja päivittää isFinishedin statea.
        private void ChangeTransition()
        {
            if (!isFinished)
            {
                // Otetaan tässä lohkossa eka mahdollinen transitioni.
                // Ottaa outTransitionin jossei se ole null ja vise versa.
                if (currentTransition == null)
                {
                    if (outTransition != null)
                    {
                        currentTransition = outTransition;
                    }
                    else
                    {
                        // Ammutaan out transitionin finished event suoraan.
                        LaunchOutFinished();

                        currentTransition = inTransition;
                    }
                }
                else
                {
                    if (currentTransition == outTransition)
                    {
                        LaunchOutFinished();

                        if (inTransition != null)
                        {
                            currentTransition = inTransition;
                        }
                        else
                        {
                            LaunchInFinished();
                        }
                    }
                    else
                    {
                        LaunchInFinished();
                        currentTransition = null;
                    }
                }

                // Alotetaan uusi transitoni jossei olla toistettu molempia.
                if (currentTransition != null && !currentTransition.IsStarted)
                {
                    currentTransition.Start();
                }
                else
                {
                    isFinished = true;

                    if (OnFinished != null)
                    {
                        OnFinished(this, new GameEventArgs());
                    }
                }
            }
        }
Ejemplo n.º 9
0
        protected override void OnPageScrolled(int position, float positionOffset, int positionOffsetPixels)
        {
            if (State == JazzyState.Idle && positionOffset > 0)
            {
                oldPage = CurrentItem;
                State   = position == oldPage ? JazzyState.GoingRight : JazzyState.GoingLeft;
            }
            bool goingRight = position == oldPage;

            if (State == JazzyState.GoingRight && !goingRight)
            {
                State = JazzyState.GoingLeft;
            }
            else if (State == JazzyState.GoingLeft && goingRight)
            {
                State = JazzyState.GoingRight;
            }

            float effectOffset = IsSmall(positionOffset) ? 0 : positionOffset;

            var adapter = JazzyPageAdapter;

            if (adapter != null)
            {
                var leftView  = adapter.FindViewFromObject(position);
                var rightView = adapter.FindViewFromObject(position + 1);

                if (OutlineEnabled)
                {
                    AnimateOutline(leftView, rightView);
                }

                if (State != JazzyState.Idle)
                {
                    if (leftView != null)
                    {
                        ManageLayer(leftView, true);
                    }
                    if (rightView != null)
                    {
                        ManageLayer(rightView, true);
                    }
                }

                if (TransitionEffect != null)
                {
                    TransitionEffect.Animate(this, leftView, rightView, positionOffset, positionOffsetPixels);
                }
            }

            base.OnPageScrolled(position, positionOffset, positionOffsetPixels);

            if (effectOffset == 0)
            {
                DisableHardwareLayer();
                State = JazzyState.Idle;
            }
        }
Ejemplo n.º 10
0
 private void HookTransitionListener(GameState state)
 {
     if (state.LeaveTransition != null)
     {
         TransitionEffect transition = state.LeaveTransition;
         transition.OnTransitionFinish -= OnLeaveTransitionFinish;
         transition.OnTransitionFinish += OnLeaveTransitionFinish;
     }
 }
 void OnRenderImage(RenderTexture source, RenderTexture destination)
 {
     if (transitionEffect == null || transition != m_Transition)
     {
         m_Transition     = transition;
         transitionEffect = GetTransitionEffect(m_Transition);
     }
     transitionEffect.OnRenderImage(source, destination);
 }
Ejemplo n.º 12
0
 public void PushScene(GameScene gameScene, TransitionEffect transitionEffect = TransitionEffect.None, int duration = 0)
 {
     if (CurrentScene != null)
     {
         sceneStack.Push(CurrentScene);
     }
     sceneStack.Push(gameScene);
     SwitchScene(gameScene, transitionEffect, duration, false);
     DebugStack();
 }
Ejemplo n.º 13
0
        /// <summary>
        /// Alustaa uuden siirtymä toistajan. Jompikumpi valueista voi olla null, mutta ei volemmat.
        /// </summary>
        public TransitionPlayer(TransitionEffect transitInEffect = null, TransitionEffect transitOutEffect = null)
        {
            this.outTransition = transitInEffect;
            this.inTransition  = transitOutEffect;

            if (transitInEffect == null && transitOutEffect == null)
            {
                throw new ArgumentNullException("Both transitions cant be null.");
            }
        }
Ejemplo n.º 14
0
 // Use this for initialization
 void Start()
 {
     transition = this.gameObject.GetComponent <TransitionEffect> ();
     if (currentNPC)
     {
         parentNPCToCam(currentNPC);
     }
     npcList          = GameObject.Find("NPCs").transform;
     finishedShifting = true;
 }
Ejemplo n.º 15
0
 private void Start()
 {
     transition = FindObjectOfType <TransitionEffect>();
     cow        = FindObjectOfType <Cow>().transform;
     cowRB      = cow.GetComponent <Rigidbody>();
     if ((transform.position - cow.position).magnitude < .5f)
     {
         cameFromNode = true;
     }
     Invoke("ReleaseCow", .5f);
 }
Ejemplo n.º 16
0
        private void MediaCenter_PreviewMouseDown(object sender, MouseButtonEventArgs e)
        {
            VisualBrush vbrush = new VisualBrush(this);

            _TransitionEffect = _TransitionEffect.Clone() as TransitionEffect;

            this.Effect = _TransitionEffect;

            // _TransitionEffect.Input = vbrush.Clone();
            _TransitionEffect.OldImage = vbrush.Clone();
            _TransitionEffect.BeginAnimation(TransitionEffect.ProgressProperty, _Animation);
        }
Ejemplo n.º 17
0
        private void cbHinhAnh_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            TransitioningContent transitioningContent = new TransitioningContent();
            TransitionEffect     effect = new TransitionEffect();

            effect.Kind = TransitionEffectKind.ExpandIn;
            transitioningContent.OpeningEffect = effect;
            object avatarContent;
            Image  img = new Image();

            //img.Stretch = Stretch.None;
            img.VerticalAlignment   = VerticalAlignment.Center;
            img.HorizontalAlignment = HorizontalAlignment.Center;
            try
            {
                if (IsRefresh == false)
                {
                    BitmapImage bitm = new BitmapImage();
                    bitm.BeginInit();
                    bitm.UriSource = new Uri(Directory.GetParent(Directory.GetParent(Directory.GetCurrentDirectory()).ToString()).ToString() + @"\Resources\Images\Avatar\" + cbHinhAnh.SelectedValue.ToString(), UriKind.RelativeOrAbsolute);
                    bitm.EndInit();
                    img.Source  = bitm;
                    img.Stretch = Stretch.UniformToFill;
                }
                else
                {
                    BitmapImage bitm = new BitmapImage();
                    bitm.BeginInit();
                    bitm.UriSource = new Uri(@"../../Resources/Images/account-card-details-black.png", UriKind.RelativeOrAbsolute);
                    bitm.EndInit();
                    img.Source  = bitm;
                    img.Opacity = 0.4;
                    img.Stretch = Stretch.None;
                    IsRefresh   = false;
                }
            }
            catch (Exception ex)
            {
                BitmapImage bitm = new BitmapImage();
                bitm.BeginInit();
                bitm.UriSource = new Uri(@"../../Resources/Images/account-card-details-black.png", UriKind.RelativeOrAbsolute);
                bitm.EndInit();
                img.Source  = bitm;
                img.Opacity = 0.4;
                img.Stretch = Stretch.None;
            }
            finally
            {
                avatarContent = img;
                transitioningContent.Content = avatarContent;
                avatarContentControl.Content = transitioningContent;
            }
        }
        public static void BeginAnimation(UserControl oldControl, UserControl newControl)
        {
            if (IsReady == false)
            {
                Init();
            }

            WriteableBitmap capture = new WriteableBitmap(oldControl, new System.Windows.Media.ScaleTransform());

            System.Windows.Media.ImageBrush imageBrush = new System.Windows.Media.ImageBrush();
            imageBrush.ImageSource = capture;

            TransitionEffect transitionEffect = GetRandomTransition();

            transitionEffect.OldImage = imageBrush;

            newControl.Effect = transitionEffect;

            #region WPF ShaderEffect Animation

            /*
             * DoubleAnimation da = new DoubleAnimation();
             * da.From = 0;
             * da.To = 1;
             * da.Duration = TimeSpan.FromSeconds(3);
             * //da.AutoReverse = true;
             * //da.RepeatBehavior = RepeatBehavior.Forever;
             * transitionEffect.BeginAnimation(TransitionEffect.ProgressProperty, da);
             * */
            #endregion

            #region Silverlight ShaderEffect Animation

            System.Windows.Media.Animation.DoubleAnimation da = new System.Windows.Media.Animation.DoubleAnimation();
            da.From        = 0;
            da.To          = 1;
            da.Duration    = TimeSpan.FromSeconds(1.5);
            da.AutoReverse = false;
            //da.RepeatBehavior = System.Windows.Media.Animation.RepeatBehavior.Forever;

            //Storyboard st = (LayoutRoot.Resources)["st"] as Storyboard;
            System.Windows.Media.Animation.Storyboard st = new System.Windows.Media.Animation.Storyboard();
            System.Windows.Media.Animation.Storyboard.SetTarget(da, transitionEffect);
            System.Windows.Media.Animation.Storyboard.SetTargetProperty(da, new PropertyPath(TransitionEffect.ProgressProperty));
            st.Children.Add(da);
            st.Completed += new EventHandler(delegate
            {
                newControl.Effect = null;
            });
            st.Begin();

            #endregion
        }
Ejemplo n.º 19
0
    public void OnSceneTransition(string sceneName, TransitionType transitionType, Action callback = null)
    {
        isWork = false;
        Action action = () =>
        {
            callback?.Invoke( );
            StartCoroutine(SceneTransition(sceneName));
        };

        canvasGroup.blocksRaycasts = true;
        current = transitionEffects[transitionType];
        current.OnFadeIn(action);
    }
Ejemplo n.º 20
0
        private void ApplyTransitionEffect()
        {
            TransitionEffect[] effectGroup = transitionEffects[this.rand.Next(transitionEffects.Length)];
            TransitionEffect   effect      = effectGroup[this.rand.Next(effectGroup.Length)];

            if (_useOrder)
            {
                effectGroup = transitionEffectsSingle[_nextEffect % transitionEffectsSingle.Length];
                effect      = effectGroup[0];

                if (++_usedTimes == 2)
                {
                    _usedTimes = 0;
                    _nextEffect++;
                }

                this.effectName.Text = ExtractName(effect);
                if (_nextEffect == transitionEffectsSingle.Length)
                {
                    _useOrder            = false;
                    this.effectName.Text = "mixed effects, random";
                }
            }


            RandomizedTransitionEffect randEffect = effect as RandomizedTransitionEffect;

            if (randEffect != null)
            {
                randEffect.RandomSeed = this.rand.NextDouble();
            }

            DoubleAnimation da = new DoubleAnimation(0.0, 1.0, new Duration(TimeSpan.FromSeconds(2.0)), FillBehavior.HoldEnd);

            da.AccelerationRatio = 0.5;
            da.DecelerationRatio = 0.5;
            da.Completed        += new EventHandler(this.TransitionCompleted);
            effect.BeginAnimation(TransitionEffect.ProgressProperty, da);

            VisualBrush vb = new VisualBrush(this.oldChild);

            vb.Viewbox      = new Rect(0, 0, this.oldChild.ActualWidth, this.oldChild.ActualHeight);
            vb.ViewboxUnits = BrushMappingMode.Absolute;
            //this.oldChild.Width = this.oldChild.ActualWidth;
            //this.oldChild.Height = this.oldChild.ActualHeight;
            //this.oldChild.Measure(new Size(this.oldChild.ActualWidth, this.oldChild.ActualHeight));
            //this.oldChild.Arrange(new Rect(0, 0, this.oldChild.ActualWidth, this.oldChild.ActualHeight));

            effect.OldImage          = vb;
            this.currentChild.Effect = effect;
        }
Ejemplo n.º 21
0
        public XamarinViewPager(Context context, IAttributeSet attrs)
            : base(context, attrs)
        {
            SetClipChildren(false);

            PagingEnabled = true;

            TypedArray ta     = context.ObtainStyledAttributes(attrs, Resource.Styleable.XamarinViewPager);
            int        effect = ta.GetInt(Resource.Styleable.XamarinViewPager_style, 0);

            String[] transitions = Resources.GetStringArray(Resource.Array.Xamarin_effects);
            TransitionEffect = (global::XamarinViewPager.TransitionEffect)effect;
            FadeEnable       = ta.GetBoolean(Resource.Styleable.XamarinViewPager_fadeEnabled, false);
        }
 private void cbHinhAnh_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (dataGridSelectedNV.SelectedItem != null)
     {
         TransitioningContent transitioningContent = new TransitioningContent();
         TransitionEffect     effect = new TransitionEffect();
         effect.Kind = TransitionEffectKind.ExpandIn;
         transitioningContent.OpeningEffect = effect;
         object avatarContent;
         Image  img = new Image();
         //img.Stretch = Stretch.None;
         img.VerticalAlignment   = VerticalAlignment.Center;
         img.HorizontalAlignment = HorizontalAlignment.Center;
         try
         {
             BitmapImage bitm = new BitmapImage();
             bitm.BeginInit();
             bitm.UriSource = new Uri(Directory.GetParent(Directory.GetParent(Directory.GetCurrentDirectory()).ToString()).ToString() + @"\Resources\Images\Avatar\" + (dataGridSelectedNV.SelectedItem as DataRowView).Row["HinhAnh"].ToString(), UriKind.RelativeOrAbsolute);
             bitm.EndInit();
             img.Source        = bitm;
             img.Stretch       = Stretch.UniformToFill;
             tbImageError.Text = "";
         }
         catch (Exception ex)
         {
             if ((dataGridSelectedNV.SelectedItem as DataRowView).Row["HinhAnh"].ToString() != "")
             {
                 tbImageError.Text = "Không tìm thấy\n    file ảnh!!!";
             }
             else
             {
                 tbImageError.Text = "Chưa có ảnh!";
             }
             BitmapImage bitm = new BitmapImage();
             bitm.BeginInit();
             bitm.UriSource = new Uri(@"../../Resources/Images/account-card-details-black.png", UriKind.RelativeOrAbsolute);
             bitm.EndInit();
             img.Source  = bitm;
             img.Opacity = 0.4;
             img.Stretch = Stretch.None;
         }
         finally
         {
             avatarContent = img;
             transitioningContent.Content = avatarContent;
             avatarContentControl.Content = transitioningContent;
             manvSelection = (dataGridSelectedNV.SelectedItem as DataRowView).Row[0].ToString();
         }
     }
 }
Ejemplo n.º 23
0
    void InitTransitionComponent()
    {
        if (Camera.main != null)
        {
            mainCam = Camera.main;
        }

        transitionEffect = Camera.main.gameObject.GetComponent <TransitionEffect>();
        if (transitionEffect == null)
        {
            Debug.LogWarning("No Transition effect on Main Camera: " + Camera.main.name + ". Adding one");
            transitionEffect = Camera.main.gameObject.AddComponent <TransitionEffect>();
        }
    }
Ejemplo n.º 24
0
 public void NavigateTo(int containerId, BaseFragment fragment, TransitionEffect effect = TransitionEffect.None)
 {
     currentFragment = fragment;
     Android.Support.V4.App.FragmentTransaction fragmentTx = SupportFragmentManager.BeginTransaction();
     if (effect == TransitionEffect.Push)
     {
         fragmentTx.SetCustomAnimations(Resource.Animation.slide_in_from_right, Resource.Animation.slide_out_to_left);
     }
     else if (effect == TransitionEffect.Pop)
     {
         fragmentTx.SetCustomAnimations(Resource.Animation.slide_in_from_left, Resource.Animation.slide_out_to_right);
     }
     fragmentTx.Replace(containerId, fragment);
     fragmentTx.Commit();
 }
Ejemplo n.º 25
0
        /// <summary>
        /// Switch scene.
        /// </summary>
        /// <param name="gameScene">New game scene</param>
        /// <param name="transitionEffect">Transition effect to use when switching scene</param>
        /// <param name="duration">Time in milliseconds for transition</param>
        public void SwitchScene(GameScene gameScene, TransitionEffect transitionEffect = TransitionEffect.None, int duration = 0, bool disposePreviousScene = true)
        {
            this.disposePreviousScene = disposePreviousScene;

            transitionCount = 0;

            if (duration == 0 || CurrentScene == null)
            {
                transitionEffect = TransitionEffect.None;
            }

            if (transitionEffect != TransitionEffect.None)
            {
                this.transitionEffect = transitionEffect;
                transitionDuration    = duration;
                DrawSceneToSurface(CurrentScene, surfaceCurrentScene);
                DrawSceneToSurface(gameScene, surfaceNextScene);

                if (transitionEffect == TransitionEffect.TileExplode)
                {
                    int tileWidth  = surfaceCurrentScene.Width / TilesH;
                    int tileHeight = surfaceCurrentScene.Height / TilesV;
                    tile = new Vector4[TilesH, TilesV];
                    for (int y = 0; y < TilesV; y++)
                    {
                        for (int x = 0; x < TilesH; x++)
                        {
                            tile[x, y] = new Vector4(x * tileWidth, y * tileHeight, SosEngine.Core.Random(-8, 8), -SosEngine.Core.Random(12, 20));
                        }
                    }
                }
            }

            if (CurrentScene != null)
            {
                if (disposePreviousScene)
                {
                    CurrentScene.Dispose();
                }
                CurrentScene = gameScene;
            }
            else
            {
                // Wait until updating to switch scene
                NextScene = gameScene;
            }
        }
Ejemplo n.º 26
0
    public void OnTransition(TransitionType transitionType, Action callback_FadeIn = null, Action callback_FadeOut = null)
    {
        Action action = () =>
        {
            callback_FadeIn?.Invoke( );
            Action endAction = () =>
            {
                callback_FadeOut?.Invoke( );
                canvasGroup.blocksRaycasts = false;
            };
            current.OnFadeOut(endAction);
        };

        canvasGroup.blocksRaycasts = true;
        current = transitionEffects[transitionType];
        current.OnFadeIn(action);
    }
Ejemplo n.º 27
0
        private void AnimateContent(object oldContent, object newContent)
        {
            var oldContentVisual = GetVisualChild();
            var tier             = (RenderCapability.Tier >> 16);

            // if we dont have a selector, or the visual content is not a FE, do not animate
            if (EnableTransitions == false || ContentTransitionSelector == null || oldContentVisual == null || tier < 2)
            {
                SetNonVisualChild(newContent);
                return;
            }

            // create the transition
            TransitionEffect transitionEffect = ContentTransitionSelector.GetTransition(oldContent, newContent, this);

            if (transitionEffect == null)
            {
                throw new InvalidOperationException("Returned transition effect is null.");
            }

            // create the animation
            DoubleAnimation da = new DoubleAnimation(0.0, 1.0, new Duration(Duration), FillBehavior.HoldEnd);

            da.Completed += delegate
            {
                ApplyEffect(null);
            };
            if (EasingFunction != null)
            {
                da.EasingFunction = EasingFunction;
            }
            else
            {
                da.AccelerationRatio = 0.5;
                da.DecelerationRatio = 0.5;
            }
            transitionEffect.BeginAnimation(TransitionEffect.ProgressProperty, da);

            VisualBrush oldVisualBrush = new VisualBrush(oldContentVisual);

            transitionEffect.OldImage = oldVisualBrush;

            SetNonVisualChild(newContent);
            ApplyEffect(transitionEffect);
        }
Ejemplo n.º 28
0
        private void ApplyTransitionEffect()
        {
            TransitionEffect[] effectGroup = transitionEffects[this.rand.Next(transitionEffects.Length)];
            TransitionEffect   effect      = effectGroup[this.rand.Next(effectGroup.Length)];

            if (_useOrder)
            {
                effectGroup = transitionEffectsSingle[_nextEffect % transitionEffectsSingle.Length];
                effect      = effectGroup[0];

                if (++_usedTimes == 2)
                {
                    _usedTimes = 0;
                    _nextEffect++;
                }

                this.effectName.Text = ExtractName(effect);
                if (_nextEffect == transitionEffectsSingle.Length)
                {
                    _useOrder            = false;
                    this.effectName.Text = "mixed effects, random";
                }
            }


            RandomizedTransitionEffect randEffect = effect as RandomizedTransitionEffect;

            if (randEffect != null)
            {
                randEffect.RandomSeed = this.rand.NextDouble();
            }


            ImageBrush ib = new ImageBrush();

            ib.ImageSource  = this.oldChild.Source;
            effect.OldImage = ib;
            Storyboard sb = TransitionHelper.CreateTransition(effect, this.currentChild, TimeSpan.FromSeconds(1),
                                                              0, 1, ib);

            sb.Completed += new EventHandler(this.TransitionCompleted);
            sb.Begin();
        }
        public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
        {
            TransitionEffectBase transitionEffect = null;

            var stringValue = value as string;
            if (stringValue != null)
            {
                TransitionEffectKind effectKind;
                if (Enum.TryParse(stringValue, out effectKind))
                    transitionEffect = new TransitionEffect(effectKind);
            }
            else
                transitionEffect = value as TransitionEffectBase;

            if (transitionEffect == null)
                throw new XamlParseException($"Could not parse to type {typeof (TransitionEffectKind).FullName} or {typeof (TransitionEffectBase).FullName}.");

            return transitionEffect;
        }
Ejemplo n.º 30
0
 public virtual void ChangeState(T state)
 {
     if (states.Count != 0)
     {
         current         = states[states.Count - 1];
         next            = state;
         leaveTransition = current.LeaveTransition;
         if (leaveTransition == null)
         {
             leaveTransition = new EmptyTransition();
         }
         leaveTransition.Init(current, next);
         current.IsExiting = true;
     }
     current.State    = ScreenState.TransitionOff; // ollaan häivyttämässä
     current.HasFocus = false;
     next.HasFocus    = false;
     states.Add(state);
     InitState(state);
 }
Ejemplo n.º 31
0
        public static Storyboard CreateTransition(TransitionEffect effect, UIElement element, TimeSpan duration, double from, double to, Brush old)
        {
            DoubleAnimation da = new DoubleAnimation();

            da.Duration     = new Duration(duration);
            da.From         = from;
            da.To           = to;
            da.FillBehavior = FillBehavior.HoldEnd;


            Storyboard sb = new Storyboard();

            sb.Children.Add(da);
            Storyboard.SetTarget(da, effect);
            Storyboard.SetTargetProperty(da, new PropertyPath("(TransitionEffect.Progress)"));

            effect.OldImage = old;
            element.Effect  = effect;
            return(sb);
        }
        /// <summary>
        /// Reverses the direction.
        /// </summary>
        /// <param name="transitionEffect">The transition effect.</param>
        private void ReverseDirection(TransitionEffect transitionEffect)
        {
            var circleRevealTransitionEffect = transitionEffect as CircleRevealTransitionEffect;

            if (circleRevealTransitionEffect != null)
            {
                circleRevealTransitionEffect.Reverse = true;
                return;
            }

            var slideInTransitionEffect = transitionEffect as SlideInTransitionEffect;
            if (slideInTransitionEffect != null)
            {
                if (slideInTransitionEffect.SlideDirection == SlideDirection.RightToLeft)
                {
                    slideInTransitionEffect.SlideDirection = SlideDirection.LeftToRight;
                }
                return;
            }

            var wipeTransitionEffect = transitionEffect as WipeTransitionEffect;
            if (wipeTransitionEffect != null)
            {
                if (wipeTransitionEffect.WipeDirection == WipeDirection.RightToLeft)
                {
                    wipeTransitionEffect.WipeDirection = WipeDirection.LeftToRight;
                }
            }
        }