Пример #1
0
 public Item(CircularMenu parentMenu, string name, int value)
 {
     ParentMenu = parentMenu;
     Name = name;
     Value = value;
 }
Пример #2
0
        public CircularMenu CreateMenu(Cell cell, TimeSpan creationTime)
        {
            //---
            CircularMenu menuRoot = new CircularMenu(this, null, creationTime, cell, null, null, true);

            Item itemReset = new Item(menuRoot, "Reset");
            itemReset.Selected += new Item.SelectedHandler(itemReset_Selected);
            menuRoot.Items.Add(itemReset);

            Item itemMenuDirection = new Item(menuRoot, "Direction");
            itemMenuDirection.Selected += new Item.SelectedHandler(itemMenuDirection_Selected);
            menuRoot.Items.Add(itemMenuDirection);

            Item itemMenuRepeater = new Item(menuRoot, "Repeater");
            itemMenuRepeater.Selected += new Item.SelectedHandler(itemMenuRepeater_Selected);
            menuRoot.Items.Add(itemMenuRepeater);

            //Item itemMenuSpeed = new Item(menuRoot, "Speed");
            //itemMenuSpeed.Selected += new Item.SelectedHandler(itemMenuSpeed_Selected);
            //menuRoot.Items.Add(itemMenuSpeed);

            Item itemMenuDuration = new Item(menuRoot, "Duration");
            itemMenuDuration.Selected += new Item.SelectedHandler(itemMenuDuration_Selected);
            menuRoot.Items.Add(itemMenuDuration);

            Item itemMenuInstrument = new Item(menuRoot, "Instrument");
            itemMenuInstrument.Selected += new Item.SelectedHandler(itemMenuInstrument_Selected);
            menuRoot.Items.Add(itemMenuInstrument);

            Item itemMenuChannel = new Item(menuRoot, "Channel");
            itemMenuChannel.Selected += new Item.SelectedHandler(itemMenuChannel_Selected);
            menuRoot.Items.Add(itemMenuChannel);
            //---

            return menuRoot;
        }
Пример #3
0
 public Item(CircularMenu parentMenu, string name)
     : this(parentMenu, name, 0)
 {
 }
Пример #4
0
        void itemMenuSpeed_Selected(Item item, GameTime gameTime)
        {
            item.ParentMenu.Close(gameTime);

            //---
            CircularMenu menuSpeed = new CircularMenu(this, null, gameTime.TotalGameTime, item.ParentMenu.ParentCell, item.ParentMenu, item, true);

            for (int i = 0; i < 9; i++)
            {
                Item itemSpeed;

                if (i == 0)
                    itemSpeed = new Item(menuSpeed, "Reset", i);
                else if (i < 5)
                    itemSpeed = new Item(menuSpeed, "SpeedH" + i.ToString(), i);
                else
                    itemSpeed = new Item(menuSpeed, "SpeedL" + (9 - i).ToString(), i - 9);

                itemSpeed.Selected += new Item.SelectedHandler(itemSpeed_Selected);
                menuSpeed.Items.Add(itemSpeed);
            }
            //---

            NextMenu(item.ParentMenu, menuSpeed);
        }
Пример #5
0
 private void NextMenu(CircularMenu previousMenu, CircularMenu nextMenu)
 {
     previousMenu.UIDependency = null;
     nextMenu.UIDependency = previousMenu;
     nextMenu.Alive = true;
     nextMenu.Visible = false;
     this.ListUIComponent.Add(nextMenu);
 }
 void OnEnable()
 {
     // Init
     _target = (CircularMenu)target;
 }
Пример #7
0
        void itemMenuRepeater_Selected(Item item, GameTime gameTime)
        {
            item.ParentMenu.Close(gameTime);

            //---
            CircularMenu menuRepeater = new CircularMenu(this, null, gameTime.TotalGameTime, item.ParentMenu.ParentCell, item.ParentMenu, item, true);
            menuRepeater.AngleDelta = -MathHelper.TwoPi / 12;

            for (int i = 0; i < 6; i++)
            {
                Item itemRepeater = new Item(menuRepeater, "Repeater" + (i + 1).ToString(), i);

                if (item.ParentMenu.ParentCell.Clip != null && item.ParentMenu.ParentCell.Clip.Repeater.HasValue && i <= item.ParentMenu.ParentCell.Clip.Repeater.Value)
                    itemRepeater.Checked = true;

                itemRepeater.Selected += new Item.SelectedHandler(itemRepeater_Selected);
                menuRepeater.Items.Add(itemRepeater);
            }
            //---

            NextMenu(item.ParentMenu, menuRepeater);
        }
