mirror of
https://github.com/AlexMacocian/MonoGame.Extended.git
synced 2026-07-25 08:22:15 +00:00
created raindrops demo to test new ecs
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 |
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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.");
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user