public static void CreateMyAsset()
    {
        MyAsset asset = CreateInstance <MyAsset>();

        AssetDatabase.CreateAsset(asset, "Assets/MyAsset.asset");
        AssetDatabase.SaveAssets();
    }
Example #2
0
        public void TestSimpleSerialization()
        {
            var asset = new MyAsset {
                Strings = { "aa", "bb" }
            };
            var asset1Ids = CollectionItemIdHelper.GetCollectionItemIds(asset.Strings);

            asset1Ids.Add(0, new ItemId(MakeArray(1)));
            asset1Ids.Add(1, new ItemId(MakeArray(2)));
            var serializer = new YamlAssetSerializer();
            var stream     = new MemoryStream();

            serializer.Save(stream, asset);
            stream.Position = 0;
            var sr   = new StreamReader(stream);
            var yaml = sr.ReadToEnd();

            stream.Position = 0;
            bool aliasOccurred;
            Dictionary <YamlAssetPath, OverrideType> overrides;
            var loadedAsset = (MyAsset)serializer.Load(stream, null, null, out aliasOccurred, out overrides);
            var asset2Ids   = CollectionItemIdHelper.GetCollectionItemIds(loadedAsset.Strings);

            Assert.AreEqual(2, asset2Ids.Count);
            Assert.AreEqual(asset1Ids[0], asset2Ids[0]);
            Assert.AreEqual(asset1Ids[1], asset2Ids[1]);
        }
Example #3
0
        private static void TransportOrder(DataModel doc)
        {
            var output = new MyAsset("TransportOrder")
            {
                Identifier = "orderID"
            };

            output.Components.Add(new Variable("String", "orderID", Variable.RELATION.variable));
            output.Components.Add(new Variable("LegalOwnerOrg", "owner", Variable.RELATION.reference));
            output.Components.Add(new Variable("CarrierOrg", "carrier", Variable.RELATION.reference));
            output.Components.Add(new Variable("Good", "goods", Variable.RELATION.variable)
            {
                List = true
            });
            output.Components.Add(new Variable("OrderStatus", "status", Variable.RELATION.variable));
            output.Components.Add(new Variable("Integer", "issueDate", Variable.RELATION.variable));
            output.Components.Add(new Variable("ECMR", "ecmrs", Variable.RELATION.reference)
            {
                List = true
            });
            output.Components.Add(new Variable("String", "orderRef", Variable.RELATION.variable));
            output.Components.Add(new Variable("Cancellation", "cancellation", Variable.RELATION.variable)
            {
                Optional = true
            });
            doc.AddComponent(output);
        }
        void LoadSyncCallback(MyAsset asset)
        {
            if (asset != null)
            {
                var prefab = asset.asset;
                if (prefab != null)
                {
                    var go = GameObject.Instantiate(prefab) as GameObject;
                    go.AddComponent <DownPanel>();
                    ReleaseAssetOnDestroy.Register(go, asset);
                    var parent = GameObject.Find("SceneUI/layer1").gameObject;
                    go.transform.parent        = parent.transform;
                    go.transform.localPosition = Vector3.zero;
                    go.transform.localRotation = Quaternion.Euler(0f, 0f, 0f);
                    go.transform.localScale    = Vector3.one;
                    GameObject.Destroy(go, 10);
                }
            }

            Owner.LuaMgr.InitStart();
            Owner.LuaMgr.DoFile("Main.lua"); //加载文件,编译文件,并且返回一个函数,不运行。

            Util.CallMethod("Main", "start");
            Util.CallMethod("Main", "SetValue");
        }
Example #5
0
    public static void CreateMyAsset()
    {
        MyAsset asset = CreateInstance <MyAsset>();

        //EditorUtility.OpenFilePanel("Save",null, null);
        AssetDatabase.CreateAsset(asset, "Assets/MyAsset.asset");
        AssetDatabase.SaveAssets();
    }
Example #6
0
        public static void UploadData()
        {
            MyCompany.Find();
            MyCategory.Find();
            MyManufacturer.Find(Hardware.ComputerMake());
            MyAssetModel.Find(Hardware.ComputerMake(), Hardware.ComputerModel());

            MyAsset.Find(Hardware.ComputerName(), Hardware.ComputerMake(), Hardware.ComputerModel(), Hardware.SerialNumber());
        }