Пример #8
0
        void itemMenuDirection_Selected(Item item, GameTime gameTime)
        {
            item.ParentMenu.Close(gameTime);

            //---
            CircularMenu menuDirection = new CircularMenu(this, null, gameTime.TotalGameTime, item.ParentMenu.ParentCell, item.ParentMenu, item, true);

            for (int i = 0; i < 6; i++)
            {
                Item itemDirection = new Item(menuDirection, "Direction" + (i + 1).ToString(), i);

                if (item.ParentMenu.ParentCell.Clip != null && item.ParentMenu.ParentCell.Clip.Directions[i])
                    itemDirection.Checked = true;

                itemDirection.Selected += new Item.SelectedHandler(itemDirection_Selected);
                menuDirection.Items.Add(itemDirection);
            }
            //---

            NextMenu(item.ParentMenu, menuDirection);
        }
Пример #9
0
        void itemMenuDuration_Selected(Item item, GameTime gameTime)
        {
            item.ParentMenu.Close(gameTime);

            //---
            CircularMenu menuDuration = new CircularMenu(this, null, gameTime.TotalGameTime, item.ParentMenu.ParentCell, item.ParentMenu, item, false);

            Item itemDurationReset = new Item(menuDuration, "Reset", 1);
            itemDurationReset.Selected += new Item.SelectedHandler(itemDuration_Selected);
            menuDuration.Items.Add(itemDurationReset);

            Item itemDurationQuarterNoteSubPart = new Item(menuDuration, "QuarterNoteSubPart");
            itemDurationQuarterNoteSubPart.Selected += new Item.SelectedHandler(itemDurationQuarterNoteSubPart_Selected);
            menuDuration.Items.Add(itemDurationQuarterNoteSubPart);

            Item itemDurationQuarterNotePart = new Item(menuDuration, "QuarterNotePart");
            itemDurationQuarterNotePart.Selected += new Item.SelectedHandler(itemDurationQuarterNotePart_Selected);
            menuDuration.Items.Add(itemDurationQuarterNotePart);
            //---

            NextMenu(item.ParentMenu, menuDuration);
        }
Пример #10
0
        void itemEffect_Selected(Item item, GameTime gameTime)
        {
            item.ParentMenu.Close(gameTime);

            if (item.ParentMenu.ParentCell.Channel == null || item.ParentMenu.ParentCell.Channel.Name == "Empty")
            {
                itemMenuChannel_Selected(item, gameTime);
            }
            else
            {
                CircularMenu menuChannelEffect = new CircularMenu(this, null, gameTime.TotalGameTime, item.ParentMenu.ParentCell, item.ParentMenu, item, false, true);

                //--- Création des items liés aux effets du channel
                for (int i = 0; i < item.ParentMenu.ParentCell.Channel.ListEffect.Count; i++)
                {
                    Item itemChannelEffect = new Item(menuChannelEffect, item.ParentMenu.ParentCell.Channel.ListEffect[i].Name);
                    itemChannelEffect.Value = i;
                    itemChannelEffect.Selected += new Item.SelectedHandler(itemChannelEffect_Selected);
                    menuChannelEffect.Items.Add(itemChannelEffect);
                }
                //---

                NextMenu(item.ParentMenu, menuChannelEffect);
            }
        }
Пример #11
0
        void itemMenuChannel_Selected(Item item, GameTime gameTime)
        {
            item.ParentMenu.Close(gameTime);

            CircularMenu menuChannel = new CircularMenu(this, null, gameTime.TotalGameTime, item.ParentMenu.ParentCell, item.ParentMenu, item, false);

            for (int i = 0; i < Context.Map.Channels.Count; i++)
            {
                Item itemChannel = new Item(menuChannel, Context.Map.Channels[i].Name, i);
                itemChannel.Color = Context.Map.Channels[i].Color;

                if (item.ParentMenu.ParentCell.Channel != null && item.ParentMenu.ParentCell.Channel == Context.Map.Channels[i])
                    itemChannel.Checked = true;

                itemChannel.Selected += new Item.SelectedHandler(itemChannel_Selected);
                menuChannel.Items.Add(itemChannel);
            }

            menuChannel.nbVertex = menuChannel.Items.Count * 4;

            NextMenu(item.ParentMenu, menuChannel);
        }
