Exemplo n.º 1
0
 private void CopyTo(ModifierContainer m, int cloneFlags)
 {
     m.parent_        = parent_;
     m.Modifier       = Modifier?.Clone(cloneFlags);
     m.ModifierSync   = ModifierSync?.Clone(cloneFlags);
     m.enabled_.Value = enabled_.Value;
 }
Exemplo n.º 2
0
        public ModifierContainer Clone(int cloneFlags = 0)
        {
            var m = new ModifierContainer();

            CopyTo(m, cloneFlags);
            return(m);
        }
 public override bool IsVisible(ModifierContainer modifiers, SetModifierCompletionListItem item)
 {
     ClassOrStructBlock c = modifiers.ParentParent as ClassOrStructBlock;
     if (c != null)
     {
         return !c.IsNested && base.IsVisible(modifiers, item);
     }
     return false;
 }
Exemplo n.º 4
0
        /// <summary>
        ///     Creates all of the modifiers to be used on-screen
        /// </summary>
        private void CreateModifierOptions()
        {
            ModsList = new List <DrawableModifier>()
            {
                new DrawableModifierSpeed(this)
                {
                    Alignment = Alignment.TopLeft
                },

                new DrawableModifierBool(this, new ModMirror())
                {
                    Alignment = Alignment.TopLeft
                },

                new DrawableModifierBool(this, new ModAutoplay())
                {
                    Alignment = Alignment.TopLeft,
                },

                new DrawableModifierBool(this, new ModNoFail())
                {
                    Alignment = Alignment.TopLeft,
                },

                new DrawableModifierBool(this, new ModNoSliderVelocities())
                {
                    Alignment = Alignment.TopLeft,
                },

                new DrawableModifierModList(this, new IGameplayModifier[]
                {
                    new ModNoLongNotes(), new ModInverse(), new ModFullLN()
                }, "Long Note Conversion", "Mix up the long notes.")
                {
                    Alignment = Alignment.TopLeft,
                },

                new DrawableModifierBool(this, new ModRandomize())
                {
                    Alignment = Alignment.TopLeft,
                },
            };

            for (var i = 0; i < ModsList.Count; i++)
            {
                var mod = ModsList[i];
                ModifierContainer.AddContainedDrawable(mod);
                mod.Y = i * mod.Height;
            }

            var proposedHeight = ModsList.Count * ModsList.First().Height;

            if (proposedHeight > ModifierContainer.ContentContainer.Height)
            {
                ModifierContainer.ContentContainer.Height = proposedHeight;
            }
        }
Exemplo n.º 5
0
        public override bool IsVisible(ModifierContainer modifiers, SetModifierCompletionListItem item)
        {
            ClassOrStructBlock c = modifiers.ParentParent as ClassOrStructBlock;

            if (c != null)
            {
                return(!c.IsNested && base.IsVisible(modifiers, item));
            }
            return(false);
        }
 public override bool IsVisible(ModifierContainer modifiers, SetModifierCompletionListItem item)
 {
     if (modifiers.IsSet("static"))
     {
         return false;
     }
     else
     {
         return Unique.IsVisible(modifiers, item);
     }
 }
Exemplo n.º 7
0
 public override bool IsVisible(ModifierContainer modifiers, SetModifierCompletionListItem item)
 {
     if (modifiers.IsSet("static"))
     {
         return(false);
     }
     else
     {
         return(Unique.IsVisible(modifiers, item));
     }
 }
        private void ActivateAction(ActionBase action, string actionName)
        {
            //if (action != null)
            //{
            //    action.OnDeactivate();
            //    action.DisconnectInputs();
            //}

            action = ModifierContainer.Get(actionName);
            action.Setup();
            action.OnActivate();

            if (OnSwitchAction != null)
            {
                OnSwitchAction();
            }
        }
Exemplo n.º 9
0
        /// <summary>
        ///     Creates all of the modifiers to be used on-screen
        /// </summary>
        private void CreateModifierOptions()
        {
            ModsList = new List <DrawableModifier>()
            {
                new DrawableModifierSpeed(this)
                {
                    Alignment = Alignment.TopLeft
                },

                new DrawableModifierBool(this, new ModAutoplay())
                {
                    Alignment = Alignment.TopLeft,
                },

                new DrawableModifierBool(this, new ModNoFail())
                {
                    Alignment = Alignment.TopLeft,
                },

                new DrawableModifierBool(this, new ModNoSliderVelocities())
                {
                    Alignment = Alignment.TopLeft,
                },

                new DrawableModifierBool(this, new ModNoLongNotes())
                {
                    Alignment = Alignment.TopLeft,
                },
            };

            for (var i = 0; i < ModsList.Count; i++)
            {
                var mod = ModsList[i];
                ModifierContainer.AddContainedDrawable(mod);
                mod.Y = i * mod.Height;
            }

            var proposedHeight = ModsList.Count * ModsList.First().Height;

            if (proposedHeight > ModifierContainer.ContentContainer.Height)
            {
                ModifierContainer.ContentContainer.Height = proposedHeight;
            }
        }