Example #7
0
        internal static void CreateOrMoveAsset(MyAsset config)
        {
            var assetGroup = TryGetAssetGroup(config.groupName);

            if (assetGroup == null)
            {
                Debug.LogError($"不存在名为 {config.groupName} 的资源组");
                return;
            }

            var patternArray = config.pattern;
            var search       = config.searchChild ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly;
            var filePaths    = new List <string>(5);

            if (!Directory.Exists(config.folderPath))
            {
                Debug.LogError($"路径不存在: {config.folderPath}");
                return;
            }

            foreach (var pattern in patternArray)
            {
                filePaths.AddRange(Directory.GetFiles(config.folderPath, $"*.{pattern}", search));
            }

            AddLabelToSetting(config.groupName);

            foreach (var path in filePaths)
            {
                var filePath = path.Replace("\\", "/");
                if (!File.Exists(filePath))
                {
                    Debug.LogError($"文件不存在: {filePath}");
                    continue;
                }
                filePath = filePath.Replace("./", "");
                var guid  = AssetDatabase.AssetPathToGUID(filePath);
                var entry = addressableSettings.CreateOrMoveEntry(guid, assetGroup);
                if (entry == null)
                {
                    continue;
                }
                entry.address = $"{Path.GetFileNameWithoutExtension(filePath)}";

                AddLabelToSetting(Path.GetFileNameWithoutExtension(filePath));

                var labelArray = new string[] { Path.GetFileNameWithoutExtension(filePath), config.groupName };

                foreach (var label in labelArray)
                {
                    if (!entry.SetLabel(label, true))
                    {
                        entry.SetLabel(label, true, true);
                    }
                }
            }
        }
Example #8
0
        /// <summary>
        /// 获取持仓界面数据
        /// </summary>
        /// <returns></returns>
        public static MyAsset GetMyAsset()
        {
            MyAsset result = new MyAsset();

            result.stockList       = GetStock();
            result.availableMoney  = decimal.Parse(Common.GetTitle(Common.GetWindowByCtrlID(windows, Config.StockCtrlAvaliableMoney)));
            result.moratoriumMoney = decimal.Parse(Common.GetTitle(Common.GetWindowByCtrlID(windows, Config.StockCtrlMoratoriumMoney)));
            result.stockMoney      = decimal.Parse(Common.GetTitle(Common.GetWindowByCtrlID(windows, Config.StockCtrlStockMoney)));
            result.allAsset        = decimal.Parse(Common.GetTitle(Common.GetWindowByCtrlID(windows, Config.StockCtrlAllAsset)));
            return(result);
        }
Example #9
0
        private static void Entity(DataModel doc)
        {
            var output = new MyAsset("Entity")
            {
                Identifier = "entityID", Abstract = true
            };

            output.Components.Add(new Variable("String", "entityID", Variable.RELATION.variable));
            output.Components.Add(new Variable("String", "name", Variable.RELATION.variable));
            output.Components.Add(new Variable("Address", "address", Variable.RELATION.variable));
            doc.AddComponent(output);
        }
Example #10
0
        /// <summary>
        /// 管理界面加载的资源
        /// </summary>
        /// <param name="panel"> 面板 </param>
        /// <param name="asset"> 所加载的资源 </param>
        public void AddAsset(BasePanel panel, MyAsset asset)
        {
            List <MyAsset> assets = null;

            if (assetDic.TryGetValue(panel, out assets))
            {
                assets.Add(asset);
            }
            else
            {
                assets = new List <MyAsset>();
                assets.Add(asset);
                assetDic[panel] = assets;
            }
        }
 public void TestSimpleSerialization()
 {
     var asset = new MyAsset { Strings = { "aa", "bb" } };
     var asset1Ids = CollectionItemIdHelper.GetCollectionItemIds(asset.Strings);
     asset1Ids.Add(0, new ItemId(MakeArray(1)));
     asset1Ids.Add(1, new ItemId(MakeArray(2)));
     var serializer = new YamlAssetSerializer();
     var stream = new MemoryStream();
     serializer.Save(stream, asset);
     stream.Position = 0;
     bool aliasOccurred;
     Dictionary<YamlAssetPath, OverrideType> overrides;
     var loadedAsset = (MyAsset)serializer.Load(stream, null, null, out aliasOccurred, out overrides);
     var asset2Ids = CollectionItemIdHelper.GetCollectionItemIds(loadedAsset.Strings);
     Assert.AreEqual(2, asset2Ids.KeyCount);
     Assert.AreEqual(asset1Ids[0], asset2Ids[0]);
     Assert.AreEqual(asset1Ids[1], asset2Ids[1]);
 }
    public override void OnInspectorGUI()
    {
        MyAsset myAsset = (MyAsset)target;

        myAsset.invar    = EditorGUILayout.IntField("IntVar", myAsset.invar);
        myAsset.floatvar = EditorGUILayout.FloatField("FloatVar", myAsset.floatvar);

        if (GUILayout.Button("Apply") == true)
        {
            EditorUtility.SetDirty(target);
            AssetDatabase.SaveAssets();
        }

        if (GUILayout.Button("Revert") == true)
        {
            myAsset.Revert();
            EditorUtility.SetDirty(target);
            AssetDatabase.SaveAssets();
        }
    }
Example #13
0
    public static void CreateMyAsset()
    {
        MyAsset asset = CreateInstance <MyAsset>();

        string path = "Assets";

        foreach (UnityEngine.Object obj in Selection.GetFiltered(typeof(UnityEngine.Object), SelectionMode.Assets))
        {
            path = AssetDatabase.GetAssetPath(obj.GetInstanceID());
            if (!string.IsNullOrEmpty(path) && File.Exists(path))
            {
                path = Path.GetDirectoryName(path);
                break;
            }
        }
        path = Path.Combine(path, "MyAsset.asset");
        Debug.Log(path);

        AssetDatabase.CreateAsset(asset, path);
        AssetDatabase.Refresh();
    }
Example #14
0
        public void TestSubObject()
        {
            var value1 = new MyAsset()
            {
                SubObject = new SubObject()
                {
                    Name = "test1", Value = 1
                }
            };

            value1.SubObjects.Add(new SubObject()
            {
                Name = "test2", Value = 2
            });

            var value2 = new MyAsset()
            {
                SubObject = new SubObject()
                {
                    Name = "test1", Value = 1
                }
            };

            value2.SubObjects.Add(new SubObject()
            {
                Name = "test2", Value = 2
            });

            var result = MatchObjects(value1, value2);

            Assert.AreEqual(result, new DataMatch(4, 4));

            value2.SubObject.Name = "test3";
            result = MatchObjects(value1, value2);
            Assert.AreEqual(result, new DataMatch(3, 4));

            value2.SubObjects[0].Name = "test3";
            result = MatchObjects(value1, value2);
            Assert.AreEqual(result, new DataMatch(2, 4));
        }
Example #15
0
    public override void OnInspectorGUI()
    {
        //base.OnInspectorGUI();

        MyAsset myAsset = (MyAsset)target;

        myAsset.intVar   = EditorGUILayout.IntField("IntVar", myAsset.intVar);
        myAsset.floatVar = EditorGUILayout.FloatField("FloatVar", myAsset.floatVar);

        if (GUILayout.Button("Apply") == true)
        {
            EditorUtility.SetDirty(target); //에디터에게 저장될 것을 알려주는 함수
            AssetDatabase.SaveAssets();     //디스크에 저장되지 않는 모든 변경사항을 저장 (codo : 나중에 질문)
        }

        if (GUILayout.Button("Revert") == true)
        {
            myAsset.Revert();
            EditorUtility.SetDirty(target);
            AssetDatabase.SaveAssets();
        }
    }
Example #16
0
        public void TestSimpleSerialization()
        {
            var asset = new MyAsset {
                Strings = { "aa", "bb" }
            };
            var asset1Ids = CollectionItemIdHelper.GetCollectionItemIds(asset.Strings);

            asset1Ids.Add(0, new ItemId(MakeArray(1)));
            asset1Ids.Add(1, new ItemId(MakeArray(2)));
            var serializer = new YamlAssetSerializer();
            var stream     = new MemoryStream();

            serializer.Save(stream, asset, null);
            stream.Position = 0;
            bool aliasOccurred;
            AttachedYamlAssetMetadata metadata;
            var loadedAsset = (MyAsset)serializer.Load(stream, null, null, true, out aliasOccurred, out metadata);
            var asset2Ids   = CollectionItemIdHelper.GetCollectionItemIds(loadedAsset.Strings);

            Assert.Equal(2, asset2Ids.KeyCount);
            Assert.Equal(asset1Ids[0], asset2Ids[0]);
            Assert.Equal(asset1Ids[1], asset2Ids[1]);
        }
