Esempio n. 1
0
        void timer_EnterFrame(object sender, FrameEventArgs e)
        {
            // フレーム時間が長すぎると、バグるエフェクトがあるため、
            // 時間を適度な短さに調整しています。
            var MaxFrameTime = TimeSpan.FromMilliseconds(1000.0 / 20);
            var elapsed      = MathEx.Min(e.ElapsedTime, MaxFrameTime);

            if (ShogiControl != null)
            {
                ShogiControl.Render(elapsed);
            }

            if (this.visualBackground != null)
            {
                this.visualBackground.Render(elapsed);
            }
        }
Esempio n. 2
0
        public ShogiWindow()
        {
            InitializeComponent();
            ShogiControl.InitializeBindings(this);

            EffectManager = new EffectManager()
            {
                Background = this.visualBackground,
            };

            ShogiControl.EffectManager = EffectManager;
            DataContext = Global.ShogiModel;

            Global.ShogiWindow = this;
            Closed            += (_, __) => Global.ShogiWindow = null;

            EffectManager.ChangeMoveCount(1);

            this.timer = new FrameTimer(
                30,
                timer_EnterFrame,
                Dispatcher);
            this.timer.Start();
        }
        /// <summary>
        /// コンストラクタ
        /// </summary>
        public CapturedPieceObject(ShogiControl shogi, BWType bwType, PieceType pieceType)
        {
            this.shogi = shogi;

            PieceType = pieceType;
            BWType = bwType;
            Count = 0;
        }