Răsfoiți Sursa

[cs] Add resources even if haxe.Resource is not found

Cauê Waneck 11 ani în urmă
părinte
comite
3cf956fc3f
1 a modificat fișierele cu 11 adăugiri și 7 ștergeri
  1. 11 7
      gencs.ml

+ 11 - 7
gencs.ml

@@ -2642,15 +2642,10 @@ let configure gen =
   mkdir gen.gcon.file;
   mkdir (gen.gcon.file ^ "/src");
 
-  (* add resources array *)
-  (try
-    let res = get_cl (Hashtbl.find gen.gtypes (["haxe"], "Resource")) in
+  (* copy resource files *)
+  if Hashtbl.length gen.gcon.resources > 0 then begin
     mkdir (gen.gcon.file ^ "/src/Resources");
-    let cf = PMap.find "content" res.cl_statics in
-    let res = ref [] in
     Hashtbl.iter (fun name v ->
-      res := { eexpr = TConst(TString name); etype = gen.gcon.basic.tstring; epos = Ast.null_pos } :: !res;
-
       let full_path = gen.gcon.file ^ "/src/Resources/" ^ name in
       let parts = Str.split_delim (Str.regexp "[\\/]+") full_path in
       let dir_list = List.rev (List.tl (List.rev parts)) in
@@ -2661,6 +2656,15 @@ let configure gen =
       output_string f v;
       close_out f
     ) gen.gcon.resources;
+  end;
+  (* add resources array *)
+  (try
+    let res = get_cl (Hashtbl.find gen.gtypes (["haxe"], "Resource")) in
+    let cf = PMap.find "content" res.cl_statics in
+    let res = ref [] in
+    Hashtbl.iter (fun name v ->
+      res := { eexpr = TConst(TString name); etype = gen.gcon.basic.tstring; epos = Ast.null_pos } :: !res;
+    ) gen.gcon.resources;
     cf.cf_expr <- Some ({ eexpr = TArrayDecl(!res); etype = gen.gcon.basic.tarray gen.gcon.basic.tstring; epos = Ast.null_pos })
   with | Not_found -> ());