public static void CreateMyAsset() { MyAsset asset = CreateInstance <MyAsset>(); AssetDatabase.CreateAsset(asset, "Assets/MyAsset.asset"); AssetDatabase.SaveAssets(); }
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]); }
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"); }
public static void CreateMyAsset() { MyAsset asset = CreateInstance <MyAsset>(); //EditorUtility.OpenFilePanel("Save",null, null); AssetDatabase.CreateAsset(asset, "Assets/MyAsset.asset"); AssetDatabase.SaveAssets(); }
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()); }
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); } } } }
/// <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); }
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); }
/// <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(); } }
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(); }
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)); }
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(); } }
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]); }
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); }
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); }
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)); }
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); }
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); }
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); }
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)); }
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); }
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); }