Пример #12
0
        void itemDurationQuarterNoteSubPart_Selected(Item item, GameTime gameTime)
        {
            item.ParentMenu.Close(gameTime);

            //---
            item.ParentMenu.ParentCell.InitClip();
            float prevDuration = item.ParentMenu.ParentCell.Clip.Duration;

            CircularMenu menuDurationQuarterNoteSubPart = new CircularMenu(this, null, gameTime.TotalGameTime, item.ParentMenu.ParentCell, item.ParentMenu, item, false, false);

            for (int i = 0; i < 32; i++)
            {
                Item itemDurationQuarterNoteSubPartItem = new Item(menuDurationQuarterNoteSubPart, (i + 1).ToString(), i + 1);
                itemDurationQuarterNoteSubPartItem.Selected += new Item.SelectedHandler(itemDurationQuarterNoteSubPartItem_Selected);
                menuDurationQuarterNoteSubPart.Items.Add(itemDurationQuarterNoteSubPartItem);

                if (i % 4 == 0)
                {
                    itemDurationQuarterNoteSubPartItem.Color = VisualStyle.BackForeColorChecked;
                    itemDurationQuarterNoteSubPartItem.ShowName = true;
                }

                if (prevDuration - (int)prevDuration > (float)i / 32f  )
                    itemDurationQuarterNoteSubPartItem.Checked = true;
            }
            //---

            NextMenu(item.ParentMenu, menuDurationQuarterNoteSubPart);
        }
Пример #13
0
        void itemDurationQuarterNotePart_Selected(Item item, GameTime gameTime)
        {
            item.ParentMenu.Close(gameTime);

            //---
            CircularMenu menuDurationQuarterNotePart = new CircularMenu(this, null, gameTime.TotalGameTime, item.ParentMenu.ParentCell, item.ParentMenu, item, false, true);

            for (int i = 0; i < 8; i++)
            {
                Item itemDurationQuarterNotePartItem = new Item(menuDurationQuarterNotePart, (i + 1).ToString(), i + 1);
                itemDurationQuarterNotePartItem.Selected += new Item.SelectedHandler(itemDurationQuarterNotePartItem_Selected);
                menuDurationQuarterNotePart.Items.Add(itemDurationQuarterNotePartItem);
            }
            //---

            NextMenu(item.ParentMenu, menuDurationQuarterNotePart);
        }
Пример #14
0
        private void CreateCircularMenu()
        {
            Menu = new CircularMenu(this, null, TimeSpan.FromDays(2), null, null, null, false, true);
            Menu.Visible = true;
            Menu.LocalSize = 110;

            Item itemNew = new Item(Menu, "New");
            itemNew.Selected += new Item.SelectedHandler(itemNew_Selected);
            Menu.Items.Add(itemNew);

            Item itemLoad = new Item(Menu, "Load");
            itemLoad.Selected += new Item.SelectedHandler(itemLoad_Selected);
            Menu.Items.Add(itemLoad);

            Item itemSave = new Item(Menu, "Save");
            itemSave.Selected += new Item.SelectedHandler(itemSave_Selected);
            Menu.Items.Add(itemSave);

            Item itemExit = new Item(Menu, "Exit");
            itemExit.Selected += new Item.SelectedHandler(itemExit_Selected);
            Menu.Items.Add(itemExit);

            Item itemMenu = new Item(Menu, "Menu");
            Menu.Items.Add(itemMenu);

            Menu.Location = new Vector2(0f, 0f);
            Menu.nbVertex = Menu.Items.Count * 4;
            Menu.PercentVisibility = 0f;
            Menu.State = ComponentState.Closed;
            Menu.EffectVertex = GameEngine.Render.effectUI;
            Menu.EffectSprite = GameEngine.Render.effectUISprite;
            Menu.IsUI = true;
            Menu.IsTurnMode = true;

            double angleItem = MathHelper.PiOver2 / ((double)Menu.Items.Count - 1);

            Menu.MaxAngle = ((double)Menu.Items.Count) * angleItem + 0.03;
            Menu.MinAngleDelta = -MathHelper.PiOver2 + MathHelper.Pi / 12;
            Menu.MaxAngleDelta = angleItem - 0.01;

            Menu.AngleDelta = Menu.MinAngleDelta;

            Menu.CreateVertex();

            ListUIComponent.Add(Menu);
        }
