created raindrops demo to test new ecs

This commit is contained in:
Dylan Wilson
2018-06-28 23:20:08 +10:00
parent c8db244932
commit 4bee9e1cc3
20 changed files with 659 additions and 242 deletions
+12
View File
@@ -0,0 +1,12 @@
namespace Sandbox.Components
{
public class Expiry
{
public Expiry(float timeRemaining)
{
TimeRemaining = timeRemaining;
}
public float TimeRemaining;
}
}
@@ -5,5 +5,6 @@ namespace Sandbox.Components
public class Raindrop
{
public Vector2 Velocity;
public float Size = 3;
}
}
+4 -4
View File
@@ -26,12 +26,12 @@
/processorParam:TextureFormat=Color
/build:ballGrey.png
#begin kenney-rocket-square.fnt
#begin Sensation.fnt
/importer:BitmapFontImporter
/processor:BitmapFontProcessor
/build:kenney-rocket-square.fnt
/build:Sensation.fnt
#begin kenney-rocket-square_0.png
#begin Sensation_0.png
/importer:TextureImporter
/processor:TextureProcessor
/processorParam:ColorKeyColor=255,0,255,255
@@ -41,5 +41,5 @@
/processorParam:ResizeToPowerOfTwo=False
/processorParam:MakeSquare=False
/processorParam:TextureFormat=Color
/build:kenney-rocket-square_0.png
/build:Sensation_0.png
+461
View File
@@ -0,0 +1,461 @@
<?xml version="1.0"?>
<font>
<info face="Sansation" size="18" bold="0" italic="0" charset="" unicode="1" stretchH="100" smooth="1" aa="1" padding="0,0,0,0" spacing="1,1" outline="0"/>
<common lineHeight="18" base="15" scaleW="128" scaleH="256" pages="1" packed="0" alphaChnl="0" redChnl="4" greenChnl="4" blueChnl="4"/>
<pages>
<page id="0" file="Sensation_0.png" />
</pages>
<chars count="190">
<char id="32" x="16" y="182" width="3" height="1" xoffset="-1" yoffset="17" xadvance="4" page="0" chnl="15" />
<char id="33" x="124" y="48" width="3" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15" />
<char id="34" x="22" y="175" width="6" height="5" xoffset="0" yoffset="3" xadvance="6" page="0" chnl="15" />
<char id="35" x="61" y="48" width="15" height="12" xoffset="0" yoffset="3" xadvance="15" page="0" chnl="15" />
<char id="36" x="90" y="126" width="8" height="12" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15" />
<char id="37" x="95" y="61" width="11" height="12" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15" />
<char id="38" x="108" y="74" width="11" height="12" xoffset="0" yoffset="3" xadvance="10" page="0" chnl="15" />
<char id="39" x="75" y="171" width="3" height="4" xoffset="0" yoffset="3" xadvance="3" page="0" chnl="15" />
<char id="40" x="107" y="32" width="4" height="15" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15" />
<char id="41" x="66" y="32" width="5" height="15" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15" />
<char id="42" x="8" y="175" width="6" height="6" xoffset="0" yoffset="3" xadvance="6" page="0" chnl="15" />
<char id="43" x="0" y="175" width="7" height="6" xoffset="0" yoffset="8" xadvance="7" page="0" chnl="15" />
<char id="44" x="71" y="172" width="3" height="4" xoffset="0" yoffset="13" xadvance="3" page="0" chnl="15" />
<char id="45" x="0" y="182" width="5" height="2" xoffset="0" yoffset="10" xadvance="6" page="0" chnl="15" />
<char id="46" x="123" y="167" width="3" height="2" xoffset="0" yoffset="13" xadvance="3" page="0" chnl="15" />
<char id="47" x="18" y="142" width="8" height="12" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15" />
<char id="48" x="96" y="74" width="11" height="12" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15" />
<char id="49" x="112" y="139" width="4" height="11" xoffset="0" yoffset="4" xadvance="5" page="0" chnl="15" />
<char id="50" x="20" y="103" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="51" x="30" y="103" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="52" x="66" y="88" width="10" height="12" xoffset="0" yoffset="3" xadvance="10" page="0" chnl="15" />
<char id="53" x="40" y="102" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="54" x="55" y="88" width="10" height="12" xoffset="0" yoffset="3" xadvance="10" page="0" chnl="15" />
<char id="55" x="50" y="115" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="56" x="33" y="89" width="10" height="12" xoffset="0" yoffset="3" xadvance="10" page="0" chnl="15" />
<char id="57" x="31" y="48" width="10" height="13" xoffset="0" yoffset="3" xadvance="10" page="0" chnl="15" />
<char id="58" x="123" y="139" width="3" height="9" xoffset="0" yoffset="6" xadvance="3" page="0" chnl="15" />
<char id="59" x="107" y="139" width="4" height="11" xoffset="0" yoffset="6" xadvance="4" page="0" chnl="15" />
<char id="60" x="44" y="165" width="9" height="8" xoffset="0" yoffset="7" xadvance="9" page="0" chnl="15" />
<char id="61" x="57" y="173" width="7" height="4" xoffset="0" yoffset="9" xadvance="7" page="0" chnl="15" />
<char id="62" x="64" y="163" width="9" height="8" xoffset="0" yoffset="7" xadvance="9" page="0" chnl="15" />
<char id="63" x="50" y="102" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="64" x="0" y="0" width="16" height="15" xoffset="0" yoffset="3" xadvance="17" page="0" chnl="15" />
<char id="65" x="56" y="62" width="12" height="12" xoffset="0" yoffset="3" xadvance="12" page="0" chnl="15" />
<char id="66" x="60" y="101" width="9" height="12" xoffset="1" yoffset="3" xadvance="10" page="0" chnl="15" />
<char id="67" x="60" y="75" width="11" height="12" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15" />
<char id="68" x="84" y="74" width="11" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15" />
<char id="69" x="70" y="101" width="9" height="12" xoffset="1" yoffset="3" xadvance="10" page="0" chnl="15" />
<char id="70" x="108" y="126" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="71" x="12" y="77" width="11" height="12" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15" />
<char id="72" x="24" y="76" width="11" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15" />
<char id="73" x="91" y="139" width="3" height="12" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15" />
<char id="74" x="120" y="87" width="6" height="12" xoffset="-1" yoffset="3" xadvance="5" page="0" chnl="15" />
<char id="75" x="44" y="89" width="10" height="12" xoffset="1" yoffset="3" xadvance="11" page="0" chnl="15" />
<char id="76" x="119" y="61" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="77" x="14" y="63" width="13" height="12" xoffset="1" yoffset="3" xadvance="14" page="0" chnl="15" />
<char id="78" x="72" y="74" width="11" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15" />
<char id="79" x="28" y="63" width="13" height="12" xoffset="0" yoffset="3" xadvance="13" page="0" chnl="15" />
<char id="80" x="80" y="100" width="9" height="12" xoffset="1" yoffset="3" xadvance="10" page="0" chnl="15" />
<char id="81" x="59" y="0" width="13" height="15" xoffset="0" yoffset="3" xadvance="13" page="0" chnl="15" />
<char id="82" x="90" y="100" width="9" height="12" xoffset="1" yoffset="3" xadvance="10" page="0" chnl="15" />
<char id="83" x="22" y="90" width="10" height="12" xoffset="0" yoffset="3" xadvance="10" page="0" chnl="15" />
<char id="84" x="11" y="90" width="10" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="85" x="0" y="77" width="11" height="12" xoffset="0" yoffset="3" xadvance="12" page="0" chnl="15" />
<char id="86" x="82" y="61" width="12" height="12" xoffset="0" yoffset="3" xadvance="12" page="0" chnl="15" />
<char id="87" x="93" y="48" width="15" height="12" xoffset="0" yoffset="3" xadvance="15" page="0" chnl="15" />
<char id="88" x="107" y="61" width="11" height="12" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15" />
<char id="89" x="0" y="90" width="10" height="12" xoffset="0" yoffset="3" xadvance="10" page="0" chnl="15" />
<char id="90" x="99" y="87" width="10" height="12" xoffset="0" yoffset="3" xadvance="10" page="0" chnl="15" />
<char id="91" x="78" y="32" width="5" height="15" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15" />
<char id="92" x="63" y="140" width="8" height="12" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15" />
<char id="93" x="90" y="32" width="5" height="15" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15" />
<char id="94" x="74" y="163" width="8" height="7" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15" />
<char id="95" x="96" y="169" width="10" height="2" xoffset="-1" yoffset="15" xadvance="8" page="0" chnl="15" />
<char id="96" x="91" y="170" width="4" height="3" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15" />
<char id="97" x="9" y="165" width="8" height="9" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15" />
<char id="98" x="100" y="100" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="99" x="18" y="165" width="8" height="9" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15" />
<char id="100" x="110" y="100" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="101" x="63" y="153" width="9" height="9" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15" />
<char id="102" x="120" y="74" width="7" height="12" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15" />
<char id="103" x="0" y="116" width="9" height="12" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15" />
<char id="104" x="10" y="116" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="105" x="99" y="139" width="3" height="12" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15" />
<char id="106" x="112" y="32" width="4" height="15" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15" />
<char id="107" x="20" y="116" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="108" x="95" y="139" width="3" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15" />
<char id="109" x="0" y="155" width="14" height="9" xoffset="0" yoffset="6" xadvance="14" page="0" chnl="15" />
<char id="110" x="73" y="153" width="9" height="9" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15" />
<char id="111" x="53" y="154" width="9" height="9" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15" />
<char id="112" x="30" y="116" width="9" height="12" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15" />
<char id="113" x="40" y="115" width="9" height="12" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15" />
<char id="114" x="27" y="165" width="6" height="9" xoffset="0" yoffset="6" xadvance="5" page="0" chnl="15" />
<char id="115" x="0" y="165" width="8" height="9" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15" />
<char id="116" x="117" y="139" width="5" height="10" xoffset="0" yoffset="5" xadvance="5" page="0" chnl="15" />
<char id="117" x="43" y="155" width="9" height="9" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15" />
<char id="118" x="111" y="151" width="8" height="9" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15" />
<char id="119" x="30" y="155" width="12" height="9" xoffset="0" yoffset="6" xadvance="12" page="0" chnl="15" />
<char id="120" x="102" y="152" width="8" height="9" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15" />
<char id="121" x="27" y="142" width="8" height="12" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15" />
<char id="122" x="93" y="152" width="8" height="9" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15" />
<char id="123" x="96" y="32" width="5" height="15" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15" />
<char id="124" x="122" y="32" width="3" height="15" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15" />
<char id="125" x="72" y="32" width="5" height="15" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15" />
<char id="126" x="107" y="169" width="7" height="2" xoffset="0" yoffset="10" xadvance="7" page="0" chnl="15" />
<char id="161" x="103" y="139" width="3" height="12" xoffset="0" yoffset="6" xadvance="4" page="0" chnl="15" />
<char id="162" x="99" y="126" width="8" height="12" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15" />
<char id="163" x="42" y="48" width="9" height="13" xoffset="0" yoffset="3" xadvance="10" page="0" chnl="15" />
<char id="164" x="34" y="165" width="9" height="8" xoffset="0" yoffset="7" xadvance="9" page="0" chnl="15" />
<char id="165" x="77" y="87" width="10" height="12" xoffset="0" yoffset="3" xadvance="10" page="0" chnl="15" />
<char id="166" x="0" y="48" width="3" height="15" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15" />
<char id="167" x="9" y="142" width="8" height="12" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15" />
<char id="168" x="79" y="171" width="6" height="3" xoffset="0" yoffset="3" xadvance="6" page="0" chnl="15" />
<char id="169" x="109" y="48" width="14" height="12" xoffset="0" yoffset="3" xadvance="14" page="0" chnl="15" />
<char id="170" x="42" y="174" width="5" height="5" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15" />
<char id="171" x="104" y="162" width="8" height="6" xoffset="0" yoffset="8" xadvance="8" page="0" chnl="15" />
<char id="172" x="48" y="174" width="8" height="4" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15" />
<char id="173" x="115" y="168" width="7" height="2" xoffset="0" yoffset="10" xadvance="7" page="0" chnl="15" />
<char id="174" x="54" y="164" width="9" height="8" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="175" x="6" y="182" width="5" height="2" xoffset="0" yoffset="3" xadvance="6" page="0" chnl="15" />
<char id="176" x="29" y="175" width="6" height="5" xoffset="0" yoffset="3" xadvance="6" page="0" chnl="15" />
<char id="177" x="120" y="150" width="7" height="9" xoffset="0" yoffset="6" xadvance="7" page="0" chnl="15" />
<char id="178" x="83" y="162" width="5" height="7" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15" />
<char id="179" x="89" y="162" width="5" height="7" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15" />
<char id="180" x="86" y="170" width="4" height="3" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15" />
<char id="181" x="60" y="114" width="9" height="12" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15" />
<char id="182" x="10" y="32" width="9" height="15" xoffset="-1" yoffset="3" xadvance="8" page="0" chnl="15" />
<char id="183" x="12" y="182" width="3" height="2" xoffset="0" yoffset="10" xadvance="4" page="0" chnl="15" />
<char id="184" x="65" y="172" width="5" height="4" xoffset="-1" yoffset="14" xadvance="4" page="0" chnl="15" />
<char id="185" x="122" y="160" width="3" height="6" xoffset="0" yoffset="4" xadvance="3" page="0" chnl="15" />
<char id="186" x="36" y="174" width="5" height="5" xoffset="0" yoffset="3" xadvance="6" page="0" chnl="15" />
<char id="187" x="113" y="161" width="8" height="6" xoffset="0" yoffset="8" xadvance="8" page="0" chnl="15" />
<char id="188" x="48" y="75" width="11" height="12" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15" />
<char id="189" x="36" y="76" width="11" height="12" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15" />
<char id="190" x="69" y="61" width="12" height="12" xoffset="0" yoffset="3" xadvance="12" page="0" chnl="15" />
<char id="191" x="70" y="114" width="9" height="12" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15" />
<char id="192" x="0" y="16" width="12" height="15" xoffset="0" yoffset="0" xadvance="12" page="0" chnl="15" />
<char id="193" x="13" y="16" width="12" height="15" xoffset="0" yoffset="0" xadvance="12" page="0" chnl="15" />
<char id="194" x="113" y="0" width="12" height="15" xoffset="0" yoffset="0" xadvance="12" page="0" chnl="15" />
<char id="195" x="18" y="48" width="12" height="14" xoffset="0" yoffset="1" xadvance="12" page="0" chnl="15" />
<char id="196" x="100" y="0" width="12" height="15" xoffset="0" yoffset="0" xadvance="12" page="0" chnl="15" />
<char id="197" x="87" y="0" width="12" height="15" xoffset="0" yoffset="0" xadvance="12" page="0" chnl="15" />
<char id="198" x="77" y="48" width="15" height="12" xoffset="0" yoffset="3" xadvance="15" page="0" chnl="15" />
<char id="199" x="74" y="16" width="11" height="15" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15" />
<char id="200" x="20" y="32" width="9" height="15" xoffset="1" yoffset="0" xadvance="10" page="0" chnl="15" />
<char id="201" x="0" y="32" width="9" height="15" xoffset="1" yoffset="0" xadvance="10" page="0" chnl="15" />
<char id="202" x="30" y="32" width="9" height="15" xoffset="1" yoffset="0" xadvance="10" page="0" chnl="15" />
<char id="203" x="40" y="32" width="9" height="15" xoffset="1" yoffset="0" xadvance="10" page="0" chnl="15" />
<char id="204" x="117" y="32" width="4" height="15" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15" />
<char id="205" x="102" y="32" width="4" height="15" xoffset="1" yoffset="0" xadvance="5" page="0" chnl="15" />
<char id="206" x="84" y="32" width="5" height="15" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15" />
<char id="207" x="59" y="32" width="6" height="15" xoffset="-1" yoffset="0" xadvance="5" page="0" chnl="15" />
<char id="208" x="0" y="64" width="13" height="12" xoffset="-1" yoffset="3" xadvance="12" page="0" chnl="15" />
<char id="209" x="62" y="16" width="11" height="15" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15" />
<char id="210" x="73" y="0" width="13" height="15" xoffset="0" yoffset="0" xadvance="13" page="0" chnl="15" />
<char id="211" x="31" y="0" width="13" height="15" xoffset="0" yoffset="0" xadvance="13" page="0" chnl="15" />
<char id="212" x="45" y="0" width="13" height="15" xoffset="0" yoffset="0" xadvance="13" page="0" chnl="15" />
<char id="213" x="4" y="48" width="13" height="14" xoffset="0" yoffset="1" xadvance="13" page="0" chnl="15" />
<char id="214" x="17" y="0" width="13" height="15" xoffset="0" yoffset="0" xadvance="13" page="0" chnl="15" />
<char id="215" x="15" y="175" width="6" height="6" xoffset="0" yoffset="8" xadvance="7" page="0" chnl="15" />
<char id="216" x="42" y="62" width="13" height="12" xoffset="0" yoffset="3" xadvance="13" page="0" chnl="15" />
<char id="217" x="86" y="16" width="11" height="15" xoffset="0" yoffset="0" xadvance="12" page="0" chnl="15" />
<char id="218" x="50" y="16" width="11" height="15" xoffset="0" yoffset="0" xadvance="12" page="0" chnl="15" />
<char id="219" x="38" y="16" width="11" height="15" xoffset="0" yoffset="0" xadvance="12" page="0" chnl="15" />
<char id="220" x="26" y="16" width="11" height="15" xoffset="0" yoffset="0" xadvance="12" page="0" chnl="15" />
<char id="221" x="98" y="16" width="10" height="15" xoffset="0" yoffset="0" xadvance="10" page="0" chnl="15" />
<char id="222" x="88" y="87" width="10" height="12" xoffset="0" yoffset="3" xadvance="10" page="0" chnl="15" />
<char id="223" x="80" y="113" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="224" x="0" y="142" width="8" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="225" x="72" y="140" width="8" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="226" x="117" y="126" width="8" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="227" x="54" y="141" width="8" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="228" x="45" y="141" width="8" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="229" x="52" y="48" width="8" height="13" xoffset="0" yoffset="2" xadvance="9" page="0" chnl="15" />
<char id="230" x="15" y="155" width="14" height="9" xoffset="0" yoffset="6" xadvance="14" page="0" chnl="15" />
<char id="231" x="36" y="142" width="8" height="12" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15" />
<char id="232" x="10" y="103" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="233" x="90" y="113" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="234" x="100" y="113" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="235" x="110" y="113" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="236" x="86" y="139" width="4" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15" />
<char id="237" x="81" y="139" width="4" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15" />
<char id="238" x="120" y="113" width="5" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15" />
<char id="239" x="120" y="100" width="6" height="12" xoffset="-1" yoffset="3" xadvance="4" page="0" chnl="15" />
<char id="240" x="0" y="129" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="241" x="10" y="129" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="242" x="20" y="129" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="243" x="30" y="129" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="244" x="40" y="128" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="245" x="50" y="128" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="246" x="60" y="127" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="247" x="95" y="162" width="8" height="6" xoffset="0" yoffset="8" xadvance="8" page="0" chnl="15" />
<char id="248" x="83" y="152" width="9" height="9" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15" />
<char id="249" x="70" y="127" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="250" x="80" y="126" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="251" x="110" y="87" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="252" x="0" y="103" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="253" x="119" y="16" width="8" height="15" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15" />
<char id="254" x="109" y="16" width="9" height="15" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15" />
<char id="255" x="50" y="32" width="8" height="15" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15" />
</chars>
<kernings count="259">
<kerning first="52" second="55" amount="-1" />
<kerning first="54" second="55" amount="-1" />
<kerning first="54" second="57" amount="-1" />
<kerning first="55" second="52" amount="-1" />
<kerning first="55" second="54" amount="-1" />
<kerning first="221" second="193" amount="-1" />
<kerning first="65" second="84" amount="-1" />
<kerning first="65" second="86" amount="-1" />
<kerning first="65" second="89" amount="-1" />
<kerning first="221" second="194" amount="-1" />
<kerning first="65" second="221" amount="-1" />
<kerning first="221" second="195" amount="-1" />
<kerning first="221" second="192" amount="-1" />
<kerning first="221" second="248" amount="-1" />
<kerning first="221" second="230" amount="-1" />
<kerning first="70" second="65" amount="-1" />
<kerning first="70" second="196" amount="-1" />
<kerning first="70" second="197" amount="-1" />
<kerning first="70" second="198" amount="-1" />
<kerning first="70" second="192" amount="-1" />
<kerning first="70" second="195" amount="-1" />
<kerning first="70" second="194" amount="-1" />
<kerning first="70" second="193" amount="-1" />
<kerning first="221" second="198" amount="-1" />
<kerning first="221" second="252" amount="-1" />
<kerning first="221" second="251" amount="-1" />
<kerning first="75" second="67" amount="-1" />
<kerning first="75" second="71" amount="-1" />
<kerning first="75" second="79" amount="-1" />
<kerning first="75" second="81" amount="-1" />
<kerning first="75" second="199" amount="-1" />
<kerning first="75" second="214" amount="-1" />
<kerning first="75" second="216" amount="-1" />
<kerning first="75" second="213" amount="-1" />
<kerning first="221" second="249" amount="-1" />
<kerning first="75" second="211" amount="-1" />
<kerning first="75" second="212" amount="-1" />
<kerning first="75" second="210" amount="-1" />
<kerning first="221" second="250" amount="-1" />
<kerning first="221" second="245" amount="-1" />
<kerning first="221" second="246" amount="-1" />
<kerning first="221" second="244" amount="-1" />
<kerning first="221" second="242" amount="-1" />
<kerning first="221" second="243" amount="-1" />
<kerning first="221" second="241" amount="-1" />
<kerning first="221" second="235" amount="-1" />
<kerning first="221" second="234" amount="-1" />
<kerning first="221" second="232" amount="-1" />
<kerning first="221" second="233" amount="-1" />
<kerning first="76" second="67" amount="-1" />
<kerning first="76" second="71" amount="-1" />
<kerning first="76" second="79" amount="-1" />
<kerning first="76" second="81" amount="-1" />
<kerning first="76" second="84" amount="-2" />
<kerning first="76" second="86" amount="-2" />
<kerning first="76" second="89" amount="-2" />
<kerning first="76" second="199" amount="-1" />
<kerning first="76" second="214" amount="-1" />
<kerning first="76" second="216" amount="-1" />
<kerning first="76" second="213" amount="-1" />
<kerning first="221" second="231" amount="-1" />
<kerning first="221" second="229" amount="-1" />
<kerning first="76" second="211" amount="-1" />
<kerning first="76" second="212" amount="-1" />
<kerning first="76" second="210" amount="-1" />
<kerning first="76" second="221" amount="-2" />
<kerning first="221" second="227" amount="-1" />
<kerning first="221" second="228" amount="-1" />
<kerning first="221" second="226" amount="-1" />
<kerning first="221" second="224" amount="-1" />
<kerning first="221" second="225" amount="-1" />
<kerning first="221" second="197" amount="-1" />
<kerning first="221" second="196" amount="-1" />
<kerning first="221" second="122" amount="-1" />
<kerning first="221" second="120" amount="-1" />
<kerning first="221" second="117" amount="-1" />
<kerning first="221" second="115" amount="-1" />
<kerning first="221" second="114" amount="-1" />
<kerning first="221" second="113" amount="-1" />
<kerning first="221" second="112" amount="-1" />
<kerning first="221" second="111" amount="-1" />
<kerning first="80" second="65" amount="-1" />
<kerning first="80" second="74" amount="-1" />
<kerning first="80" second="196" amount="-1" />
<kerning first="80" second="197" amount="-1" />
<kerning first="80" second="198" amount="-1" />
<kerning first="80" second="192" amount="-1" />
<kerning first="80" second="195" amount="-1" />
<kerning first="80" second="194" amount="-1" />
<kerning first="80" second="193" amount="-1" />
<kerning first="221" second="110" amount="-1" />
<kerning first="221" second="109" amount="-1" />
<kerning first="221" second="103" amount="-1" />
<kerning first="221" second="101" amount="-1" />
<kerning first="83" second="83" amount="-1" />
<kerning first="221" second="100" amount="-1" />
<kerning first="84" second="65" amount="-1" />
<kerning first="84" second="74" amount="-1" />
<kerning first="84" second="97" amount="-1" />
<kerning first="84" second="99" amount="-1" />
<kerning first="84" second="100" amount="-1" />
<kerning first="84" second="101" amount="-1" />
<kerning first="84" second="103" amount="-1" />
<kerning first="84" second="109" amount="-1" />
<kerning first="84" second="110" amount="-1" />
<kerning first="84" second="111" amount="-1" />
<kerning first="84" second="112" amount="-1" />
<kerning first="84" second="113" amount="-1" />
<kerning first="84" second="114" amount="-1" />
<kerning first="84" second="115" amount="-1" />
<kerning first="84" second="116" amount="-1" />
<kerning first="84" second="117" amount="-1" />
<kerning first="84" second="118" amount="-1" />
<kerning first="84" second="119" amount="-1" />
<kerning first="84" second="120" amount="-1" />
<kerning first="84" second="121" amount="-1" />
<kerning first="84" second="122" amount="-1" />
<kerning first="84" second="196" amount="-1" />
<kerning first="84" second="197" amount="-1" />
<kerning first="84" second="225" amount="-1" />
<kerning first="84" second="224" amount="-1" />
<kerning first="84" second="226" amount="-1" />
<kerning first="84" second="228" amount="-1" />
<kerning first="84" second="227" amount="-1" />
<kerning first="84" second="229" amount="-1" />
<kerning first="84" second="231" amount="-1" />
<kerning first="84" second="233" amount="-1" />
<kerning first="84" second="232" amount="-1" />
<kerning first="84" second="234" amount="-1" />
<kerning first="84" second="235" amount="-1" />
<kerning first="84" second="243" amount="-1" />
<kerning first="84" second="242" amount="-1" />
<kerning first="84" second="244" amount="-1" />
<kerning first="84" second="246" amount="-1" />
<kerning first="84" second="245" amount="-1" />
<kerning first="84" second="250" amount="-1" />
<kerning first="84" second="249" amount="-1" />
<kerning first="84" second="251" amount="-1" />
<kerning first="84" second="252" amount="-1" />
<kerning first="84" second="198" amount="-1" />
<kerning first="84" second="230" amount="-1" />
<kerning first="84" second="248" amount="-1" />
<kerning first="84" second="192" amount="-1" />
<kerning first="84" second="195" amount="-1" />
<kerning first="221" second="99" amount="-1" />
<kerning first="84" second="194" amount="-1" />
<kerning first="84" second="193" amount="-1" />
<kerning first="221" second="97" amount="-1" />
<kerning first="221" second="65" amount="-1" />
<kerning first="193" second="221" amount="-1" />
<kerning first="193" second="89" amount="-1" />
<kerning first="193" second="86" amount="-1" />
<kerning first="193" second="84" amount="-1" />
<kerning first="194" second="221" amount="-1" />
<kerning first="194" second="89" amount="-1" />
<kerning first="194" second="86" amount="-1" />
<kerning first="194" second="84" amount="-1" />
<kerning first="195" second="221" amount="-1" />
<kerning first="195" second="89" amount="-1" />
<kerning first="195" second="86" amount="-1" />
<kerning first="195" second="84" amount="-1" />
<kerning first="192" second="221" amount="-1" />
<kerning first="192" second="89" amount="-1" />
<kerning first="192" second="86" amount="-1" />
<kerning first="192" second="84" amount="-1" />
<kerning first="197" second="221" amount="-1" />
<kerning first="197" second="89" amount="-1" />
<kerning first="197" second="86" amount="-1" />
<kerning first="197" second="84" amount="-1" />
<kerning first="196" second="221" amount="-1" />
<kerning first="196" second="89" amount="-1" />
<kerning first="196" second="86" amount="-1" />
<kerning first="196" second="84" amount="-1" />
<kerning first="89" second="193" amount="-1" />
<kerning first="89" second="194" amount="-1" />
<kerning first="89" second="195" amount="-1" />
<kerning first="89" second="192" amount="-1" />
<kerning first="89" second="248" amount="-1" />
<kerning first="89" second="230" amount="-1" />
<kerning first="89" second="198" amount="-1" />
<kerning first="89" second="252" amount="-1" />
<kerning first="89" second="251" amount="-1" />
<kerning first="89" second="249" amount="-1" />
<kerning first="89" second="250" amount="-1" />
<kerning first="89" second="245" amount="-1" />
<kerning first="89" second="246" amount="-1" />
<kerning first="89" second="244" amount="-1" />
<kerning first="89" second="242" amount="-1" />
<kerning first="89" second="243" amount="-1" />
<kerning first="89" second="241" amount="-1" />
<kerning first="89" second="235" amount="-1" />
<kerning first="89" second="234" amount="-1" />
<kerning first="89" second="232" amount="-1" />
<kerning first="89" second="233" amount="-1" />
<kerning first="89" second="231" amount="-1" />
<kerning first="89" second="229" amount="-1" />
<kerning first="86" second="65" amount="-1" />
<kerning first="86" second="97" amount="-1" />
<kerning first="86" second="99" amount="-1" />
<kerning first="86" second="100" amount="-1" />
<kerning first="86" second="101" amount="-1" />
<kerning first="86" second="103" amount="-1" />
<kerning first="86" second="109" amount="-1" />
<kerning first="86" second="110" amount="-1" />
<kerning first="86" second="111" amount="-1" />
<kerning first="86" second="112" amount="-1" />
<kerning first="86" second="113" amount="-1" />
<kerning first="86" second="114" amount="-1" />
<kerning first="86" second="115" amount="-1" />
<kerning first="86" second="122" amount="-1" />
<kerning first="86" second="196" amount="-1" />
<kerning first="86" second="197" amount="-1" />
<kerning first="86" second="225" amount="-1" />
<kerning first="86" second="224" amount="-1" />
<kerning first="86" second="226" amount="-1" />
<kerning first="86" second="228" amount="-1" />
<kerning first="86" second="227" amount="-1" />
<kerning first="86" second="229" amount="-1" />
<kerning first="86" second="231" amount="-1" />
<kerning first="86" second="233" amount="-1" />
<kerning first="86" second="232" amount="-1" />
<kerning first="86" second="234" amount="-1" />
<kerning first="86" second="235" amount="-1" />
<kerning first="86" second="241" amount="-1" />
<kerning first="86" second="243" amount="-1" />
<kerning first="86" second="242" amount="-1" />
<kerning first="86" second="244" amount="-1" />
<kerning first="86" second="246" amount="-1" />
<kerning first="86" second="245" amount="-1" />
<kerning first="86" second="198" amount="-1" />
<kerning first="86" second="230" amount="-1" />
<kerning first="86" second="248" amount="-1" />
<kerning first="86" second="192" amount="-1" />
<kerning first="86" second="195" amount="-1" />
<kerning first="89" second="227" amount="-1" />
<kerning first="86" second="194" amount="-1" />
<kerning first="86" second="193" amount="-1" />
<kerning first="89" second="228" amount="-1" />
<kerning first="89" second="226" amount="-1" />
<kerning first="89" second="224" amount="-1" />
<kerning first="89" second="225" amount="-1" />
<kerning first="89" second="197" amount="-1" />
<kerning first="89" second="196" amount="-1" />
<kerning first="89" second="122" amount="-1" />
<kerning first="89" second="120" amount="-1" />
<kerning first="89" second="117" amount="-1" />
<kerning first="89" second="115" amount="-1" />
<kerning first="89" second="114" amount="-1" />
<kerning first="89" second="113" amount="-1" />
<kerning first="89" second="112" amount="-1" />
<kerning first="89" second="111" amount="-1" />
<kerning first="89" second="110" amount="-1" />
<kerning first="89" second="109" amount="-1" />
<kerning first="89" second="103" amount="-1" />
<kerning first="89" second="101" amount="-1" />
<kerning first="89" second="100" amount="-1" />
<kerning first="89" second="99" amount="-1" />
<kerning first="89" second="97" amount="-1" />
<kerning first="89" second="65" amount="-1" />
</kernings>
</font>
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

