public int LoadAssetAsync <T>(string sPath, ResourceMgr.AssetLoadCompleted OnAssetLoadCompleted) where T : UnityEngine.Object { ResourceRequest req = Resources.LoadAsync <T>(StringUtils.WithoutExtension(sPath)); req.completed += (ao) => { ResourceRequest resourceRequest = ao as ResourceRequest; UnityEngine.Object @object = null; if (resourceRequest != null) { @object = resourceRequest.asset; } OnAssetLoadCompleted.Invoke(req.GetHashCode(), @object); }; return(req.GetHashCode()); }
public virtual void TestResourceRequest() { Resource resource = recordFactory.NewRecordInstance <Resource>(); Priority priority = recordFactory.NewRecordInstance <Priority>(); ResourceRequest original = ResourceRequest.NewInstance(priority, "localhost", resource , 2); ResourceRequest copy = ResourceRequest.NewInstance(priority, "localhost", resource , 2); NUnit.Framework.Assert.IsTrue(original.Equals(copy)); NUnit.Framework.Assert.AreEqual(0, original.CompareTo(copy)); NUnit.Framework.Assert.IsTrue(original.GetHashCode() == copy.GetHashCode()); copy.SetNumContainers(1); NUnit.Framework.Assert.IsFalse(original.Equals(copy)); NUnit.Framework.Assert.AreNotSame(0, original.CompareTo(copy)); NUnit.Framework.Assert.IsFalse(original.GetHashCode() == copy.GetHashCode()); }