Пример #1
0
        public static void AddPedalsInList(List <PedalStruct> list, ActionMenu instance)
        {
            //if (!LoaderIntegrityCheck.passed && new System.Random().Next(3) == 1) return;
            foreach (var pedalStruct in list)
            {
                if (!pedalStruct.shouldAdd)
                {
                    continue;
                }
                var pedalOption = instance.AddOption();
                pedalOption.SetText(pedalStruct.text);
                if (!pedalStruct.locked)
                {
                    pedalOption.SetPedalAction(pedalStruct.triggerEvent);
                }
                else
                {
                    pedalOption.Lock();
                }
                //Additional setup for pedals
                switch (pedalStruct.Type)
                {
                /*case PedalType.SubMenu:
                 *  pedalOption.SetPedalTypeIcon(GetExpressionsIcons().typeFolder);
                 *  break;*/
                case PedalType.RadialPuppet:
                    var pedalRadial = (PedalRadial)pedalStruct;
                    pedalOption.SetPedalTypeIcon(GetExpressionsIcons().typeRadial);
                    pedalOption.SetButtonPercentText($"{Math.Round(pedalRadial.currentValue)}%");
                    pedalRadial.pedal = pedalOption;
                    pedalOption.SetBackgroundIcon(pedalStruct.icon);
                    break;

                case PedalType.Toggle:
                    var pedalToggle = (PedalToggle)pedalStruct;
                    if (pedalToggle.toggled)
                    {
                        pedalOption.SetPedalTypeIcon(GetExpressionsIcons().typeToggleOn);
                    }
                    else
                    {
                        pedalOption.SetPedalTypeIcon(GetExpressionsIcons().typeToggleOff);
                    }
                    pedalToggle.pedal = pedalOption;
                    pedalOption.SetBackgroundIcon(pedalStruct.icon);
                    break;

                case PedalType.FourAxisPuppet:
                    pedalOption.SetPedalTypeIcon(GetExpressionsIcons().typeAxis);
                    pedalOption.SetBackgroundIcon(pedalStruct.icon);
                    break;

                default:
                    pedalOption.SetForegroundIcon(pedalStruct.icon);
                    break;
                }
            }
        }
Пример #2
0
 private static void AddPedalsInList(List <PedalStruct> pedalStructs, ActionMenu instance)
 {
     foreach (PedalStruct pedalStruct in pedalStructs)
     {
         PedalOption pedalOption = instance.AddOption();
         pedalOption.setText(pedalStruct.text); //    VVV
         pedalOption.setIcon(pedalStruct.icon); //Pretty self explanatory
         pedalOption.field_Public_MulticastDelegateNPublicSealedBoUnique_0 = DelegateSupport.ConvertDelegate <PedalOptionTriggerEvent>(pedalStruct.triggerEvent);
     }
 }
Пример #3
0
        public static void AddPedalsInList(List <PedalStruct> list, ActionMenu instance)
        {
            foreach (var pedalStruct in list)
            {
                PedalOption pedalOption = instance.AddOption();
                switch (pedalStruct.Type)
                {
                case PedalType.Button:
                    pedalOption.setText(pedalStruct.text);
                    pedalOption.setIcon(pedalStruct.icon);
                    pedalOption.field_Public_MulticastDelegateNPublicSealedBoUnique_0 = DelegateSupport.ConvertDelegate <PedalOptionTriggerEvent>(pedalStruct.triggerEvent);
                    break;

                case PedalType.SubMenu:
                    pedalOption.setText(pedalStruct.text);
                    pedalOption.setIcon(pedalStruct.icon);
                    pedalOption.field_Public_ActionButton_0.prop_Texture2D_2          = GetExpressionsIcons().typeFolder;
                    pedalOption.field_Public_MulticastDelegateNPublicSealedBoUnique_0 = DelegateSupport.ConvertDelegate <PedalOptionTriggerEvent>(pedalStruct.triggerEvent);
                    break;

                case PedalType.RadialPuppet:
                    PedalRadial pedalRadial = (PedalRadial)pedalStruct;
                    pedalOption.setText(pedalStruct.text);
                    pedalOption.setIcon(pedalStruct.icon);
                    pedalOption.field_Public_ActionButton_0.prop_Texture2D_2 = GetExpressionsIcons().typeRadial;
                    pedalOption.field_Public_ActionButton_0.prop_String_1    = $"{Math.Round(pedalRadial.currentValue)}%";
                    pedalRadial.pedal = pedalOption;
                    pedalOption.field_Public_MulticastDelegateNPublicSealedBoUnique_0 = DelegateSupport.ConvertDelegate <PedalOptionTriggerEvent>(pedalStruct.triggerEvent);
                    break;

                case PedalType.Toggle:
                    PedalToggle pedalToggle = (PedalToggle)pedalStruct;
                    pedalOption.setText(pedalStruct.text);
                    if (pedalToggle.toggled)
                    {
                        pedalOption.field_Public_ActionButton_0.prop_Texture2D_2 = GetExpressionsIcons().typeToggleOn;
                    }
                    else
                    {
                        pedalOption.field_Public_ActionButton_0.prop_Texture2D_2 = GetExpressionsIcons().typeToggleOff;
                    }
                    pedalOption.setIcon(pedalToggle.icon);
                    pedalToggle.pedal = pedalOption;
                    pedalOption.field_Public_MulticastDelegateNPublicSealedBoUnique_0 = DelegateSupport.ConvertDelegate <PedalOptionTriggerEvent>(pedalStruct.triggerEvent);
                    break;

                case PedalType.FourAxisPuppet:
                    pedalOption.setText(pedalStruct.text);
                    pedalOption.setIcon(pedalStruct.icon);
                    pedalOption.field_Public_ActionButton_0.prop_Texture2D_2          = GetExpressionsIcons().typeAxis;
                    pedalOption.field_Public_MulticastDelegateNPublicSealedBoUnique_0 = DelegateSupport.ConvertDelegate <PedalOptionTriggerEvent>(pedalStruct.triggerEvent);
                    break;
                }
            }
        }