public void Init(Tweaker tweaker, ITweakerSerializer serializer) { logger.Info("Init: " + tweaker); Tweaker = tweaker; Serializer = serializer; Tweaker.Scanner.ScanInstance(GridController); GridController.Init(); Refresh(); keyBindingManager = base.gameObject.transform.parent.gameObject.AddComponent <KeyBindingManager>(); keyBindingManager.Init(Tweaker.Invokables.GetInvokables().Values.ToArray()); CoroutineRunner.StartPersistent(checkShouldActivate(), this, "checkShouldActivate"); }
public Vector3Serializer(ITweakerSerializer baseSerializer) : base(baseSerializer, typeof(Vector3)) { }
public IEnumerator delayInitEditSerializedStringView(InspectorStringView stringView, ITweakable tweakable, ITweakerSerializer serializer) { yield return(null); object value = tweakable.GetValue(); if (value != null) { stringView.InputText.text = serializer.Serialize(value); } else { stringView.InputText.text = ""; } stringView.ValueChanged += delegate(string newValue) { object obj = serializer.Deserialize(newValue, tweakable.TweakableType); if (obj != null) { tweakable.SetValue(obj); } else { logger.Warn("Failed to deserialize string to type '" + tweakable.TweakableType.FullName + "': " + newValue); } }; Action <object, object> tweakableValueChanged = delegate(object oldValue, object newValue) { stringView.InputText.text = serializer.Serialize(newValue); }; tweakable.ValueChanged += tweakableValueChanged; stringView.Destroyed += delegate { tweakable.ValueChanged -= tweakableValueChanged; }; stringView.gameObject.SetActive(value: true); }
public InspectorStringView MakeEditSerializedStringView(ITweakable tweakable, ITweakerSerializer serializer) { InspectorStringView inspectorStringView = inspectorView.InstantiateInspectorComponent(inspectorView.StringEditPrefab); inspectorStringView.InputText.targetGraphic.color = successColor; inspectorStringView.StartCoroutine(delayInitEditSerializedStringView(inspectorStringView, tweakable, serializer)); return(inspectorStringView); }
public CustomTypeSerializer(ITweakerSerializer baseSerializer, Type customType) { BaseSerializer = baseSerializer; CustomType = customType; }