Exemplo n.º 10
0
        public void SwitchAction(string actionName, string pendingActionName)
        {
            if (CurrentAction != null)
            {
                CurrentAction.OnDeactivate();
                CurrentAction.DisconnectInputs();
            }


            CurrentAction = ModifierContainer.Get(actionName);
            PendingAction = ModifierContainer.Get(pendingActionName);
            CurrentAction.Setup();
            CurrentAction.OnActivate();

            if (OnSwitchAction != null)
            {
                OnSwitchAction();
            }
        }
Exemplo n.º 11
0
        public void SwitchAction(string actionName)
        {
            //if (PendingAction != null)
            //{
            //    PendingAction.OnDeactivate();
            //    PendingAction.DisconnectInputs();
            //}
            if (CurrentAction != null)
            {
                CurrentAction.OnDeactivate();
                CurrentAction.DisconnectInputs();
            }

            CurrentAction = ModifierContainer.Get(actionName);
            CurrentAction.Setup();
            CurrentAction.OnActivate();

            if (OnSwitchAction != null)
            {
                OnSwitchAction();
            }
            if (actionName == ModifierNames.None && PendingAction != null && PendingAction.Name != ModifierNames.None)
            {
                if (CurrentAction != null)
                {
                    CurrentAction.OnDeactivate();
                    CurrentAction.DisconnectInputs();
                }
                PendingAction.Setup();
                PendingAction.OnActivate();

                if (OnSwitchAction != null)
                {
                    OnSwitchAction();
                }
                PendingAction = ModifierContainer.Get(ModifierNames.None);
                //return;
            }
        }
Exemplo n.º 12
0
 public override bool IsVisible(ModifierContainer modifiers, SetModifierCompletionListItem item)
 {
     return(base.IsVisible(modifiers, item));
 }
Exemplo n.º 13
0
 public virtual bool IsVisible(ModifierContainer modifiers, SetModifierCompletionListItem item)
 {
     return(!modifiers.IsSet(item.Text));
 }
Exemplo n.º 14
0
 public void Reset()
 {
     Abilities = new Abilities(this);
     Modifiers = new ModifierContainer();
 }
 public override bool IsVisible(ModifierContainer modifiers, SetModifierCompletionListItem item)
 {
     return base.IsVisible(modifiers, item);
 }
Exemplo n.º 16
0
        /// <summary>
        ///     Creates all of the modifiers to be used on-screen
        /// </summary>
        private void CreateModifierOptions()
        {
            ModsList = new List <DrawableModifier>()
            {
                new DrawableModifierSpeed(this)
                {
                    Alignment = Alignment.TopLeft
                },

                new DrawableModifierJudgementWindows(this, new ModJudgementWindows())
                {
                    Alignment = Alignment.TopLeft
                },

                new DrawableModifierBool(this, new ModMirror())
                {
                    Alignment = Alignment.TopLeft
                },

                new DrawableModifierBool(this, new ModAutoplay())
                {
                    Alignment = Alignment.TopLeft,
                },

                new DrawableModifierBool(this, new ModNoFail())
                {
                    Alignment = Alignment.TopLeft,
                },

                new DrawableModifierBool(this, new ModNoSliderVelocities())
                {
                    Alignment = Alignment.TopLeft,
                },

                new DrawableModifierModList(this, new IGameplayModifier[]
                {
                    new ModNoLongNotes(), new ModInverse(), new ModFullLN()
                }, "Long Note Conversion", "Mix up the long notes.")
                {
                    Alignment = Alignment.TopLeft,
                },

                new DrawableModifierBool(this, new ModRandomize())
                {
                    Alignment = Alignment.TopLeft,
                },
            };

            for (var i = ModsList.Count - 1; i >= 0; i--)
            {
                if (ModsList[i] is DrawableModifierBool mod)
                {
                    if (!mod.Modifier.AllowedInMultiplayer && OnlineManager.CurrentGame != null)
                    {
                        ModsList.Remove(ModsList[i]);
                        continue;
                    }
                }

                if (ModsList[i] is DrawableModifierModList modList)
                {
                    if (modList.Modifiers.Any(x => x.OnlyMultiplayerHostCanCanChange) &&
                        OnlineManager.CurrentGame != null &&
                        OnlineManager.CurrentGame.HostId != OnlineManager.Self.OnlineUser.Id)
                    {
                        ModsList.Remove(ModsList[i]);
                    }
                }
            }

            for (var i = 0; i < ModsList.Count; i++)
            {
                var mod = ModsList[i];
                ModifierContainer.AddContainedDrawable(mod);
                mod.Y = i * mod.Height;
            }

            var proposedHeight = ModsList.Count * ModsList.First().Height;

            if (proposedHeight > ModifierContainer.ContentContainer.Height)
            {
                ModifierContainer.ContentContainer.Height = proposedHeight;
            }
        }
 public virtual bool IsVisible(ModifierContainer modifiers, SetModifierCompletionListItem item)
 {
     return !modifiers.IsSet(item.Text);
 }