コード例 #1
0
        internal AiModWindow(Editor editor)
        {
            this.editor = editor;

            aiMod = new AiMod();

            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;

            // designer doesn't give custom events hnrrgh
            this.NonClientHitTest += AiModWindow_NonClientTest;
            pnlTop.ClickThrough    = true;

            dataGridView1.ColumnHeadersHeight = (int)(23 * DpiHelper.DPI(this) / 96.0f);
        }
コード例 #2
0
ファイル: pListView.cs プロジェクト: notperry1234567890/osu
        private void FixColumns()
        {
            if (beenScaled || Columns.Count == 0 || !columnsSized)
            {
                return;
            }

            float ratio = DpiHelper.DPI(this) / 96.0f;

            foreach (ColumnHeader c in Columns)
            {
                c.Width = (int)(c.Width * ratio);
            }
            beenScaled = true;
        }
コード例 #3
0
        private void UpdateEventList()
        {
            eventList.Update();

            if (eventListDragging != null)
            {
                eventListDragging.Position = eventListDragging.InitialPosition +
                                             (MouseManager.MousePosition - eventListDraggingStart) /
                                             GameBase.WindowManager.Ratio;

                foreach (pSprite p in eventList.ContentSpriteManager.SpriteList.FindAll(t => t.TagNumeric > 0))
                {
                    pText pt = p as pText;
                    if (eventListDragging == p || (pt != null && pt.Text == @"Background"))
                    {
                        continue;
                    }

                    if (p.InitialPosition.Y > eventListDragging.Position.Y - eventDrawHeight / 2)
                    {
                        if (p.Position == p.InitialPosition)
                        {
                            p.MoveTo(p.InitialPosition + new Vector2(0, eventDrawHeight), 80);
                        }
                    }
                    else if (p.InitialPosition.Y < eventListDragging.Position.Y)
                    {
                        if (p.Position != p.InitialPosition)
                        {
                            p.MoveTo(p.InitialPosition, 80);
                        }
                    }
                }
            }

            if (EventListUpdateRequired)
            {
                eventList.ClearSprites();
                eventListDictionary.Clear();

                float y = 0;

                float drawDepth = 0.5f;

                float scale = DpiHelper.DPI(GameBase.Form) / 96.0f;
                for (int i = 0; i < eventManager.storyLayerSprites.Length; i++)
                {
                    bool layerIsEnabled = eventManager.storyLayerEnabled[i];

                    List <Event> l = eventManager.storyLayerSprites[i];

                    StoryLayer layer = (StoryLayer)i;

                    pText pt = new pText(layer.ToString(), 8 * scale, new Vector2(0, y), drawDepth, true, layerIsEnabled ? Color.Orange : Color.LightGray);
                    pt.TextRenderSpecific = false;
                    pt.TextAa             = false;
                    pt.TextShadow         = true;
                    pt.TagNumeric         = 1;
                    pt.HandleInput        = true;
                    pt.OnHover           += delegate
                    {
                        if (selectedEvent != null)
                        {
                            pt.TextBold    = true;
                            pt.TextChanged = true;
                        }
                    };
                    pt.OnHoverLost += delegate
                    {
                        pt.TextBold    = false;
                        pt.TextChanged = true;
                    };
                    pt.OnClick += delegate
                    {
                        if (selectedEvent != null)
                        {
                            moveEventToLayer(selectedEvent, layer);
                        }
                        else
                        {
                            ToggleLayer(layer);
                        }
                    };
                    eventList.ContentSpriteManager.Add(pt);
                    if (eventDrawHeight == 0)
                    {
                        eventDrawHeight = (pt.MeasureText().Y + 4 * scale) / GameBase.WindowManager.Ratio;
                    }
                    y += eventDrawHeight;

                    drawDepth += 0.0001f;

                    if (!layerIsEnabled)
                    {
                        continue; //don't display the events if this layer is hidden.
                    }
                    foreach (Event e in l)
                    {
                        if (e.Sprite == null)
                        {
                            continue;
                        }

                        pText pt1 = new pText(e.Filename.Length >= 4 ? e.Filename.Remove(e.Filename.Length - 4) : e.Filename + @" ", 8 * scale, new Vector2(2, y), drawDepth,
                                              true, Color.White);
                        pt1.TextRenderSpecific = false;
                        pt1.TextAa             = false;
                        pt1.HandleInput        = true;
                        pt1.TextShadow         = true;
                        pt1.Tag        = e;
                        pt1.TagNumeric = 2;
                        pt1.OnHover   += delegate
                        {
                            pt1.BackgroundColour = new Color(92, 92, 92);
                            pt1.TextChanged      = true;
                        };
                        pt1.OnHoverLost += delegate
                        {
                            pt1.BackgroundColour = Color.TransparentWhite;
                            pt1.TextChanged      = true;
                        };
                        if (e == selectedEvent)
                        {
                            pt1.TextBold      = true;
                            pt1.TextUnderline = true;
                        }
                        Event e1 = e;
                        pt1.OnClick += delegate
                        {
                            if (editor.CurrentMode != EditorModes.Design)
                            {
                                return;
                            }

                            if ((!e1.Sprite.IsVisible || MouseManager.DoubleClick) &&
                                e1.Sprite.Transformations.Count > 0)
                            {
                                AudioEngine.SeekTo(e1.Sprite.Transformations[0].Time1);
                            }
                            SetSelectedEvent(e1, false);
                        };

                        eventList.ContentSpriteManager.Add(pt1);
                        y += (pt1.MeasureText().Y + 4 * scale) / GameBase.WindowManager.Ratio;

                        eventListDictionary.Add(e, pt1);

                        drawDepth += 0.0001f;
                    }
                }

                eventList.SetContentDimensions(new Vector2(66, y));
                EventListUpdateRequired = false;
            }
        }