Example #17
0
        private static void Vehicle(DataModel doc)
        {
            var output = new MyAsset("Vehicle")
            {
                Identifier = "vin"
            };

            output.Components.Add(new Variable("String", "vin", Variable.RELATION.variable));
            output.Components.Add(new Variable("String", "manufacturer", Variable.RELATION.variable));
            output.Components.Add(new Variable("String", "model", Variable.RELATION.variable));
            output.Components.Add(new Variable("String", "type", Variable.RELATION.variable));
            output.Components.Add(new Variable("ECMR", "ecmrs", Variable.RELATION.reference)
            {
                List = true
            });
            output.Components.Add(new Variable("Integer", "odoMeterReading", Variable.RELATION.variable));
            output.Components.Add(new Variable("String", "plateNumber", Variable.RELATION.variable));
            output.Components.Add(new Variable("String", "registrationCountry", Variable.RELATION.variable)
            {
                Optional = true
            });
            doc.AddComponent(output);
        }
Example #18
0
        private static void ECMR(DataModel doc)
        {
            var output = new MyAsset("ECMR")
            {
                Identifier = "ecmrID"
            };

            output.Components.Add(new Variable("String", "ecmrID", Variable.RELATION.variable));
            output.Components.Add(new Variable("String", "agreementTerms", Variable.RELATION.variable));
            output.Components.Add(new Variable("String", "agreementTermsSec", Variable.RELATION.variable));
            output.Components.Add(new Variable("String", "legalOwnerRef", Variable.RELATION.variable));
            output.Components.Add(new Variable("String", "carrierRef", Variable.RELATION.variable));
            output.Components.Add(new Variable("String", "recipientRef", Variable.RELATION.variable));
            output.Components.Add(new Variable("DateTime", "issueDate", Variable.RELATION.variable));
            output.Components.Add(new Variable("Entity", "issuedBy", Variable.RELATION.reference));
            output.Components.Add(new Variable("LegalOwnerOrg", "owner", Variable.RELATION.reference));
            output.Components.Add(new Variable("CompoundOrg", "source", Variable.RELATION.reference));
            output.Components.Add(new Variable("CarrierOrg", "carrier", Variable.RELATION.reference));
            output.Components.Add(new Variable("RecipientOrg", "recipient", Variable.RELATION.reference));
            output.Components.Add(new Variable("RecipientMember", "recipientMember", Variable.RELATION.reference)
            {
                Optional = true
            });
            output.Components.Add(new Variable("CarrierMember", "transporter", Variable.RELATION.variable)
            {
                Optional = true
            });
            output.Components.Add(new Variable("String", "carrierComments", Variable.RELATION.variable));
            output.Components.Add(new Variable("Loading", "loading", Variable.RELATION.variable));
            output.Components.Add(new Variable("Delivery", "delivery", Variable.RELATION.variable));
            output.Components.Add(new Variable("String", "documents", Variable.RELATION.variable)
            {
                List = true, Optional = true
            });
            output.Components.Add(new Variable("Good", "goods", Variable.RELATION.variable)
            {
                List = true
            });
            output.Components.Add(new Variable("String", "legalOwnerInstructions", Variable.RELATION.variable));
            output.Components.Add(new Variable("String", "paymentInstructions", Variable.RELATION.variable));
            output.Components.Add(new Variable("Creation", "creation", Variable.RELATION.variable));
            output.Components.Add(new Variable("String", "payOnDelivery", Variable.RELATION.variable));
            output.Components.Add(new Variable("Signature", "compoundSignature", Variable.RELATION.variable)
            {
                Optional = true
            });
            output.Components.Add(new Variable("Signature", "carrierLoadingSignature", Variable.RELATION.variable)
            {
                Optional = true
            });
            output.Components.Add(new Variable("Signature", "carrierDeliverySignature", Variable.RELATION.variable)
            {
                Optional = true
            });
            output.Components.Add(new Variable("Signature", "recipientSignature", Variable.RELATION.variable)
            {
                Optional = true
            });
            output.Components.Add(new Variable("EcmrStatus", "status", Variable.RELATION.variable));
            output.Components.Add(new Variable("String", "orderID", Variable.RELATION.variable));
            output.Components.Add(new Variable("Cancellation", "cancellation", Variable.RELATION.variable)
            {
                Optional = true
            });
            doc.AddComponent(output);
        }
Example #19
0
        public static Asset GetData()
        {
            string device = Hardware.ComputerName();

            return(MyAsset.Data(device));
        }
    public ActionResult Edit(int id)
    {
        MyAsset myAsset = db.Assets.Find(id);     // Used and not disposed

        return(View(myAsset));
    }
Example #21
0
 protected T OnLoadAssets <T>(string name) where T : UnityEngine.Object
 {
     asset = FrameworkMain.Instance.ResMgr.LoadAsset <T>(name);
     FrameworkMain.Instance.UIMgr.AddAsset(Owner, asset);
     return(asset.asset as T);
 }
