コード例 #1
0
ファイル: MouseOperate.cs プロジェクト: shangshen/cozy
        private void OnButtonPressed(object sender, MouseButtonEventArgs msg)
        {
            if (msg.Button == MouseButton.Left)
            {
                IsLeftMouseButtonPress = true;
                if (DispatchPressed(msg.Current.Position.X, msg.Current.Position.Y))
                {
                    return;
                }

                Point p = CozyTiledPositionHelper.ConvertPositionToTiledPosition(CurrentPosition.ToVector2(), NodeContentSize);
                if (Status == S_Add)
                {
                    if (Judge(p))
                    {
                        TempTiles[p] = CurrentTiledId;
                    }
                }
                else if (Status == S_Remove)
                {
                    RemoveTiled(p);
                }
            }
            else if (msg.Button == MouseButton.Right)
            {
                if (CommandHistory.Instance.CanUndo())
                {
                    TiledCommandUndo(this, null);
                }
            }
        }
コード例 #2
0
ファイル: MouseOperate.cs プロジェクト: shangshen/cozy
        private void OnMouseMoved(object sender, MouseEventArgs msg)
        {
            CurrentPosition = msg.Current.Position;
            if (IsLeftMouseButtonPress)
            {
                if (DispatchMoved(msg.Current.Position.X, msg.Current.Position.Y))
                {
                    return;
                }

                Point p = CozyTiledPositionHelper.ConvertPositionToTiledPosition(CurrentPosition.ToVector2(), NodeContentSize);
                if (Judge(p))
                {
                    if (Status == S_Add)
                    {
                        TempTiles[p] = CurrentTiledId;
                    }
                    else if (Status == S_Remove)
                    {
                        RemoveTiled(p);
                    }
                }
            }
        }
コード例 #3
0
        protected override void DrawSelf(Microsoft.Xna.Framework.GameTime gameTime, Microsoft.Xna.Framework.Graphics.SpriteBatch spriteBatch)
        {
            spriteBatch.End();

            foreach (var obj in DrawableUIElemts)
            {
                foreach (Control elemt in obj.GetDrawableElemt())
                {
                    renderer.Render(elemt, spriteBatch);
                }
            }

            spriteBatch.Begin();

            if (Status == S_Add)
            {
                CozyTiledFactory.GetInstance(CurrentTiledId).DrawAt(gameTime, spriteBatch, CurrentPosition.ToVector2(), NodeContentSize);
            }
            foreach (var obj in TempTiles)
            {
                var ActualPosition = CozyTiledPositionHelper.ConvertTiledPositionToPosition(obj.Key, NodeContentSize);
                CozyTiledFactory.GetInstance(obj.Value).DrawAt(gameTime, spriteBatch, ActualPosition, NodeContentSize);
            }
        }