private void OnBoneValueChanged(PartController part) { if (MirrorEdit && part != null) { string name = part.Name; string mirroredName = null; if (name.Contains(" L ")) { mirroredName = name.Replace(" L ", " R "); } else if (name.Contains(" R ")) { mirroredName = name.Replace(" R ", " L "); } if (mirroredName != null) { if (_parts.TryGetValue(mirroredName, out var controller)) { controller.Value = part.Value; } } } var path = GetCurrentlyEditedBoneModFilePath(); WriteBones(path); }
private PartController CreatePartGUI(GameObject source, Config.SliderConfigInfo settings, Bone bone) { var part = UnityEngine.Object.Instantiate(source); part.name = bone.Values.Name; part.transform.SetParent(source.transform.parent); part.transform.position = source.transform.position; part.transform.localPosition = source.transform.localPosition; part.transform.localScale = source.transform.localScale; part.transform.position -= new Vector3(0, menuOffsetY + partHeight * _parts.Count, 0); var displayName = GetDisplayName(bone.Values.Name, settings.EditedValue); var text = part.GetChildComponent <Text>("SubItem"); text.text = displayName; text.color = GetDisplayColor(bone); var inputField = part.GetChildComponent <InputField>("InputField"); var slider = part.GetChildComponent <Slider>("Slider"); slider.value = 1f; slider.wholeNumbers = false; slider.minValue = 0; slider.maxValue = 100f; var button = part.GetChildComponent <Button>("btn_def"); var partController = new PartController(displayName, part, inputField, slider, button, bone, settings.EditedValue, settings.MinValue, settings.MaxValue); return(partController); }