Example #22
0
 protected void OnLoadAssetsSync <T>(string name, Action <MyAsset> callback) where T : UnityEngine.Object
 {
     asset = MyAssets.LoadSync <T>(name, callback);
     FrameworkMain.Instance.UIMgr.AddAsset(Owner, asset);
 }
Example #23
0
        public void TestMyAssetObject()
        {
            var assetObject = new MyAsset();

            assetObject.Id = AssetId.Empty;

            assetObject.Description = "This is a test";

            assetObject.AssetDirectory = new UDirectory("/test/dynamic/path/to/file/in/object/property");
            assetObject.AssetUrl       = new UFile("/test/dynamic/path/to/file/in/object/property");

            //assetObject.Base = new AssetBase("/this/is/an/url/to/MyObject", null);

            assetObject.CustomReference2 = new AssetReference(AssetId.Empty, "/this/is/an/url/to/MyCustomReference2");
            assetObject.CustomReferences.Add(new AssetReference(AssetId.Empty, "/this/is/an/url/to/MyCustomReferenceItem1"));
            var ids = CollectionItemIdHelper.GetCollectionItemIds(assetObject.CustomReferences);

            ids[0] = IdentifierGenerator.Get(99);

            assetObject.SeqItems1.Add("value1");
            assetObject.SeqItems1.Add("value2");
            ids    = CollectionItemIdHelper.GetCollectionItemIds(assetObject.SeqItems1);
            ids[0] = IdentifierGenerator.Get(1);
            ids[1] = IdentifierGenerator.Get(2);

            // TODO: Re-enable non-pure collections here once we support them for serialization!
            //assetObject.SeqItems2.Add("value1");
            //assetObject.SeqItems2.Add("value2");
            //assetObject.SeqItems2.Add("value3");
            //ids = CollectionItemIdHelper.GetCollectionItemIds(assetObject.SeqItems2);
            //ids[0] = IdentifierGenerator.Get(3);
            //ids[1] = IdentifierGenerator.Get(4);
            //ids[2] = IdentifierGenerator.Get(5);

            assetObject.SeqItems3.Add("value1");
            assetObject.SeqItems3.Add("value2");
            assetObject.SeqItems3.Add("value3");
            assetObject.SeqItems3.Add("value4");
            ids    = CollectionItemIdHelper.GetCollectionItemIds(assetObject.SeqItems3);
            ids[0] = IdentifierGenerator.Get(6);
            ids[1] = IdentifierGenerator.Get(7);
            ids[2] = IdentifierGenerator.Get(8);
            ids[3] = IdentifierGenerator.Get(9);

            assetObject.SeqItems4.Add("value0");
            ids    = CollectionItemIdHelper.GetCollectionItemIds(assetObject.SeqItems4);
            ids[0] = IdentifierGenerator.Get(10);

            // TODO: Re-enable non-pure collections here once we support them for serialization!
            //assetObject.SeqItems5.Add("value0");
            //ids = CollectionItemIdHelper.GetCollectionItemIds(assetObject.SeqItems5);
            //ids[0] = IdentifierGenerator.Get(11);

            assetObject.MapItems1.Add("key1", 1);
            assetObject.MapItems1.Add("key2", 2);
            ids         = CollectionItemIdHelper.GetCollectionItemIds(assetObject.MapItems1);
            ids["key1"] = IdentifierGenerator.Get(12);
            ids["key2"] = IdentifierGenerator.Get(13);

            // TODO: Re-enable non-pure collections here once we support them for serialization!
            //assetObject.MapItems2.Add("key1", 1);
            //assetObject.MapItems2.Add("key2", 2);
            //assetObject.MapItems2.Add("key3", 3);
            //ids = CollectionItemIdHelper.GetCollectionItemIds(assetObject.MapItems2);
            //ids["key1"] = IdentifierGenerator.Get(13);
            //ids["key2"] = IdentifierGenerator.Get(14);
            //ids["key3"] = IdentifierGenerator.Get(15);

            assetObject.MapItems3.Add("key1", 1);
            assetObject.MapItems3.Add("key2", 2);
            assetObject.MapItems3.Add("key3", 3);
            assetObject.MapItems3.Add("key4", 3);
            ids         = CollectionItemIdHelper.GetCollectionItemIds(assetObject.MapItems3);
            ids["key1"] = IdentifierGenerator.Get(16);
            ids["key2"] = IdentifierGenerator.Get(17);
            ids["key3"] = IdentifierGenerator.Get(18);
            ids["key4"] = IdentifierGenerator.Get(19);

            string testGenerated1    = DirectoryTestBase + @"TestSerializing\TestSerializing_TestMyAssetObject_Generated1.sdobj";
            string testGenerated2    = DirectoryTestBase + @"TestSerializing\TestSerializing_TestMyAssetObject_Generated2.sdobj";
            string referenceFilePath = DirectoryTestBase + @"TestSerializing\TestSerializing_TestMyAssetObject_Reference.sdobj";

            // First store the file on the disk and compare it to the reference
            GenerateAndCompare("Test Serialization 1", testGenerated1, referenceFilePath, assetObject);

            // Deserialize it
            var newAssetObject = AssetFileSerializer.Load <MyAsset>(testGenerated1).Asset;

            // Restore the deserialize version and compare it with the reference
            GenerateAndCompare("Test Serialization 2 - double check", testGenerated2, referenceFilePath, newAssetObject);
        }
 private void Btn_Asset_Click(object sender, EventArgs e)
 {
     Lbl_Asset.Text    = MyAsset.Find(Hardware.ComputerName(), Hardware.ComputerMake(), Hardware.ComputerModel(), Hardware.SerialNumber());
     Btn_Asset.Enabled = false;
 }
        public void TestMyAssetObject()
        {
            var assetObject = new MyAsset();
            assetObject.Id = AssetId.Empty;

            assetObject.Description = "This is a test";

            assetObject.AssetDirectory = new UDirectory("/test/dynamic/path/to/file/in/object/property");
            assetObject.AssetUrl = new UFile("/test/dynamic/path/to/file/in/object/property");

            //assetObject.Base = new AssetBase("/this/is/an/url/to/MyObject", null);

            assetObject.CustomReference2 = new AssetReference(AssetId.Empty, "/this/is/an/url/to/MyCustomReference2");
            assetObject.CustomReferences.Add(new AssetReference(AssetId.Empty, "/this/is/an/url/to/MyCustomReferenceItem1"));
            var ids = CollectionItemIdHelper.GetCollectionItemIds(assetObject.CustomReferences);
            ids[0] = IdentifierGenerator.Get(99);

            assetObject.SeqItems1.Add("value1");
            assetObject.SeqItems1.Add("value2");
            ids = CollectionItemIdHelper.GetCollectionItemIds(assetObject.SeqItems1);
            ids[0] = IdentifierGenerator.Get(1);
            ids[1] = IdentifierGenerator.Get(2);

            // TODO: Re-enable non-pure collections here once we support them for serialization!
            //assetObject.SeqItems2.Add("value1");
            //assetObject.SeqItems2.Add("value2");
            //assetObject.SeqItems2.Add("value3");
            //ids = CollectionItemIdHelper.GetCollectionItemIds(assetObject.SeqItems2);
            //ids[0] = IdentifierGenerator.Get(3);
            //ids[1] = IdentifierGenerator.Get(4);
            //ids[2] = IdentifierGenerator.Get(5);

            assetObject.SeqItems3.Add("value1");
            assetObject.SeqItems3.Add("value2");
            assetObject.SeqItems3.Add("value3");
            assetObject.SeqItems3.Add("value4");
            ids = CollectionItemIdHelper.GetCollectionItemIds(assetObject.SeqItems3);
            ids[0] = IdentifierGenerator.Get(6);
            ids[1] = IdentifierGenerator.Get(7);
            ids[2] = IdentifierGenerator.Get(8);
            ids[3] = IdentifierGenerator.Get(9);

            assetObject.SeqItems4.Add("value0");
            ids = CollectionItemIdHelper.GetCollectionItemIds(assetObject.SeqItems4);
            ids[0] = IdentifierGenerator.Get(10);

            // TODO: Re-enable non-pure collections here once we support them for serialization!
            //assetObject.SeqItems5.Add("value0");
            //ids = CollectionItemIdHelper.GetCollectionItemIds(assetObject.SeqItems5);
            //ids[0] = IdentifierGenerator.Get(11);

            assetObject.MapItems1.Add("key1", 1);
            assetObject.MapItems1.Add("key2", 2);
            ids = CollectionItemIdHelper.GetCollectionItemIds(assetObject.MapItems1);
            ids["key1"] = IdentifierGenerator.Get(12);
            ids["key2"] = IdentifierGenerator.Get(13);

            // TODO: Re-enable non-pure collections here once we support them for serialization!
            //assetObject.MapItems2.Add("key1", 1);
            //assetObject.MapItems2.Add("key2", 2);
            //assetObject.MapItems2.Add("key3", 3);
            //ids = CollectionItemIdHelper.GetCollectionItemIds(assetObject.MapItems2);
            //ids["key1"] = IdentifierGenerator.Get(13);
            //ids["key2"] = IdentifierGenerator.Get(14);
            //ids["key3"] = IdentifierGenerator.Get(15);

            assetObject.MapItems3.Add("key1", 1);
            assetObject.MapItems3.Add("key2", 2);
            assetObject.MapItems3.Add("key3", 3);
            assetObject.MapItems3.Add("key4", 3);
            ids = CollectionItemIdHelper.GetCollectionItemIds(assetObject.MapItems3);
            ids["key1"] = IdentifierGenerator.Get(16);
            ids["key2"] = IdentifierGenerator.Get(17);
            ids["key3"] = IdentifierGenerator.Get(18);
            ids["key4"] = IdentifierGenerator.Get(19);

            string testGenerated1 = DirectoryTestBase + @"TestSerializing\TestSerializing_TestMyAssetObject_Generated1.xkobj";
            string testGenerated2 = DirectoryTestBase + @"TestSerializing\TestSerializing_TestMyAssetObject_Generated2.xkobj";
            string referenceFilePath = DirectoryTestBase + @"TestSerializing\TestSerializing_TestMyAssetObject_Reference.xkobj";

            // First store the file on the disk and compare it to the reference
            GenerateAndCompare("Test Serialization 1", testGenerated1, referenceFilePath, assetObject);

            // Deserialize it
            var newAssetObject = AssetFileSerializer.Load<MyAsset>(testGenerated1).Asset;

            // Restore the deserialize version and compare it with the reference
            GenerateAndCompare("Test Serialization 2 - double check", testGenerated2, referenceFilePath, newAssetObject);
        }
