コード例 #1
0
 public static bool Prefix(ResourceLoadRequest <SVGAsset> __instance)
 {
     //RLog.M.TWL(0, "SVGAssetLoadRequest.Load "+__instance.ManifestEntry.Name);
     //return true;
     ResourceLoadRequest_Load(__instance);//base.Load();
     if (__instance.State != DataManager.FileLoadRequest.RequestState.Requested)
     {
         return(false);
     }
     __instance.State(DataManager.FileLoadRequest.RequestState.Processing);
     __instance.StartTimeoutTracking(0.0f);
     if (__instance.ManifestEntry.IsAssetBundled)
     {
         __instance.dataManager().AssetBundleManager().RequestAsset <SVGAsset>(BattleTechResourceType.SVGAsset, __instance.ResourceId, new Action <SVGAsset>(
                                                                                   (SVGAsset resource) => {
             SVGAssetLoadRequest.GetMethod("AssetLoaded", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(__instance, new object[] { resource });
         }
                                                                                   ));
     }
     else
     {
         if (!__instance.ManifestEntry.IsResourcesAsset)
         {
             try
             {
                 SVGAsset resource = SVGAsset.Load(File.ReadAllText(__instance.ManifestEntry.FilePath));
                 if (resource == null)
                 {
                     throw new NullReferenceException("Fail to load SVG file");
                 }
                 SVGAssetLoadRequest.GetMethod("AssetLoaded", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(__instance, new object[] { resource });
                 RLog.M.WL(1, "Loaded from external file:" + __instance.ManifestEntry.FilePath);
             }catch (Exception e)
             {
                 RLog.M.TWL(0, "Fail to load external file:" + __instance.ManifestEntry.FilePath);
                 RLog.M.WL(0, e.ToString());
                 throw new ArgumentNullException("THIS IS !NOT! I REPEAT, !NOT! MODTEK ERROR. YOUR SVG FILE FAIL TO LOAD! More info in ModTek_runtime_log.txt");
             }
             return(false);
         }
         __instance.dataManager().RequestResourcesLoad_SVGAsset(__instance.ManifestEntry.ResourcesLoadPath, new Action <SVGAsset>(
                                                                    (SVGAsset resource) => {
             SVGAssetLoadRequest.GetMethod("AssetLoaded", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(__instance, new object[] { resource });
         }
                                                                    ));
     }
     return(false);
 }
コード例 #2
0
 public static bool PrefixBase(ResourceLoadRequest <SVGAsset> __instance)
 {
     //RLog.M.TWL(0, "ResourceLoadRequest<SVGAsset>.Load " + __instance.ManifestEntry.Name);
     return(true);
 }