Dawn/assets/games/liminal/prefabs/EthPrefab.xml

43 lines
1.4 KiB
XML

<prefab name="EthPrefab" type="">
<asset type="texture" name="texture_eth_face_day_happy" ref="faceDayHappy" />
<asset type="texture" name="texture_eth_face_day_anger" ref="faceDayAnger" />
<asset type="texture" name="texture_eth_pose_day_front" ref="poseDayFront" />
<asset type="texture" name="texture_eth_pose_day_back" ref="poseDayBack" />
<item>
<MeshRenderer />
<QuadMeshHost />
<SimpleTexturedMaterial texture="faceDayHappy" ref="faceMaterial" />
<TiledSprite ref="faceSprite" tile="0" size="0.5" sizeType="TILED_SPRITE_SIZE_TYPE_HEIGHT_RATIO" />
</item>
<item>
<MeshRenderer />
<QuadMeshHost ref="bodyMesh" />
<SimpleTexturedMaterial texture="poseDayFront" ref="bodyMaterial" />
<TiledSprite ref="bodySprite" tile="0" size="0.5" sizeType="TILED_SPRITE_SIZE_TYPE_HEIGHT_RATIO" />
</item>
<code type="properties">
TilesetGrid gridFace;
TilesetGrid gridBody;
StateProperty&lt;int32_t&gt; faceTile;
</code>
<code type="init">
gridFace = TilesetGrid(faceDayHappy->texture, 1, 1);
faceSprite->tileset = &amp;gridFace;
gridBody = TilesetGrid(poseDayBack->texture, 1, 1);
bodySprite->tileset = &amp;gridBody;
useEffect([&amp;]{
faceMaterial->texture = (
faceTile == 0 ? &amp;faceDayHappy->texture :
faceTile == 1 ? &amp;faceDayAnger->texture :
nullptr
);
}, faceTile)();
</code>
</prefab>