Example #26
0
        public void TestSubObject()
        {
            var value1 = new MyAsset() {SubObject = new SubObject() {Name = "test1", Value = 1}};
            value1.SubObjects.Add(new SubObject() { Name = "test2", Value = 2 });

            var value2 = new MyAsset() { SubObject = new SubObject() { Name = "test1", Value = 1 } };
            value2.SubObjects.Add(new SubObject() { Name = "test2", Value = 2 });

            var result = MatchObjects(value1, value2);
            Assert.AreEqual(result, new DataMatch(4, 4));

            value2.SubObject.Name = "test3";
            result = MatchObjects(value1, value2);
            Assert.AreEqual(result, new DataMatch(3, 4));

            value2.SubObjects[0].Name = "test3";
            result = MatchObjects(value1, value2);
            Assert.AreEqual(result, new DataMatch(2, 4));
        }
Example #27
0
        public void TestMyAssetObject()
        {
            var assetObject = new MyAsset();

            assetObject.Id = Guid.Empty;

            assetObject.Description = "This is a test";

            assetObject.AssetDirectory = new UDirectory("/test/dynamic/path/to/file/in/object/property");
            assetObject.AssetUrl       = new UFile("/test/dynamic/path/to/file/in/object/property");

            //assetObject.Base = new AssetBase("/this/is/an/url/to/MyObject", null);

            assetObject.CustomReference2 = new AssetReference <Asset>(Guid.Empty, "/this/is/an/url/to/MyCustomReference2");
            assetObject.CustomReferences.Add(new AssetReference <Asset>(Guid.Empty, "/this/is/an/url/to/MyCustomReferenceItem1"));

            assetObject.SeqItems1.Add("value1");
            assetObject.SeqItems1.Add("value2");

            assetObject.SeqItems2.Add("value1");
            assetObject.SeqItems2.Add("value2");
            assetObject.SeqItems2.Add("value3");

            assetObject.SeqItems3.Add("value1");
            assetObject.SeqItems3.Add("value2");
            assetObject.SeqItems3.Add("value3");
            assetObject.SeqItems3.Add("value4");

            assetObject.SeqItems4.Add("value0");
            assetObject.SeqItems5.Add("value0");

            assetObject.MapItems1.Add("key1", 1);
            assetObject.MapItems1.Add("key2", 2);

            assetObject.MapItems2.Add("key1", 1);
            assetObject.MapItems2.Add("key2", 2);
            assetObject.MapItems2.Add("key3", 3);

            assetObject.MapItems3.Add("key1", 1);
            assetObject.MapItems3.Add("key2", 2);
            assetObject.MapItems3.Add("key3", 3);
            assetObject.MapItems3.Add("key4", 3);

            string testGenerated1    = DirectoryTestBase + @"TestSerializing\TestSerializing_TestMyAssetObject_Generated1.xkobj";
            string testGenerated2    = DirectoryTestBase + @"TestSerializing\TestSerializing_TestMyAssetObject_Generated2.xkobj";
            string referenceFilePath = DirectoryTestBase + @"TestSerializing\TestSerializing_TestMyAssetObject_Reference.xkobj";

            var myAssetDescriptor = TypeDescriptorFactory.Default.Find(typeof(MyAsset));

            // Put a New Sealed on the Description
            //assetObject.SetDynamicProperty(myAssetDescriptor["Description"], Override.Key, OverrideType.New | OverrideType.Sealed);
            assetObject.SetOverride(myAssetDescriptor["Description"], OverrideType.New | OverrideType.Sealed);

            // First store the file on the disk and compare it to the reference
            GenerateAndCompare("Test Serialization 1", testGenerated1, referenceFilePath, assetObject);

            // Deserialize it
            var newAssetObject = AssetSerializer.Load <MyAsset>(testGenerated1);
            var overrideKey    = newAssetObject.GetOverride(myAssetDescriptor["Description"]);

            Assert.AreEqual(overrideKey, OverrideType.New | OverrideType.Sealed);

            // Restore the deserialize version and compare it with the reference
            GenerateAndCompare("Test Serialization 2 - double check", testGenerated2, referenceFilePath, newAssetObject);
        }
