private void OnDeserialized() { if (guid != (ResourceGuid)null) { resource = Db.Get().GetResource <ResourceType>(guid); guid = null; } }
public Resource(string id, string name) { Debug.Assert(id != null); Guid = new ResourceGuid(id, null); Id = id; IdHash = new HashedString(Id); Name = name; }
private void OnSerializing() { if (resource == null) { guid = null; } else { guid = resource.Guid; } }
public Resource(string id, ResourceSet parent = null, string name = null) { Debug.Assert(id != null); Id = id; IdHash = new HashedString(Id); Guid = new ResourceGuid(id, parent); parent?.Add(this); if (name != null) { Name = name; } else { Name = id; } }
public ResourceType GetResource <ResourceType>(ResourceGuid guid) where ResourceType : Resource { Resource resource = ResourceTable.FirstOrDefault((Resource s) => s.Guid == guid); if (resource == null) { Debug.LogWarning("Could not find resource: " + guid); return((ResourceType)null); } ResourceType val = (ResourceType)resource; if (val == null) { Debug.LogError("Resource type mismatch for resource: " + resource.Id + "\nExpecting Type: " + typeof(ResourceType).Name + "\nGot Type: " + resource.GetType().Name); return((ResourceType)null); } return(val); }