示例#1
0
        private void UnpackTyon(bool editing, TyonHydrationMode mode = TyonHydrationMode.Strict)
        {
            if (tyon_data.IsVisible())
            {
                try
                {
                    did_unpack_tyon_data = false;

                    if (editing)
                    {
                        UnpackTyonEditInternal(mode);
                    }
                    else
                    {
                        UnpackTyonRuntimeInternal(mode);
                    }

                    did_unpack_tyon_data = true;
                    unpack_error         = null;

                    if (editing)
                    {
                        PackTyon();
                    }
                }
                catch (Exception ex)
                {
                    unpack_error = ex.Message + "\n\n" + ex;
                }
            }
        }
示例#2
0
        public TyonSolidObject(object t, StreamSystemStream s, TyonSettings ts, TyonHydrationMode m)
        {
            target = t;
            stream = s;

            settings = ts;
            mode     = m;
        }
示例#3
0
        private void UnpackTyonEditInternal(TyonHydrationMode mode = TyonHydrationMode.Strict)
        {
            TyonContext context = UnityTyonSettings.INSTANCE.CreateContext(tyon_unity_objects.Convert <UnityEngine.Object, object>());

            context.CreateHydrater(mode)
            .HydrateInto(
                this,
                UnityTyonSettings.INSTANCE.FetchPrefabTyonObject(tyon_data)
                );
        }
示例#4
0
 private void UnpackTyonRuntimeInternal(TyonHydrationMode mode)
 {
     try
     {
         UnityTyonSettings.INSTANCE.FetchPrefabPusher(tyon_data)(
             this,
             UnityTyonSettings.INSTANCE.CreateContext(tyon_unity_objects.Convert <UnityEngine.Object, object>())
             );
     }
     catch (Exception ex)
     {
         UnpackTyonEditInternal(mode);
         Debug.LogError(ex + "\n\n" + tyon_data);
     }
 }
示例#5
0
 public T Deserialize <T>(string text, TyonHydrationMode mode)
 {
     return(Deserialize(text, mode).Convert <T>());
 }
示例#6
0
        public TyonHydraterBase(TyonHydrationMode m, TyonContext c)
        {
            mode = m;

            context = c;
        }
示例#7
0
 static public Operation <object, TyonContext> CompileInstanceSystemObject(this TyonSettings item, string text, TyonHydrationMode mode)
 {
     return(item.CreateContext().CompileInstanceSystemObject(text, mode));
 }
示例#8
0
 static public Process <object, TyonContext> CompilePushToSystemObject(this TyonSettings item, string text, TyonHydrationMode mode)
 {
     return(item.CreateContext().CompilePushToSystemObject(text, mode));
 }
示例#9
0
 static public T DeserializeValue <T>(this TyonSettings item, string text, TyonHydrationMode mode)
 {
     return(item.DeserializeValue <T>(typeof(T), text, mode));
 }
示例#10
0
 static public void DeserializeInto(this TyonSettings item, object obj, string text, TyonHydrationMode mode)
 {
     item.CreateContext().DeserializeInto(obj, text, mode);
 }
示例#11
0
 static public object DeserializeValue(this TyonSettings item, Type type, string text, TyonHydrationMode mode)
 {
     return(item.CreateContext().DeserializeValue(type, text, mode));
 }
示例#12
0
 static public T DeserializeValue <T>(this TyonSettings item, Type type, string text, TyonHydrationMode mode)
 {
     return(item.DeserializeValue(type, text, mode).Convert <T>());
 }
示例#13
0
 public object DeserializeValue(Type type, string text, TyonHydrationMode mode)
 {
     return(CreateHydrater(mode).HydrateValue(type, text));
 }
示例#14
0
 public object Deserialize(string text, TyonHydrationMode mode)
 {
     return(CreateHydrater(mode).Hydrate(text));
 }
示例#15
0
 public TyonHydrater(TyonHydrationMode m, TyonContext c) : base(m, c)
 {
     deferred_process_list      = new DeferredProcessList();
     internal_address_to_object = new Dictionary <TyonAddress, object>();
 }
示例#16
0
 public Process <object, TyonContext> CompilePushToSystemObject(string text, TyonHydrationMode mode)
 {
     return(CreateCompiler(mode).CompilePushToSystemObject(text));
 }
示例#17
0
 public Operation <object, TyonContext> CompileInstanceSystemObject(string text, TyonHydrationMode mode)
 {
     return(CreateCompiler(mode).CompileInstanceSystemObject(text));
 }
示例#18
0
 public void DeserializeInto(object obj, string text, TyonHydrationMode mode)
 {
     CreateHydrater(mode).HydrateInto(obj, text);
 }
示例#19
0
 public T DeserializeValue <T>(string text, TyonHydrationMode mode)
 {
     return(DeserializeValue(typeof(T), text, mode).Convert <T>());
 }
示例#20
0
 public TyonCompiler(TyonHydrationMode m, TyonContext c) : base(m, c)
 {
     object_to_local           = new Dictionary <TyonObject, ILLocal>();
     internal_address_to_local = new Dictionary <TyonAddress, ILLocal>();
 }
示例#21
0
 public TyonCompiler CreateCompiler(TyonHydrationMode mode)
 {
     return(new TyonCompiler(mode, this));
 }