Пример #15
0
        private void CreateChannelMenu()
        {
            ListUIChildren.RemoveAll(ui => ui is CircularMenu);

            CircularMenu menuChannel = new CircularMenu(UI, this, GetNewTimeSpan(), null, null, null, false);
            menuChannel.Location = new Vector2(Rec.X + _widthChannelChooser / 2, Rec.Y + Rec.Height / 2);

            for (int i = 0; i < Context.Map.Channels.Count; i++)
            {
                Item itemChannel = new Item(menuChannel, Context.Map.Channels[i].Name, i);
                itemChannel.Color = Context.Map.Channels[i].Color;
                itemChannel.Selected += new Item.SelectedHandler(itemChannel_Selected);

                menuChannel.Items.Add(itemChannel);
            }

            menuChannel.nbVertex = menuChannel.Items.Count * 4;
            menuChannel.Visible = true;
            menuChannel.Alive = true;
            menuChannel.PercentVisibility = 1f;
            menuChannel.State = ComponentState.Opened;
            menuChannel.EffectVertex = Render.effectUI;
            menuChannel.EffectSprite = Render.effectUISprite;
            menuChannel.IsUI = true;

            ListUIChildren.Add(menuChannel);
        }
Пример #16
0
        void itemMenuInstrument_Selected(Item item, GameTime gameTime)
        {
            item.ParentMenu.Close(gameTime);

            CircularMenu menuInstrument = new CircularMenu(this, null, gameTime.TotalGameTime, item.ParentMenu.ParentCell, item.ParentMenu, item, true);

            Item itemReset = new Item(menuInstrument, "Reset");
            itemReset.Selected += new Item.SelectedHandler(itemInstrumentReset_Selected);
            menuInstrument.Items.Add(itemReset);

            Item itemSample = new Item(menuInstrument, "Sample");
            itemSample.Selected += new Item.SelectedHandler(itemSample_Selected);
            menuInstrument.Items.Add(itemSample);

            Item itemNote = new Item(menuInstrument, "Note");
            itemNote.Selected += new Item.SelectedHandler(itemNote_Selected);
            menuInstrument.Items.Add(itemNote);

            Item itemEffect = new Item(menuInstrument, "Effect");
            itemEffect.Selected += new Item.SelectedHandler(itemEffect_Selected);
            menuInstrument.Items.Add(itemEffect);

            Item itemMusicianStart = new Item(menuInstrument, "MusicianStart");
            itemMusicianStart.Selected += new Item.SelectedHandler(itemMusicianStart_Selected);
            menuInstrument.Items.Add(itemMusicianStart);

            Item itemMusicianStop = new Item(menuInstrument, "MusicianStop");
            itemMusicianStop.Selected += new Item.SelectedHandler(itemMusicianStop_Selected);
            menuInstrument.Items.Add(itemMusicianStop);

            NextMenu(item.ParentMenu, menuInstrument);
        }
Пример #17
0
 public CircularMenuCategory(CircularMenu _parentMenu)
 {
     name = "Category";
     textStyle = new GUIStyle();
     textStyle.alignment = TextAnchor.MiddleCenter;
     textStyle.fontStyle = FontStyle.Bold;
     textLabelSize = new Vector2(0.2f, 0.1f);
     buttonList = new List<CircularMenuButton>();
     parentMenu = _parentMenu;
 }
Пример #18
0
        private void CreateNoteDurationMenu()
        {
            ListUIChildren.RemoveAll(ui => ui is CircularMenu);

            float sizeMenu = 75f;
            CircularMenu menuDuration = new CircularMenu(UI,this, GetNewTimeSpan(), null, null, null, true);
            menuDuration.LocalSize = (int)sizeMenu;
            menuDuration.Location = new Vector2(Rec.X + MARGE + leftPartWidth * 3 / 4, Rec.Y + Rec.Height / 4);

            //---
            Item itemDurationReset = new Item(menuDuration, "Reset", 1);
            itemDurationReset.Selected += new Item.SelectedHandler(itemDuration_Selected);
            menuDuration.Items.Add(itemDurationReset);

            Item itemDuration2 = new Item(menuDuration, "Duration2", 2);
            itemDuration2.Selected += new Item.SelectedHandler(itemDuration_Selected);
            menuDuration.Items.Add(itemDuration2);

            Item itemDuration3 = new Item(menuDuration, "Duration3", 4);
            itemDuration3.Selected += new Item.SelectedHandler(itemDuration_Selected);
            menuDuration.Items.Add(itemDuration3);

            Item itemDuration4 = new Item(menuDuration, "Duration4", 8);
            itemDuration4.Selected += new Item.SelectedHandler(itemDuration_Selected);
            menuDuration.Items.Add(itemDuration4);
            //---

            menuDuration.nbVertex = menuDuration.Items.Count * 4;
            menuDuration.Visible = true;
            menuDuration.Alive = true;
            menuDuration.PercentVisibility = 1f;
            menuDuration.State = ComponentState.Opened;
            menuDuration.EffectVertex = Render.effectUI;
            menuDuration.EffectSprite = Render.effectUISprite;
            menuDuration.IsUI = true;

            ListUIChildren.Add(menuDuration);
        }