/// <summary> /// Changes the location of the resource by changing its location flags. /// </summary> /// <param name="newLocation">The new location.</param> /// <exception cref="System.ArgumentException">Unsupported resource location</exception> public void ChangeLocation(ResourceLocation newLocation) { OldLocationFlags &= ~OldResourceLocationFlags.LocationMask; NewLocationFlags &= ~NewResourceLocationFlags.LocationMask; switch (newLocation) { case ResourceLocation.Resources: OldLocationFlags |= OldResourceLocationFlags.InResources; NewLocationFlags |= NewResourceLocationFlags.InResources; break; case ResourceLocation.Textures: OldLocationFlags |= OldResourceLocationFlags.InTextures; NewLocationFlags |= NewResourceLocationFlags.InTextures; break; case ResourceLocation.TexturesB: OldLocationFlags |= OldResourceLocationFlags.InTexturesB; NewLocationFlags |= NewResourceLocationFlags.InTexturesB; break; case ResourceLocation.Audio: OldLocationFlags |= OldResourceLocationFlags.InAudio; NewLocationFlags |= NewResourceLocationFlags.InAudio; break; case ResourceLocation.Video: OldLocationFlags |= OldResourceLocationFlags.InVideo; NewLocationFlags |= NewResourceLocationFlags.InVideo; break; case ResourceLocation.RenderModels: NewLocationFlags |= NewResourceLocationFlags.InRenderModels; break; case ResourceLocation.Lightmaps: NewLocationFlags |= NewResourceLocationFlags.InLightmaps; break; default: throw new ArgumentException("Unsupported resource location"); } }
/// <summary> /// Disables the resource's checksum by changing its location flags. /// </summary> public void DisableChecksum() { OldLocationFlags &= ~(OldResourceLocationFlags.UseChecksum | OldResourceLocationFlags.UseChecksum2); NewLocationFlags &= ~NewResourceLocationFlags.UseChecksum; }