@@ -1,55 +0,0 @@
# AngelCode Bitmap Font Generator configuration file
fileVersion=1
# font settings
fontName=Kenney Rocket Square
fontFile=
charSet=0
fontSize=32
aa=1
scaleH=100
useSmoothing=0
isBold=0
isItalic=0
useUnicode=1
disableBoxChars=1
outputInvalidCharGlyph=0
dontIncludeKerningPairs=0
useHinting=1
renderFromOutline=0
useClearType=0
# character alignment
paddingDown=0
paddingUp=0
paddingRight=0
paddingLeft=0
spacingHoriz=1
spacingVert=1
useFixedHeight=0
forceZero=0
# output file
outWidth=256
outHeight=256
outBitDepth=32
fontDescFormat=1
fourChnlPacked=0
textureFormat=png
textureCompression=0
alphaChnl=0
redChnl=4
greenChnl=4
blueChnl=4
invA=0
invR=0
invG=0
invB=0
# outline
outlineThickness=1
# selected chars
chars=32-126
# imported icon images
@@ -1,105 +0,0 @@
<?xml version="1.0"?>
<font>
<info face="Kenney Rocket Square" size="32" bold="0" italic="0" charset="" unicode="1" stretchH="100" smooth="0" aa="1" padding="0,0,0,0" spacing="1,1" outline="1"/>
<common lineHeight="32" base="26" scaleW="256" scaleH="256" pages="1" packed="0" alphaChnl="0" redChnl="4" greenChnl="4" blueChnl="4"/>
<pages>
<page id="0" file="kenney-rocket-square_0.png" />
</pages>
<chars count="95">
<char id="32" x="64" y="155" width="5" height="3" xoffset="-2" yoffset="30" xadvance="10" page="0" chnl="15" />
<char id="33" x="247" y="76" width="5" height="18" xoffset="-1" yoffset="9" xadvance="6" page="0" chnl="15" />
<char id="34" x="228" y="133" width="12" height="8" xoffset="-1" yoffset="9" xadvance="13" page="0" chnl="15" />
<char id="35" x="191" y="0" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="36" x="0" y="0" width="25" height="25" xoffset="-1" yoffset="5" xadvance="26" page="0" chnl="15" />
<char id="37" x="234" y="19" width="18" height="18" xoffset="-1" yoffset="9" xadvance="19" page="0" chnl="15" />
<char id="38" x="84" y="0" width="28" height="18" xoffset="-1" yoffset="9" xadvance="29" page="0" chnl="15" />
<char id="39" x="248" y="133" width="5" height="8" xoffset="-1" yoffset="9" xadvance="6" page="0" chnl="15" />
<char id="40" x="104" y="133" width="9" height="18" xoffset="-1" yoffset="9" xadvance="10" page="0" chnl="15" />
<char id="41" x="114" y="133" width="9" height="18" xoffset="-1" yoffset="9" xadvance="10" page="0" chnl="15" />
<char id="42" x="144" y="133" width="12" height="15" xoffset="-1" yoffset="9" xadvance="13" page="0" chnl="15" />
<char id="43" x="113" y="0" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="44" x="0" y="159" width="5" height="8" xoffset="-1" yoffset="22" xadvance="6" page="0" chnl="15" />
<char id="45" x="6" y="159" width="25" height="6" xoffset="-1" yoffset="15" xadvance="26" page="0" chnl="15" />
<char id="46" x="58" y="155" width="5" height="5" xoffset="-1" yoffset="22" xadvance="6" page="0" chnl="15" />
<char id="47" x="234" y="38" width="18" height="18" xoffset="-1" yoffset="9" xadvance="19" page="0" chnl="15" />
<char id="48" x="0" y="45" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="49" x="26" y="41" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="50" x="52" y="41" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="51" x="78" y="41" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="52" x="104" y="38" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="53" x="130" y="38" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="54" x="104" y="19" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="55" x="182" y="38" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="56" x="208" y="38" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="57" x="0" y="64" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="58" x="247" y="95" width="5" height="18" xoffset="-1" yoffset="9" xadvance="6" page="0" chnl="15" />
<char id="59" x="78" y="0" width="5" height="21" xoffset="-1" yoffset="9" xadvance="6" page="0" chnl="15" />
<char id="60" x="243" y="0" width="12" height="18" xoffset="-1" yoffset="9" xadvance="13" page="0" chnl="15" />
<char id="61" x="157" y="133" width="25" height="12" xoffset="-1" yoffset="12" xadvance="26" page="0" chnl="15" />
<char id="62" x="234" y="114" width="12" height="18" xoffset="-1" yoffset="9" xadvance="13" page="0" chnl="15" />
<char id="63" x="104" y="57" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="64" x="130" y="57" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="65" x="156" y="57" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="66" x="182" y="57" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="67" x="208" y="57" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="68" x="0" y="83" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="69" x="26" y="79" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="70" x="52" y="79" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="71" x="78" y="79" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="72" x="104" y="76" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="73" x="234" y="95" width="12" height="18" xoffset="-1" yoffset="9" xadvance="13" page="0" chnl="15" />
<char id="74" x="130" y="76" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="75" x="156" y="76" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="76" x="182" y="76" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="77" x="208" y="76" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="78" x="0" y="102" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="79" x="26" y="98" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="80" x="52" y="98" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="81" x="52" y="0" width="25" height="21" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="82" x="78" y="98" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="83" x="104" y="95" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="84" x="130" y="95" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="85" x="156" y="95" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="86" x="182" y="95" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="87" x="208" y="95" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="88" x="0" y="121" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="89" x="26" y="117" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="90" x="52" y="117" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="91" x="124" y="133" width="9" height="18" xoffset="-1" yoffset="9" xadvance="10" page="0" chnl="15" />
<char id="92" x="234" y="57" width="18" height="18" xoffset="-1" yoffset="9" xadvance="19" page="0" chnl="15" />
<char id="93" x="134" y="133" width="9" height="18" xoffset="-1" yoffset="9" xadvance="10" page="0" chnl="15" />
<char id="94" x="183" y="133" width="18" height="12" xoffset="-1" yoffset="9" xadvance="19" page="0" chnl="15" />
<char id="95" x="32" y="155" width="25" height="5" xoffset="-1" yoffset="22" xadvance="26" page="0" chnl="15" />
<char id="96" x="241" y="133" width="6" height="8" xoffset="18" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="97" x="78" y="117" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="98" x="104" y="114" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="99" x="130" y="114" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="100" x="156" y="114" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="101" x="182" y="114" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="102" x="208" y="114" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="103" x="0" y="140" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="104" x="26" y="136" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="105" x="234" y="76" width="12" height="18" xoffset="-1" yoffset="9" xadvance="13" page="0" chnl="15" />
<char id="106" x="52" y="136" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="107" x="139" y="0" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="108" x="165" y="0" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="109" x="217" y="0" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="110" x="0" y="26" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="111" x="26" y="22" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="112" x="52" y="22" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="113" x="26" y="0" width="25" height="21" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="114" x="78" y="22" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="115" x="130" y="19" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="116" x="156" y="19" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="117" x="182" y="19" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="118" x="208" y="19" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="119" x="156" y="38" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="120" x="26" y="60" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="121" x="52" y="60" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="122" x="78" y="60" width="25" height="18" xoffset="-1" yoffset="9" xadvance="26" page="0" chnl="15" />
<char id="123" x="78" y="136" width="12" height="18" xoffset="-1" yoffset="9" xadvance="13" page="0" chnl="15" />
<char id="124" x="247" y="114" width="5" height="18" xoffset="-1" yoffset="9" xadvance="6" page="0" chnl="15" />
<char id="125" x="91" y="136" width="12" height="18" xoffset="-1" yoffset="9" xadvance="13" page="0" chnl="15" />
<char id="126" x="202" y="133" width="25" height="9" xoffset="-1" yoffset="12" xadvance="26" page="0" chnl="15" />
</chars>
</font>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