Example #28
0
        public void TestMyAssetObject()
        {
            var assetObject = new MyAsset();
            assetObject.Id = Guid.Empty;

            assetObject.Description = "This is a test";

            assetObject.AssetDirectory = new UDirectory("/test/dynamic/path/to/file/in/object/property");
            assetObject.AssetUrl = new UFile("/test/dynamic/path/to/file/in/object/property");

            //assetObject.Base = new AssetBase("/this/is/an/url/to/MyObject", null);

            assetObject.CustomReference2 = new AssetReference<Asset>(Guid.Empty, "/this/is/an/url/to/MyCustomReference2");
            assetObject.CustomReferences.Add(new AssetReference<Asset>(Guid.Empty, "/this/is/an/url/to/MyCustomReferenceItem1"));

            assetObject.SeqItems1.Add("value1");
            assetObject.SeqItems1.Add("value2");

            assetObject.SeqItems2.Add("value1");
            assetObject.SeqItems2.Add("value2");
            assetObject.SeqItems2.Add("value3");

            assetObject.SeqItems3.Add("value1");
            assetObject.SeqItems3.Add("value2");
            assetObject.SeqItems3.Add("value3");
            assetObject.SeqItems3.Add("value4");

            assetObject.SeqItems4.Add("value0");
            assetObject.SeqItems5.Add("value0");

            assetObject.MapItems1.Add("key1", 1);
            assetObject.MapItems1.Add("key2", 2);

            assetObject.MapItems2.Add("key1", 1);
            assetObject.MapItems2.Add("key2", 2);
            assetObject.MapItems2.Add("key3", 3);

            assetObject.MapItems3.Add("key1", 1);
            assetObject.MapItems3.Add("key2", 2);
            assetObject.MapItems3.Add("key3", 3);
            assetObject.MapItems3.Add("key4", 3);

            string testGenerated1 = DirectoryTestBase + @"TestSerializing\TestSerializing_TestMyAssetObject_Generated1.xkobj";
            string testGenerated2 = DirectoryTestBase + @"TestSerializing\TestSerializing_TestMyAssetObject_Generated2.xkobj";
            string referenceFilePath = DirectoryTestBase + @"TestSerializing\TestSerializing_TestMyAssetObject_Reference.xkobj";

            var myAssetDescriptor = TypeDescriptorFactory.Default.Find(typeof(MyAsset));

            // Put a New Sealed on the Description
            //assetObject.SetDynamicProperty(myAssetDescriptor["Description"], Override.Key, OverrideType.New | OverrideType.Sealed);
            assetObject.SetOverride(myAssetDescriptor["Description"], OverrideType.New | OverrideType.Sealed);

            // First store the file on the disk and compare it to the reference
            GenerateAndCompare("Test Serialization 1", testGenerated1, referenceFilePath, assetObject);

            // Deserialize it
            var newAssetObject = AssetSerializer.Load<MyAsset>(testGenerated1);
            var overrideKey = newAssetObject.GetOverride(myAssetDescriptor["Description"]);
            Assert.AreEqual(overrideKey, OverrideType.New | OverrideType.Sealed);

            // Restore the deserialize version and compare it with the reference
            GenerateAndCompare("Test Serialization 2 - double check", testGenerated2, referenceFilePath, newAssetObject);
        }