public static void OpenFourAxisMenu(string title, Action <Vector2> update, PedalOption pedalOption) { if (open) { return; } switch (Utilities.GetActionMenuHand()) { case ActionMenuHand.Invalid: return; case ActionMenuHand.Left: current = fourAxisPuppetMenuLeft; hand = ActionMenuHand.Left; open = true; break; case ActionMenuHand.Right: current = fourAxisPuppetMenuRight; hand = ActionMenuHand.Right; open = true; break; } Input.ResetInputAxes(); onUpdate = update; current.gameObject.SetActive(true); current.GetTitle().text = title; current.transform.localPosition = pedalOption.GetActionButton().transform.localPosition; }
SetButtonPercentText(this PedalOption pedalOption, string text) //pedalOption.GetActionButton().prop_String_1 { if (actionButtonPercentProperty != null) { actionButtonPercentProperty.SetValue(pedalOption.GetActionButton(), text); return; } var button = pedalOption.GetActionButton(); actionButtonPercentProperty = typeof(ActionButton) .GetProperties(BindingFlags.Public | BindingFlags.Instance).Single( p => p.PropertyType == typeof(string) && ((string)p.GetValue(button)).Equals("100%") ); actionButtonPercentProperty.SetValue(pedalOption.GetActionButton(), text); }
public static void OpenRadialMenu(float startingValue, Action <float> onUpdate, string title, PedalOption pedalOption, bool restricted = false) { if (open) { return; } switch (Utilities.GetActionMenuHand()) { case ActionMenuHand.Invalid: return; case ActionMenuHand.Left: current = radialPuppetMenuLeft; hand = ActionMenuHand.Left; open = true; break; case ActionMenuHand.Right: current = radialPuppetMenuRight; hand = ActionMenuHand.Right; open = true; break; } RadialPuppetManager.restricted = restricted; Input.ResetInputAxes(); current.gameObject.SetActive(true); current.GetFill().SetFillAngle(startingValue * 360); //Please dont break RadialPuppetManager.onUpdate = onUpdate; currentValue = startingValue; current.GetTitle().text = title; current.GetCenterText().text = $"{Mathf.Round(startingValue * 100f)}%"; current.GetFill().UpdateGeometry(); ; current.transform.localPosition = pedalOption.GetActionButton().transform.localPosition; //new Vector3(-256f, 0, 0); var angleOriginal = Utilities.ConvertFromEuler(startingValue * 360); var eulerAngle = Utilities.ConvertFromDegToEuler(angleOriginal); current.UpdateArrow(angleOriginal, eulerAngle); }
public static void SetPedalTypeIcon(this PedalOption pedalOption, Texture2D icon) { pedalOption.GetActionButton().prop_Texture2D_2 = icon; //No choice needs to be hardcoded in sadly }
public static void Lock(this PedalOption pedalOption) { pedalOption.prop_Boolean_0 = true; ResourcesManager.AddLockChildIcon(pedalOption.GetActionButton().gameObject.GetChild("Inner")); }
public static void SetBackgroundIcon(this PedalOption pedal, Texture2D icon) { pedal.GetActionButton().prop_Texture2D_0 = icon; }