Fixed particle system crash
This commit is contained in:
parent
2c396f1e34
commit
75eeb44aa0
2
TODO.md
2
TODO.md
|
@ -7,9 +7,7 @@ Phaser 3 migration
|
|||
* Pause the game when the window isn't focused (except in headless)
|
||||
* Fit the game in window size
|
||||
* Fix top-right messages positions
|
||||
* Make the AI-thinking loader work again
|
||||
* Fix the character sheet layout
|
||||
* Fix the crash in gatling animation
|
||||
* Fix valuebar requiring to be in root display list
|
||||
|
||||
Menu/settings/saves
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 7.6 KiB |
|
@ -0,0 +1,251 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="128"
|
||||
height="128"
|
||||
viewBox="0 0 128 128"
|
||||
version="1.1"
|
||||
id="svg6044"
|
||||
inkscape:version="0.92.3 (3ce5693, 2018-03-11)"
|
||||
sodipodi:docname="awaiter.svg"
|
||||
inkscape:export-filename="/home/michael/workspace/spacetac/data/stage1/image/common/awaiter.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
style="enable-background:new">
|
||||
<defs
|
||||
id="defs6038">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient4299">
|
||||
<stop
|
||||
style="stop-color:#c09058;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4295" />
|
||||
<stop
|
||||
id="stop4305"
|
||||
offset="0.66959655"
|
||||
style="stop-color:#c09058;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop4303"
|
||||
offset="0.73259044"
|
||||
style="stop-color:#e9c79f;stop-opacity:1" />
|
||||
<stop
|
||||
style="stop-color:#c09058;stop-opacity:1;"
|
||||
offset="0.78740031"
|
||||
id="stop4307" />
|
||||
<stop
|
||||
style="stop-color:#c09058;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop4297" />
|
||||
</linearGradient>
|
||||
<mask
|
||||
maskUnits="userSpaceOnUse"
|
||||
id="mask7281">
|
||||
<g
|
||||
id="g7285"
|
||||
transform="matrix(0.73124794,0,0,0.99999999,79.083976,1.2221143e-7)">
|
||||
<path
|
||||
style="fill:#fffafa;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 680.67969,216.32031 V 749.67969 H 1543.6758 V 216.32031 Z m 257.48633,23.42774 174.01168,220.39453 174.0118,-220.39453 27.0703,11.42773 -174.0118,220.39649 h 348.0215 v 22.85546 H 1139.248 l 174.0118,220.39649 -27.0703,11.42773 L 1112.1777,505.85742 938.16602,726.25195 911.0957,714.82422 1085.1074,494.42773 H 737.08594 V 471.57227 H 1085.1074 L 911.0957,251.17578 Z"
|
||||
transform="matrix(0.26458334,0,0,0.26458334,0,11.249983)"
|
||||
id="path7283"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath7292">
|
||||
<path
|
||||
style="fill:#ffff00;fill-rule:evenodd;stroke:#000000;stroke-width:0.36058816px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
inkscape:transform-center-x="24.888019"
|
||||
d="m 254.34398,139.04371 149.32817,-46.261049 3e-5,92.522079 z"
|
||||
id="path7294"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:transform-center-y="-2.5000005e-06" />
|
||||
</clipPath>
|
||||
<mask
|
||||
maskUnits="userSpaceOnUse"
|
||||
id="mask8954">
|
||||
<path
|
||||
style="fill:#ececec;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M -2.5351562,832.71482 V 1093.7851 H 258.53516 V 832.71482 Z M 122,835.39256 h 12 V 952.8574 l 101.72852,-58.73242 6,10.39258 L 140,963.24998 l 101.72852,58.73242 -6,10.3926 L 134,973.64256 V 1091.1074 H 122 V 973.64256 l -101.728516,58.73244 -6,-10.3926 L 116,963.24998 14.271484,904.51756 l 6,-10.39258 L 122,952.8574 Z"
|
||||
id="path8956"
|
||||
inkscape:connector-curvature="0" />
|
||||
</mask>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath8964">
|
||||
<path
|
||||
style="fill:#ffff00;fill-rule:evenodd;stroke:#000000;stroke-width:1.18050802px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
inkscape:transform-center-x="24.263684"
|
||||
d="m 128.00001,963.24994 145.58209,-84.05186 10e-6,168.10372 z"
|
||||
id="path8966"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:transform-center-y="-1e-05" />
|
||||
</clipPath>
|
||||
<filter
|
||||
style="color-interpolation-filters:sRGB"
|
||||
inkscape:label="Color Shift"
|
||||
id="filter11909">
|
||||
<feColorMatrix
|
||||
type="hueRotate"
|
||||
values="164.59999999999999"
|
||||
result="color1"
|
||||
id="feColorMatrix11905" />
|
||||
<feColorMatrix
|
||||
type="saturate"
|
||||
values="0.70999999999999996"
|
||||
result="color2"
|
||||
id="feColorMatrix11907" />
|
||||
</filter>
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
style="color-interpolation-filters:sRGB"
|
||||
id="filter4280"
|
||||
x="-0.1043688"
|
||||
width="1.2087376"
|
||||
y="-0.18869544"
|
||||
height="1.3773909">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="3.8750023"
|
||||
id="feGaussianBlur4282" />
|
||||
</filter>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4299"
|
||||
id="linearGradient4301"
|
||||
x1="65.841492"
|
||||
y1="1000.924"
|
||||
x2="66.217918"
|
||||
y2="1067.1171"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4299"
|
||||
id="linearGradient4323"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="65.841492"
|
||||
y1="1000.924"
|
||||
x2="66.217918"
|
||||
y2="1067.1171" />
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
style="color-interpolation-filters:sRGB"
|
||||
id="filter4341"
|
||||
x="-0.28404511"
|
||||
width="1.5680902"
|
||||
y="-0.10069418"
|
||||
height="1.2013884">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="4.6698375"
|
||||
id="feGaussianBlur4343" />
|
||||
</filter>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="5.6"
|
||||
inkscape:cx="63.943429"
|
||||
inkscape:cy="47.118486"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g4293"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
showborder="true"
|
||||
inkscape:showpageshadow="false"
|
||||
showguides="false"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:snap-bbox-midpoints="true"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-object-midpoints="true"
|
||||
inkscape:snap-global="false"
|
||||
inkscape:snap-others="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1037"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="20"
|
||||
inkscape:window-maximized="0">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid11797"
|
||||
spacingx="64"
|
||||
spacingy="64"
|
||||
dotted="false"
|
||||
color="#3f3fff"
|
||||
opacity="0.20392157"
|
||||
empcolor="#3f3fff"
|
||||
empopacity="0.34509804"
|
||||
empspacing="2" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata6041">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Calque 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-963.24998)">
|
||||
<g
|
||||
id="g4293"
|
||||
inkscape:export-filename="/home/michael/workspace/spacetac/data/stage1/image/common/awaiter.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
transform="rotate(90,67.88396,1031.1339)">
|
||||
<path
|
||||
style="opacity:0.34599998;fill:url(#linearGradient4301);fill-opacity:1;stroke:none;stroke-width:6;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter4280)"
|
||||
d="m 19.446431,1010.375 h 89.107139 l -13.035716,49.2858 H 32.482145 Z"
|
||||
id="path4258"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc"
|
||||
transform="matrix(1.1096046,0,0,0.8883255,-7.0146953,112.81725)" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="rect4255"
|
||||
d="m 19.046721,1013.2403 h 89.906559 l -13.152665,24.0038 H 32.199384 Z"
|
||||
style="opacity:1;fill:#ffd09a;fill-opacity:1;stroke:none;stroke-width:5.72441339;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4284"
|
||||
d="m 34.718151,1033.6347 c 19.521233,0 39.042465,0 58.563698,0 3.065671,-5.595 6.131341,-11.19 9.197011,-16.785 -25.652573,0 -51.305147,0 -76.957721,0 3.065671,5.595 6.131341,11.19 9.197012,16.785 z"
|
||||
style="opacity:1;fill:#ffdfba;fill-opacity:1;stroke:#000000;stroke-width:2.8622067;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.22985074" />
|
||||
<path
|
||||
transform="matrix(0.39332006,0,0,0.31488355,38.470373,744.91136)"
|
||||
sodipodi:nodetypes="ccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4321"
|
||||
d="m 19.446431,1010.375 h 89.107139 l -13.035716,49.2858 H 32.482145 Z"
|
||||
style="opacity:0.46700003;fill:url(#linearGradient4323);fill-opacity:1;stroke:none;stroke-width:6;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter4341)" />
|
||||
<path
|
||||
style="opacity:1;fill:#775227;fill-opacity:1;stroke:#000000;stroke-width:1.80977798;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.22985074"
|
||||
d="m 49.787984,1037.2441 h 28.424033 l -4.158226,-7.5888 H 53.946209 Z"
|
||||
id="path4345"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 9.5 KiB |
|
@ -1,329 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="512"
|
||||
height="512"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg6044"
|
||||
inkscape:version="0.92.1 r15371"
|
||||
sodipodi:docname="loader.svg"
|
||||
inkscape:export-filename="/home/michael/workspace/perso/spacetac/out/assets/images/common/waiting.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
style="enable-background:new"
|
||||
enable-background="new">
|
||||
<defs
|
||||
id="defs6038">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient10408">
|
||||
<stop
|
||||
style="stop-color:#519aed;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop10404" />
|
||||
<stop
|
||||
style="stop-color:#96bfed;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop10406" />
|
||||
</linearGradient>
|
||||
<mask
|
||||
maskUnits="userSpaceOnUse"
|
||||
id="mask7281">
|
||||
<g
|
||||
id="g7285"
|
||||
transform="matrix(0.73124794,0,0,0.99999999,79.083976,1.2221143e-7)">
|
||||
<path
|
||||
style="fill:#fffafa;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 680.67969,216.32031 V 749.67969 H 1543.6758 V 216.32031 Z m 257.48633,23.42774 174.01168,220.39453 174.0118,-220.39453 27.0703,11.42773 -174.0118,220.39649 h 348.0215 v 22.85546 H 1139.248 l 174.0118,220.39649 -27.0703,11.42773 L 1112.1777,505.85742 938.16602,726.25195 911.0957,714.82422 1085.1074,494.42773 H 737.08594 V 471.57227 H 1085.1074 L 911.0957,251.17578 Z"
|
||||
transform="matrix(0.26458334,0,0,0.26458334,0,11.249983)"
|
||||
id="path7283"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath7292">
|
||||
<path
|
||||
style="fill:#ffff00;fill-rule:evenodd;stroke:#000000;stroke-width:0.36058816px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
inkscape:transform-center-x="24.888019"
|
||||
d="m 254.34398,139.04371 149.32817,-46.261049 3e-5,92.522079 z"
|
||||
id="path7294"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:transform-center-y="-2.5000005e-06" />
|
||||
</clipPath>
|
||||
<mask
|
||||
maskUnits="userSpaceOnUse"
|
||||
id="mask8954">
|
||||
<path
|
||||
style="fill:#ececec;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M -2.5351562,832.71482 V 1093.7851 H 258.53516 V 832.71482 Z M 122,835.39256 h 12 V 952.8574 l 101.72852,-58.73242 6,10.39258 L 140,963.24998 l 101.72852,58.73242 -6,10.3926 L 134,973.64256 V 1091.1074 H 122 V 973.64256 l -101.728516,58.73244 -6,-10.3926 L 116,963.24998 14.271484,904.51756 l 6,-10.39258 L 122,952.8574 Z"
|
||||
id="path8956"
|
||||
inkscape:connector-curvature="0" />
|
||||
</mask>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath8964">
|
||||
<path
|
||||
style="fill:#ffff00;fill-rule:evenodd;stroke:#000000;stroke-width:1.18050802px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
inkscape:transform-center-x="24.263684"
|
||||
d="m 128.00001,963.24994 145.58209,-84.05186 10e-6,168.10372 z"
|
||||
id="path8966"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:transform-center-y="-1e-05" />
|
||||
</clipPath>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient10408"
|
||||
id="linearGradient10410"
|
||||
x1="128.00002"
|
||||
y1="963.24994"
|
||||
x2="248.5"
|
||||
y2="963.24994"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
style="color-interpolation-filters:sRGB"
|
||||
id="filter11817"
|
||||
x="-0.0276"
|
||||
width="1.0552"
|
||||
y="-0.0276"
|
||||
height="1.0552">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="2.7025"
|
||||
id="feGaussianBlur11819" />
|
||||
</filter>
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
style="color-interpolation-filters:sRGB"
|
||||
id="filter11823"
|
||||
x="-0.0276"
|
||||
width="1.0552"
|
||||
y="-0.0276"
|
||||
height="1.0552">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="2.7025"
|
||||
id="feGaussianBlur11825" />
|
||||
</filter>
|
||||
<filter
|
||||
style="color-interpolation-filters:sRGB;"
|
||||
inkscape:label="Color Shift"
|
||||
id="filter11909">
|
||||
<feColorMatrix
|
||||
type="hueRotate"
|
||||
values="164.59999999999999"
|
||||
result="color1"
|
||||
id="feColorMatrix11905" />
|
||||
<feColorMatrix
|
||||
type="saturate"
|
||||
values="0.70999999999999996"
|
||||
result="color2"
|
||||
id="feColorMatrix11907" />
|
||||
</filter>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="5.6"
|
||||
inkscape:cx="79.947686"
|
||||
inkscape:cy="445.41071"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
units="px"
|
||||
showborder="true"
|
||||
inkscape:showpageshadow="false"
|
||||
showguides="false"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:snap-bbox-midpoints="true"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-object-midpoints="true"
|
||||
inkscape:snap-global="false"
|
||||
inkscape:snap-others="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid11797"
|
||||
spacingx="64"
|
||||
spacingy="64"
|
||||
dotted="false"
|
||||
color="#3f3fff"
|
||||
opacity="0.20392157"
|
||||
empcolor="#3f3fff"
|
||||
empopacity="0.34509804"
|
||||
empspacing="2" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata6041">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Calque 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-579.24998)">
|
||||
<use
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#g11795"
|
||||
id="use11799"
|
||||
width="100%"
|
||||
height="100%"
|
||||
transform="rotate(60,128,754.10123)" />
|
||||
<use
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#g11795"
|
||||
id="use11801"
|
||||
width="100%"
|
||||
height="100%"
|
||||
transform="rotate(120,192,717.15081)" />
|
||||
<use
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#g11795"
|
||||
id="use11803"
|
||||
width="100%"
|
||||
height="100%"
|
||||
transform="rotate(-180,256,643.24998)" />
|
||||
<use
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#g11795"
|
||||
id="use11805"
|
||||
width="100%"
|
||||
height="100%"
|
||||
transform="rotate(-120,100.95042,707.24998)" />
|
||||
<use
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#g11795"
|
||||
id="use11807"
|
||||
width="100%"
|
||||
height="100%"
|
||||
transform="rotate(-60,238.85125,596.39873)" />
|
||||
<g
|
||||
id="g11795"
|
||||
transform="matrix(0.44754579,0,0,0.44754579,6.9669246,211.99165)"
|
||||
style="filter:url(#filter11909)">
|
||||
<circle
|
||||
r="117.5"
|
||||
cy="963.25"
|
||||
cx="128"
|
||||
id="path8921"
|
||||
style="opacity:1;fill:#2b598e;fill-opacity:0.11914894;fill-rule:evenodd;stroke:#519aed;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.21914894" />
|
||||
<g
|
||||
id="g10418"
|
||||
transform="matrix(0.97065238,-0.18255724,0.18255724,0.97065238,-172.65659,51.993587)"
|
||||
style="opacity:0.25400002;fill:#bbc3cb;fill-opacity:1;stroke:none;filter:url(#filter11823)">
|
||||
<path
|
||||
style="opacity:1;fill:#bbc3cb;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 245.5,963.25 A 117.5,117.5 0 0 1 128,1080.75 117.5,117.5 0 0 1 10.5,963.25 117.5,117.5 0 0 1 128,845.75 117.5,117.5 0 0 1 245.5,963.25 Z"
|
||||
id="path10416"
|
||||
inkscape:connector-curvature="0"
|
||||
clip-path="url(#clipPath8964)" />
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.42300002;fill:#374656;fill-opacity:1;stroke:none;filter:url(#filter11817)"
|
||||
transform="matrix(1.0764834,0,0,1.0764834,-19.283274,-73.315481)"
|
||||
id="g10180">
|
||||
<path
|
||||
clip-path="url(#clipPath8964)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path10178"
|
||||
d="M 245.5,963.25 A 117.5,117.5 0 0 1 128,1080.75 117.5,117.5 0 0 1 10.5,963.25 117.5,117.5 0 0 1 128,845.75 117.5,117.5 0 0 1 245.5,963.25 Z"
|
||||
style="opacity:1;fill:#374656;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g9761">
|
||||
<path
|
||||
style="opacity:1;fill:url(#linearGradient10410);fill-opacity:1;fill-rule:evenodd;stroke:#50739b;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 245.5,963.25 A 117.5,117.5 0 0 1 128,1080.75 117.5,117.5 0 0 1 10.5,963.25 117.5,117.5 0 0 1 128,845.75 117.5,117.5 0 0 1 245.5,963.25 Z"
|
||||
id="circle8958"
|
||||
inkscape:connector-curvature="0"
|
||||
clip-path="url(#clipPath8964)" />
|
||||
</g>
|
||||
<g
|
||||
id="g10088">
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#4081ca;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path8939"
|
||||
sodipodi:sides="6"
|
||||
sodipodi:cx="128"
|
||||
sodipodi:cy="963.25"
|
||||
sodipodi:r1="105.28872"
|
||||
sodipodi:r2="91.182709"
|
||||
sodipodi:arg1="-1.5707963"
|
||||
sodipodi:arg2="-1.0471976"
|
||||
inkscape:flatsided="true"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 128,857.96128 91.18271,52.64436 -10e-6,105.28876 -91.1827,52.6443 -91.182707,-52.6443 3e-6,-105.28876 z"
|
||||
mask="url(#mask8954)" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0.87923253,0,0,0.87923253,15.458236,116.32926)"
|
||||
id="g10414">
|
||||
<path
|
||||
mask="url(#mask8954)"
|
||||
d="m 128,857.96128 91.18271,52.64436 -10e-6,105.28876 -91.1827,52.6443 -91.182707,-52.6443 3e-6,-105.28876 z"
|
||||
inkscape:randomized="0"
|
||||
inkscape:rounded="0"
|
||||
inkscape:flatsided="true"
|
||||
sodipodi:arg2="-1.0471976"
|
||||
sodipodi:arg1="-1.5707963"
|
||||
sodipodi:r2="91.182709"
|
||||
sodipodi:r1="105.28872"
|
||||
sodipodi:cy="963.25"
|
||||
sodipodi:cx="128"
|
||||
sodipodi:sides="6"
|
||||
id="path10412"
|
||||
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#4081ca;stroke-width:3.4120667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
sodipodi:type="star" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0.47449832,0,0,0.47449832,67.264216,506.1895)"
|
||||
id="g10422">
|
||||
<path
|
||||
mask="url(#mask8954)"
|
||||
d="m 128,857.96128 91.18271,52.64436 -10e-6,105.28876 -91.1827,52.6443 -91.182707,-52.6443 3e-6,-105.28876 z"
|
||||
inkscape:randomized="0"
|
||||
inkscape:rounded="0"
|
||||
inkscape:flatsided="true"
|
||||
sodipodi:arg2="-1.0471976"
|
||||
sodipodi:arg1="-1.5707963"
|
||||
sodipodi:r2="91.182709"
|
||||
sodipodi:r1="105.28872"
|
||||
sodipodi:cy="963.25"
|
||||
sodipodi:cx="128"
|
||||
sodipodi:sides="6"
|
||||
id="path10420"
|
||||
style="opacity:0.319;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#4081ca;stroke-width:31.71138763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
sodipodi:type="star" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 12 KiB |
Binary file not shown.
Before Width: | Height: | Size: 78 KiB |
|
@ -55,7 +55,6 @@ module TK.SpaceTac.UI {
|
|||
|
||||
// TODO pack
|
||||
this.loadSheet("common/particles.png", 32);
|
||||
this.loadAnimation("common/waiting.png", 128, 128, 6);
|
||||
}
|
||||
|
||||
if (this.required >= AssetLoadingRange.BATTLE && AssetLoading.loaded < AssetLoadingRange.BATTLE) {
|
||||
|
@ -86,14 +85,5 @@ module TK.SpaceTac.UI {
|
|||
frameHeight: frame_height,
|
||||
});
|
||||
}
|
||||
|
||||
loadAnimation(path: string, frame_width: number, frame_height = frame_width, count: number) {
|
||||
this.load.spritesheet(AssetLoading.getKey(path), "images/" + path, {
|
||||
frameWidth: frame_width,
|
||||
frameHeight: frame_height,
|
||||
startFrame: 0,
|
||||
endFrame: count - 1
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ module TK.SpaceTac.UI {
|
|||
|
||||
// Animations
|
||||
animations!: Animations
|
||||
particles!: ParticleSystem
|
||||
particles!: UIParticles
|
||||
|
||||
// Timing
|
||||
timer!: Timer
|
||||
|
@ -57,7 +57,7 @@ module TK.SpaceTac.UI {
|
|||
this.gameui = <MainUI>this.sys.game;
|
||||
this.timer = new Timer(this.gameui.headless);
|
||||
this.animations = new Animations(this.tweens);
|
||||
this.particles = new ParticleSystem(this);
|
||||
this.particles = new UIParticles(this);
|
||||
this.inputs = new InputManager(this);
|
||||
this.audio = new Audio(this);
|
||||
this.debug = this.gameui.debug;
|
||||
|
|
|
@ -17,7 +17,7 @@ module TK.SpaceTac.UI {
|
|||
power_icons!: UIContainer
|
||||
|
||||
// Indicator of interaction disabled
|
||||
icon_waiting: UIImage
|
||||
icon_waiting: UIAwaiter
|
||||
|
||||
// Current ship, whose actions are displayed
|
||||
ship: Ship | null
|
||||
|
@ -55,9 +55,7 @@ module TK.SpaceTac.UI {
|
|||
builder.image("battle-actionbar-ship", 1735);
|
||||
|
||||
// Waiting icon
|
||||
this.icon_waiting = builder.image("common-waiting", base.width / 2, base.height / 2, true);
|
||||
// FIXME
|
||||
//this.icon_waiting.animations.add("loop").play(9, true);
|
||||
this.icon_waiting = builder.awaiter(base.width / 2, base.height / 2, true, 0.5);
|
||||
|
||||
// Options button
|
||||
builder.button("battle-actionbar-button-menu", 0, 0, () => battleview.showOptions(), "Game options");
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
module TK.SpaceTac.UI {
|
||||
/**
|
||||
* UI component to show a loader animation while waiting for something
|
||||
*/
|
||||
export class UIAwaiter extends Phaser.GameObjects.Container {
|
||||
constructor(view: BaseView, x: number, y: number, visible: boolean) {
|
||||
super(view, x, y);
|
||||
this.setName("awaiter");
|
||||
this.setVisible(visible);
|
||||
|
||||
let manager = new UIParticles(view).createManager("common-awaiter", this);
|
||||
let circle = new Phaser.Geom.Circle(0, 0, 60);
|
||||
manager.createEmitter({
|
||||
angle: { start: 0, end: 360, steps: 6 },
|
||||
alpha: { start: 1, end: 0, ease: "Quad.easeIn" },
|
||||
lifespan: 1200,
|
||||
speed: 5,
|
||||
quantity: 1,
|
||||
scale: { start: 0.9, end: 1, ease: "Quad.easeOut" },
|
||||
frequency: 200,
|
||||
particleClass: FacingAlwaysParticle,
|
||||
emitZone: { type: 'edge', source: circle, quantity: 6 }
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,7 +2,6 @@
|
|||
* Main way to create UI components
|
||||
*/
|
||||
module TK.SpaceTac.UI {
|
||||
export type UIParticles = Phaser.GameObjects.Particles.ParticleEmitterManager
|
||||
export type UIBuilderParent = UIImage | UIContainer
|
||||
|
||||
export type ShaderValue = number | { x: number, y: number }
|
||||
|
@ -217,6 +216,16 @@ module TK.SpaceTac.UI {
|
|||
this.view.particles.emit(config, this.parent instanceof UIContainer ? this.parent : undefined);
|
||||
}
|
||||
|
||||
/**
|
||||
* Animation to await something
|
||||
*/
|
||||
awaiter(x = 0, y = 0, visible = true, scale = 1): UIAwaiter {
|
||||
let result = new UIAwaiter(this.view, x, y, visible);
|
||||
result.setScale(scale);
|
||||
this.add(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the content of an component
|
||||
*
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
module TK.SpaceTac.UI {
|
||||
type Manager = Phaser.GameObjects.Particles.ParticleEmitterManager;
|
||||
|
||||
export enum ParticleFacingMode {
|
||||
INITIAL = 1,
|
||||
ALWAYS = 2
|
||||
|
@ -29,29 +27,30 @@ module TK.SpaceTac.UI {
|
|||
facing?: ParticleFacingMode
|
||||
}
|
||||
|
||||
/**
|
||||
* Override of phaser particle manager to fix some issues
|
||||
*/
|
||||
export class UIParticleManager extends Phaser.GameObjects.Particles.ParticleEmitterManager {
|
||||
setScrollFactor() {
|
||||
}
|
||||
setAlpha() {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* System to emit multiple particles of the same texture
|
||||
*/
|
||||
export class ParticleSystem {
|
||||
export class UIParticles {
|
||||
constructor(private view: BaseView) {
|
||||
}
|
||||
|
||||
private getManager(key: string, parent?: UIContainer): Manager {
|
||||
let info = this.view.getImageInfo(key);
|
||||
let result = this.view.add.particles(info.key, info.frame);
|
||||
if (parent) {
|
||||
parent.add(result);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Emit a batch of particles
|
||||
*
|
||||
* Returns the total duration in milliseconds
|
||||
*/
|
||||
emit(config: ParticlesConfig, parent?: UIContainer): number {
|
||||
let manager = this.getManager(config.key, parent);
|
||||
let manager = this.createManager(config.key, parent);
|
||||
let emitter = manager.createEmitter({});
|
||||
if (config.fading) {
|
||||
emitter.setAlpha({ start: 1, end: 0 });
|
||||
|
@ -81,12 +80,27 @@ module TK.SpaceTac.UI {
|
|||
let duration = this.emit(config);
|
||||
return this.view.timer.sleep(duration);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new particle manager
|
||||
*
|
||||
* Automatically called by *emit*.
|
||||
*/
|
||||
createManager(key: string, parent?: UIContainer): UIParticleManager {
|
||||
let info = this.view.getImageInfo(key);
|
||||
let result = new UIParticleManager(this.view, info.key, info.frame, []);
|
||||
this.view.add.existing(result);
|
||||
if (parent) {
|
||||
parent.add(result);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Particle that is rotated to face its initial direction
|
||||
*/
|
||||
class FacingInitialParticle extends Phaser.GameObjects.Particles.Particle {
|
||||
export class FacingInitialParticle extends Phaser.GameObjects.Particles.Particle {
|
||||
fire(x: number, y: number): any {
|
||||
let result = super.fire(x, y);
|
||||
this.rotation = Math.atan2(this.velocityY, this.velocityX);
|
||||
|
@ -97,7 +111,7 @@ module TK.SpaceTac.UI {
|
|||
/**
|
||||
* Particle that is rotated to face its movement direction
|
||||
*/
|
||||
class FacingAlwaysParticle extends FacingInitialParticle {
|
||||
export class FacingAlwaysParticle extends FacingInitialParticle {
|
||||
update(delta: any, step: any, processors: any): any {
|
||||
let result = super.update(delta, step, processors);
|
||||
this.rotation = Math.atan2(this.velocityY, this.velocityX);
|
|
@ -7,7 +7,7 @@ module TK.SpaceTac.UI {
|
|||
super(view);
|
||||
|
||||
this.content.text(message, this.width * 0.5, this.height * 0.3, { color: "#90FEE3", size: 32 });
|
||||
//this.addLoader(this.width * 0.5, this.height * 0.6);
|
||||
this.content.awaiter(this.width * 0.5, this.height * 0.6);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue