浏览代码

Merge pull request #994 from Azaezel/alpha41/fontcachegen

revise populateallfonts()
Brian Roberts 2 年之前
父节点
当前提交
d887c27d95
共有 1 个文件被更改,包括 25 次插入6 次删除
  1. 25 6
      Templates/BaseGame/game/core/utility/scripts/helperFunctions.tscript

+ 25 - 6
Templates/BaseGame/game/core/utility/scripts/helperFunctions.tscript

@@ -641,13 +641,32 @@ function switchControlObject(%client, %newControlEntity)
    %control.setConnectionControlObject(%client);
 }
 
-function populateAllFonts(%font)
+function populateAllFonts()
 {
-   populateFontCacheRange(%font,14,0,65535);
-   populateFontCacheRange(%font,18,0,65535);
-   populateFontCacheRange(%font,24,0,65535);
-   populateFontCacheRange(%font,32,0,65535);
-   populateFontCacheRange(%font,36,0,65535);
+   %fontarray = new ArrayObject();
+   foreach( %obj in GuiDataGroup )
+   {
+      if( !%obj.isMemberOfClass( "GuiControlProfile" ) )
+         continue;
+      %fontarray.push_back(%obj.fontType,%obj.fontSize);
+   }
+   %fontarray.uniqueKey();
+   
+   %fontarrayCount = %fontarray.count(); 
+   
+   echo("Generating "@ %fontarrayCount @" fonts");
+   for (%i=0;%i<%fontarrayCount;%i++)
+   {
+      %font = %fontarray.getKey(%i);
+      %hieght =  %fontarray.getValue(%i);
+      schedule(1000*%i,0,"delayedFontsPopulation",%font, %hieght, %i+1);
+   }
+   %fontarray.delete();
+}
+function delayedFontsPopulation(%font, %hieght, %fontNum)
+{
+    echo("Font ["@ %fontNum @"] Generating "@ %font SPC %hieght);
+    populateFontCacheRange(%font,%hieght,1,65535);
 }
 
 //------------------------------------------------------------------------------