+6 -12
View File
@@ -1,9 +1,8 @@
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using MonoGame.Extended;
using MonoGame.Extended.BitmapFonts;
using MonoGame.Extended.Entities;
using Sandbox.Components;
using Sandbox.Systems;
namespace Sandbox
@@ -24,20 +23,15 @@ namespace Sandbox
protected override void LoadContent()
{
var font = Content.Load<BitmapFont>("Sensation");
_spriteBatch = new SpriteBatch(GraphicsDevice);
_world = new WorldBuilder()
.AddSystem(new RenderSystem(GraphicsDevice))
.AddSystem(new RainfallSystem())
.AddSystem(new ExpirySystem())
.AddSystem(new RenderSystem(GraphicsDevice))
.AddSystem(new HudSystem(GraphicsDevice, font))
.Build();
var random = new FastRandom();
for(var i = 0; i < 2000; i++)
{
var entity = _world.CreateEntity();
entity.Attach(new Transform2(random.NextSingle(0, 800), random.NextSingle(-480, 480)));
entity.Attach(new Raindrop { Velocity = new Vector2(random.Next(-3, 3), random.Next(-10, 10)) });
}
}
protected override void UnloadContent()
@@ -0,0 +1,38 @@
using Microsoft.Xna.Framework;
using MonoGame.Extended;
using MonoGame.Extended.Entities;
using MonoGame.Extended.Entities.Systems;
using Sandbox.Components;
namespace Sandbox.Systems
{
public class ExpirySystem : EntityProcessingSystem
{
private ComponentMapper<Expiry> _expiryMapper;
public ExpirySystem()
: base(Aspect.All(typeof(Expiry)))
{
}
public override void Initialize(IComponentMapperService mapperService)
{
_expiryMapper = mapperService.GetMapper<Expiry>();
}
public override void Process(GameTime gameTime, int entityId)
{
var expiry = _expiryMapper.Get(entityId);
expiry.TimeRemaining -= gameTime.GetElapsedSeconds();
if (expiry.TimeRemaining <= 0)
{
// TODO: We shouldn't need to delete the components ourselves!
_expiryMapper.Delete(entityId);
DestroyEntity(entityId);
}
}
}
}
+39
View File
@@ -0,0 +1,39 @@
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using MonoGame.Extended;
using MonoGame.Extended.BitmapFonts;
using MonoGame.Extended.Entities;
using MonoGame.Extended.Entities.Systems;
namespace Sandbox.Systems
{
public class HudSystem : IDrawSystem
{
private readonly BitmapFont _font;
private readonly SpriteBatch _spriteBatch;
private World _world;
public HudSystem(GraphicsDevice graphicsDevice, BitmapFont font)
{
_font = font;
_spriteBatch = new SpriteBatch(graphicsDevice);
}
public void Dispose()
{
}
public void Initialize(World world)
{
_world = world;
}
public void Draw(GameTime gameTime)
{
_spriteBatch.Begin();
_spriteBatch.FillRectangle(0, 0, 800, 20, Color.Black * 0.4f);
_spriteBatch.DrawString(_font, $"entities: {_world.EntityCount}", Vector2.One, Color.White);
_spriteBatch.End();
}
}
}
+42 -6
View File
@@ -1,5 +1,6 @@
using Microsoft.Xna.Framework;
using MonoGame.Extended;
using MonoGame.Extended.Collections;
using MonoGame.Extended.Entities;
using MonoGame.Extended.Entities.Systems;
using Sandbox.Components;
@@ -8,8 +9,14 @@ namespace Sandbox.Systems
{
public class RainfallSystem : EntityUpdateSystem
{
private readonly FastRandom _random = new FastRandom();
private ComponentMapper<Transform2> _transformMapper;
private ComponentMapper<Raindrop> _raindropMapper;
private ComponentMapper<Expiry> _expiryMapper;
private const float _minSpawnDelay = 0.0f;
private const float _maxSpawnDelay = 0.05f;
private float _spawnDelay = _maxSpawnDelay;
public RainfallSystem()
: base(Aspect.All(typeof(Transform2), typeof(Raindrop)))
@@ -20,23 +27,52 @@ namespace Sandbox.Systems
{
_transformMapper = mapperService.GetMapper<Transform2>();
_raindropMapper = mapperService.GetMapper<Raindrop>();
_expiryMapper = mapperService.GetMapper<Expiry>();
}
public override void Update(GameTime gameTime)
{
var elapsedSeconds = gameTime.GetElapsedSeconds();
foreach (var entity in ActiveEntities)
foreach (var entityId in ActiveEntities)
{
var transform = _transformMapper.Get(entity);
var raindrop = _raindropMapper.Get(entity);
var transform = _transformMapper.Get(entityId);
var raindrop = _raindropMapper.Get(entityId);
raindrop.Velocity += new Vector2(0, 10) * elapsedSeconds;
raindrop.Velocity += new Vector2(0, 500) * elapsedSeconds;
transform.Position += raindrop.Velocity * elapsedSeconds;
if (transform.Position.Y >= 480)
DestroyEntity(entity);
if (transform.Position.Y >= 480 && !_expiryMapper.Has(entityId))
{
for (var i = 0; i < 3; i++)
{
var velocity = new Vector2(_random.NextSingle(-100, 100), -raindrop.Velocity.Y * _random.NextSingle(0.1f, 0.2f));
var id = CreateRaindrop(transform.Position.SetY(479), velocity, (i + 1) * 0.5f);
_expiryMapper.Put(id, new Expiry(1f));
}
DestroyEntity(entityId);
}
}
_spawnDelay -= gameTime.GetElapsedSeconds();
if (_spawnDelay <= 0)
{
var position = new Vector2(_random.NextSingle(0, 800), _random.NextSingle(-240, -480));
CreateRaindrop(position);
_spawnDelay = _random.NextSingle(_minSpawnDelay, _maxSpawnDelay);
}
}
private int CreateRaindrop(Vector2 position, Vector2 velocity = default(Vector2), float size = 3)
{
// TODO: entity templates
// TODO: component pooling
var entity = CreateEntity();
entity.Attach(new Transform2(position));
entity.Attach(new Raindrop { Velocity = velocity, Size = size });
return entity.Id;
}
}
}
+8 -3
View File
@@ -3,6 +3,7 @@ using Microsoft.Xna.Framework.Graphics;
using MonoGame.Extended;
using MonoGame.Extended.Entities;
using MonoGame.Extended.Entities.Systems;
using Sandbox.Components;
namespace Sandbox.Systems
{
@@ -10,8 +11,10 @@ namespace Sandbox.Systems
{
private readonly GraphicsDevice _graphicsDevice;
private readonly SpriteBatch _spriteBatch;
private ComponentMapper<Transform2> _transformMapper;
private ComponentMapper<Transform2> _transformMapper;
private ComponentMapper<Raindrop> _raindropMapper;
public RenderSystem(GraphicsDevice graphicsDevice)
: base(Aspect.All(typeof(Transform2)))
{
@@ -22,18 +25,20 @@ namespace Sandbox.Systems
public override void Initialize(IComponentMapperService mapperService)
{
_transformMapper = mapperService.GetMapper<Transform2>();
_raindropMapper = mapperService.GetMapper<Raindrop>();
}
public override void Draw(GameTime gameTime)
{
_graphicsDevice.Clear(Color.Black);
_graphicsDevice.Clear(Color.DarkBlue * 0.2f);
_spriteBatch.Begin(samplerState: SamplerState.PointClamp);
foreach (var entity in ActiveEntities)
{
var transform = _transformMapper.Get(entity);
var raindrop = _raindropMapper.Get(entity);
_spriteBatch.FillRectangle(transform.Position, new Size2(3, 3), Color.SandyBrown);
_spriteBatch.FillRectangle(transform.Position, new Size2(raindrop.Size, raindrop.Size), Color.LightBlue);
}
_spriteBatch.End();
@@ -1,18 +1,8 @@
using System;
using System.Collections;
using System.Collections.Specialized;
namespace MonoGame.Extended.Entities
{
public static class BitVector32Extensions
{
public static bool IsEmpty(this BitVector32 bitVector)
{
return bitVector.Data == 0;
}
}
public static class BitArrayExtensions
{
public static bool IsEmpty(this BitArray bitArray)
@@ -36,6 +36,7 @@ namespace MonoGame.Extended.Entities
private ComponentMapper<T> CreateMapperForType<T>(int componentTypeId)
where T : class
{
// TODO: We can probably do better than this without a huge performance penalty by creating our own bit vector that grows after the first 32 bits.
if (componentTypeId >= 32)
throw new InvalidOperationException("Component type limit exceeded. We currently only allow 32 component types for performance reasons.");
+1 -1
View File
@@ -43,7 +43,7 @@ namespace MonoGame.Extended.Entities
public void Destory()
{
_entityManager.DestroyEntity(Id);
_entityManager.Destroy(Id);
}
public bool Equals(Entity other)
@@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using Microsoft.Xna.Framework;
using MonoGame.Extended.Collections;
using MonoGame.Extended.Entities.Systems;
@@ -19,8 +21,7 @@ namespace MonoGame.Extended.Entities
_entityToComponentBits = new Bag<BitVector32>(_defaultBagSize);
_componentManager.ComponentsChanged += OnComponentsChanged;
Entities = new Bag<Entity>(_defaultBagSize);
_entityBag = new Bag<Entity>(_defaultBagSize);
_entityPool = new Pool<Entity>(() => new Entity(_nextId++, this, _componentManager), _defaultBagSize);
}
@@ -35,8 +36,11 @@ namespace MonoGame.Extended.Entities
private readonly ComponentManager _componentManager;
private int _nextId;
public Bag<Entity> Entities { get; }
public int Capacity => _entityBag.Capacity;
public IEnumerable<int> Entities => _entityBag.Where(e => e != null).Select(e => e.Id);
public int ActiveCount { get; private set; }
private readonly Bag<Entity> _entityBag;
private readonly Pool<Entity> _entityPool;
private readonly Bag<int> _addedEntities;
private readonly Bag<int> _removedEntities;
@@ -47,29 +51,34 @@ namespace MonoGame.Extended.Entities
public event Action<int> EntityRemoved;
public event Action<int> EntityChanged;
public Entity CreateEntity()
public Entity Create()
{
var entity = _entityPool.Obtain();
var id = entity.Id;
Entities[id] = entity;
_entityBag[id] = entity;
_addedEntities.Add(id);
_entityToComponentBits[id] = new BitVector32(0);
return entity;
}
public void DestroyEntity(int entityId)
public void Destroy(int entityId)
{
_removedEntities.Add(entityId);
_entityToComponentBits[entityId] = default(BitVector32);
_entityPool.Free(Entities[entityId]);
Entities[entityId] = null;
_entityPool.Free(_entityBag[entityId]);
_entityBag[entityId] = null;
}
public void DestroyEntity(Entity entity)
public void Destroy(Entity entity)
{
DestroyEntity(entity.Id);
Destroy(entity.Id);
}
public Entity Get(int entityId)
{
return _entityBag[entityId];
}
public BitVector32 GetComponentBits(int entityId)
{
return _entityToComponentBits[entityId];
@@ -85,6 +94,7 @@ namespace MonoGame.Extended.Entities
foreach (var entity in _addedEntities)
{
_entityToComponentBits[entity] = _componentManager.CreateComponentBits(entity);
ActiveCount++;
EntityAdded?.Invoke(entity);
}
@@ -97,6 +107,7 @@ namespace MonoGame.Extended.Entities
foreach (var entity in _removedEntities)
{
_entityToComponentBits[entity] = default(BitVector32);
ActiveCount--;
EntityRemoved?.Invoke(entity);
}
@@ -15,7 +15,7 @@ namespace MonoGame.Extended.Entities
{
_entityManager = entityManager;
_aspect = aspect;
_activeEntities = new Bag<int>(entityManager.Entities.Capacity);
_activeEntities = new Bag<int>(entityManager.Capacity);
_rebuildActives = true;
_entityManager.EntityAdded += OnEntityAdded;
@@ -53,9 +53,8 @@ namespace MonoGame.Extended.Entities
{
_activeEntities.Clear();
// TODO: This doesn't really feel like the right place to be doing this.
foreach (var entity in _entityManager.Entities.Where(e => e != null))
OnEntityAdded(entity.Id);
foreach (var entity in _entityManager.Entities)
OnEntityAdded(entity);
_rebuildActives = false;
}
+8 -7
View File
@@ -1,4 +1,5 @@
using Microsoft.Xna.Framework;
using System.Linq;
using Microsoft.Xna.Framework;
using MonoGame.Extended.Collections;
using MonoGame.Extended.Entities.Systems;
@@ -31,8 +32,8 @@ namespace MonoGame.Extended.Entities
internal EntityManager EntityManager { get; }
internal ComponentManager ComponentManager { get; }
public Bag<Entity> AllEntities => EntityManager.Entities;
public int EntityCount => EntityManager.ActiveCount;
internal void RegisterSystem(ISystem system)
{
@@ -48,22 +49,22 @@ namespace MonoGame.Extended.Entities
public Entity GetEntity(int entityId)
{
return AllEntities[entityId];
return EntityManager.Get(entityId);
}
public Entity CreateEntity()
{
return EntityManager.CreateEntity();
return EntityManager.Create();
}
public void DestroyEntity(int entityId)
{
EntityManager.DestroyEntity(entityId);
EntityManager.Destroy(entityId);
}
public void DestroyEntity(Entity entity)
{
EntityManager.DestroyEntity(entity);
EntityManager.Destroy(entity);
}
public override void Update(GameTime gameTime)
+13 -24
View File
@@ -6,16 +6,17 @@ namespace MonoGame.Extended
{
public static class Vector2Extensions
{
public static Vector2 Translate(this Vector2 vector2, float x, float y)
{
return new Vector2(vector2.X + x, vector2.Y + y);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static Vector2 SetX(this Vector2 vector2, float x) => new Vector2(x, vector2.Y);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static Size2 ToSize(this Vector2 value)
{
return new Size2(value.X, value.Y);
}
public static Vector2 SetY(this Vector2 vector2, float y) => new Vector2(vector2.X, y);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static Vector2 Translate(this Vector2 vector2, float x, float y) => new Vector2(vector2.X + x, vector2.Y + y);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static Size2 ToSize(this Vector2 value) => new Size2(value.X, value.Y);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static Size2 ToAbsoluteSize(this Vector2 value)
@@ -72,16 +73,10 @@ namespace MonoGame.Extended
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static Vector2 PerpendicularClockwise(this Vector2 value)
{
return new Vector2(value.Y, -value.X);
}
public static Vector2 PerpendicularClockwise(this Vector2 value) => new Vector2(value.Y, -value.X);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static Vector2 PerpendicularCounterClockwise(this Vector2 value)
{
return new Vector2(-value.Y, value.X);
}
public static Vector2 PerpendicularCounterClockwise(this Vector2 value) => new Vector2(-value.Y, value.X);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static Vector2 Truncate(this Vector2 value, float maxLength)
@@ -93,16 +88,10 @@ namespace MonoGame.Extended
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsNaN(this Vector2 value)
{
return float.IsNaN(value.X) || float.IsNaN(value.Y);
}
public static bool IsNaN(this Vector2 value) => float.IsNaN(value.X) || float.IsNaN(value.Y);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float ToAngle(this Vector2 value)
{
return (float) Math.Atan2(value.X, -value.Y);
}
public static float ToAngle(this Vector2 value) => (float) Math.Atan2(value.X, -value.Y);
/// <summary>
/// Calculates the dot product of two vectors. If the two vectors are unit vectors, the dot product returns a floating