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))
 {
 }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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;
 }