🎨 Allow buildings to adapt to their map
This commit is contained in:
parent
9c72741e69
commit
30d57d114c
@ -12,5 +12,17 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<material>player_trans_ao_parallax_spec.xml</material>
|
<material>player_trans_ao_parallax_spec.xml</material>
|
||||||
</actor>
|
</actor>
|
||||||
|
@ -11,5 +11,17 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<material>player_trans_parallax_spec.xml</material>
|
<material>player_trans_parallax_spec.xml</material>
|
||||||
</actor>
|
</actor>
|
||||||
|
@ -9,5 +9,17 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<material>player_water.xml</material>
|
<material>player_water.xml</material>
|
||||||
</actor>
|
</actor>
|
||||||
|
@ -11,5 +11,17 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<material>player_trans_parallax_spec.xml</material>
|
<material>player_trans_parallax_spec.xml</material>
|
||||||
</actor>
|
</actor>
|
||||||
|
@ -12,5 +12,17 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<material>player_trans_ao_parallax_spec.xml</material>
|
<material>player_trans_ao_parallax_spec.xml</material>
|
||||||
</actor>
|
</actor>
|
||||||
|
@ -24,6 +24,18 @@
|
|||||||
</props>
|
</props>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant name="alive" frequency="1"/>
|
<variant name="alive" frequency="1"/>
|
||||||
<variant file="structures/destruction_medium.xml">
|
<variant file="structures/destruction_medium.xml">
|
||||||
|
@ -19,6 +19,18 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant name="ungarrisoned" frequency="1"/>
|
<variant name="ungarrisoned" frequency="1"/>
|
||||||
<variant name="garrisoned">
|
<variant name="garrisoned">
|
||||||
|
@ -17,6 +17,18 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant name="ungarrisoned" frequency="1"/>
|
<variant name="ungarrisoned" frequency="1"/>
|
||||||
<variant name="garrisoned">
|
<variant name="garrisoned">
|
||||||
|
@ -16,6 +16,18 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant name="alive" frequency="1"/>
|
<variant name="alive" frequency="1"/>
|
||||||
<variant file="structures/destruction_small.xml"/>
|
<variant file="structures/destruction_small.xml"/>
|
||||||
|
@ -18,6 +18,18 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant name="alive" frequency="1"/>
|
<variant name="alive" frequency="1"/>
|
||||||
<variant file="structures/destruction_small.xml">
|
<variant file="structures/destruction_small.xml">
|
||||||
|
@ -19,6 +19,18 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant name="ungarrisoned" frequency="1"/>
|
<variant name="ungarrisoned" frequency="1"/>
|
||||||
<variant name="garrisoned">
|
<variant name="garrisoned">
|
||||||
|
@ -24,6 +24,18 @@
|
|||||||
</props>
|
</props>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant frequency="1" name="texture">
|
<variant frequency="1" name="texture">
|
||||||
<textures>
|
<textures>
|
||||||
|
@ -15,6 +15,18 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant name="alive" frequency="1"/>
|
<variant name="alive" frequency="1"/>
|
||||||
<variant file="structures/destruction_small.xml">
|
<variant file="structures/destruction_small.xml">
|
||||||
|
@ -18,6 +18,18 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant name="alive" frequency="1"/>
|
<variant name="alive" frequency="1"/>
|
||||||
<variant file="structures/destruction_small.xml">
|
<variant file="structures/destruction_small.xml">
|
||||||
|
@ -18,6 +18,18 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant name="alive" frequency="1"/>
|
<variant name="alive" frequency="1"/>
|
||||||
<variant file="structures/destruction_medium.xml">
|
<variant file="structures/destruction_medium.xml">
|
||||||
|
@ -18,6 +18,18 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant frequency="1" name="ungarrisoned"/>
|
<variant frequency="1" name="ungarrisoned"/>
|
||||||
<variant name="garrisoned">
|
<variant name="garrisoned">
|
||||||
|
@ -17,6 +17,18 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant name="alive" frequency="1"/>
|
<variant name="alive" frequency="1"/>
|
||||||
<variant file="structures/destruction_small.xml">
|
<variant file="structures/destruction_small.xml">
|
||||||
|
@ -22,6 +22,18 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant name="ungarrisoned" frequency="1"/>
|
<variant name="ungarrisoned" frequency="1"/>
|
||||||
<variant name="garrisoned">
|
<variant name="garrisoned">
|
||||||
|
@ -14,5 +14,17 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<material>no_trans_norm_spec.xml</material>
|
<material>no_trans_norm_spec.xml</material>
|
||||||
</actor>
|
</actor>
|
||||||
|
@ -18,6 +18,18 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant name="ungarrisoned" frequency="1"/>
|
<variant name="ungarrisoned" frequency="1"/>
|
||||||
<variant name="garrisoned">
|
<variant name="garrisoned">
|
||||||
|
@ -10,6 +10,18 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant frequency="1" name="gaul house a">
|
<variant frequency="1" name="gaul house a">
|
||||||
<mesh>structural/gaul_house_a.dae</mesh>
|
<mesh>structural/gaul_house_a.dae</mesh>
|
||||||
|
@ -18,6 +18,18 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant name="alive" frequency="1"/>
|
<variant name="alive" frequency="1"/>
|
||||||
<variant file="structures/destruction_medium.xml">
|
<variant file="structures/destruction_medium.xml">
|
||||||
|
@ -33,6 +33,18 @@
|
|||||||
</textures>
|
</textures>
|
||||||
</variant>
|
</variant>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<variant name="summer" frequency="1">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
<variant name="winter" frequency="0">
|
||||||
|
<textures>
|
||||||
|
<texture file="structural/celt_struct_1_snow.dds" name="baseTex"/>
|
||||||
|
</textures>
|
||||||
|
</variant>
|
||||||
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<variant frequency="1" name="ungarrisoned"/>
|
<variant frequency="1" name="ungarrisoned"/>
|
||||||
<variant name="garrisoned">
|
<variant name="garrisoned">
|
||||||
|
BIN
binaries/data/mods/public/maps/skirmishes/alpine_valleys_2p.xml
(Stored with Git LFS)
BIN
binaries/data/mods/public/maps/skirmishes/alpine_valleys_2p.xml
(Stored with Git LFS)
Binary file not shown.
@ -0,0 +1,43 @@
|
|||||||
|
/**
|
||||||
|
* A manager class for biomes.
|
||||||
|
* @class
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
|
function BiomeManager() {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines the XML schema and help strings of the manager.
|
||||||
|
* @memberof BiomeManager
|
||||||
|
*/
|
||||||
|
BiomeManager.prototype.Schema =
|
||||||
|
"<a:component type='system'/><empty/>";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes the current map's biome.
|
||||||
|
* @memberof BiomeManager
|
||||||
|
*/
|
||||||
|
BiomeManager.prototype.Init = function()
|
||||||
|
{
|
||||||
|
this.biome = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the current map's biome.
|
||||||
|
* @param {string} biome - The new biome.
|
||||||
|
* @memberof BiomeManager
|
||||||
|
*/
|
||||||
|
BiomeManager.prototype.SetBiome = function(biome)
|
||||||
|
{
|
||||||
|
this.biome = biome;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the current map's biome.
|
||||||
|
* @memberof BiomeManager
|
||||||
|
*/
|
||||||
|
BiomeManager.prototype.GetBiome = function()
|
||||||
|
{
|
||||||
|
return this.biome;
|
||||||
|
}
|
||||||
|
|
||||||
|
Engine.RegisterSystemComponentType(IID_BiomeManager, "BiomeManager", BiomeManager);
|
@ -0,0 +1,83 @@
|
|||||||
|
/**
|
||||||
|
* A manager class for biomes.
|
||||||
|
* @class
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
|
function BiomeReplacer() {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines the XML schema and help strings of the component.
|
||||||
|
* @memberof BiomeReplacer
|
||||||
|
*/
|
||||||
|
BiomeReplacer.prototype.Schema = `
|
||||||
|
<a:help>Defines the variants an entity can assume depending on a map biome.</a:help>
|
||||||
|
<a:example>
|
||||||
|
<Variants>
|
||||||
|
<Winter>
|
||||||
|
<AffectedBiomes datatype="tokens">generic/alpine</AffectedBiomes>
|
||||||
|
<ActorVariant>winter</ActorVariant>
|
||||||
|
</Winter>
|
||||||
|
</Variants>
|
||||||
|
</a:example>
|
||||||
|
<element name='Variants' a:help='Effect for having multiple builders.'>
|
||||||
|
<oneOrMore>
|
||||||
|
<element a:help='Element containing the variant data.'>
|
||||||
|
<anyName/>
|
||||||
|
<interleave>
|
||||||
|
<element name='AffectedBiomes' a:help='Names of the biomes affected byt this variant'>
|
||||||
|
<attribute name='datatype'>
|
||||||
|
<value>tokens</value>
|
||||||
|
</attribute>
|
||||||
|
<text/>
|
||||||
|
</element>
|
||||||
|
<element name='ActorVariant' a:help='Actor variant to switch to.'>
|
||||||
|
<text/>
|
||||||
|
</element>
|
||||||
|
</interleave>
|
||||||
|
</element>
|
||||||
|
</oneOrMore>
|
||||||
|
</element>`;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes the biome replacer.
|
||||||
|
* @memberof BiomeReplacer
|
||||||
|
*/
|
||||||
|
BiomeReplacer.prototype.Init = function()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {{ "from": number, "to": number }} msg - Message containing the old new owner.
|
||||||
|
* @memberof BiomeReplacer
|
||||||
|
*/
|
||||||
|
BiomeReplacer.prototype.OnCreate = function(msg)
|
||||||
|
{
|
||||||
|
|
||||||
|
const currentBiome = Engine.QueryInterface(SYSTEM_ENTITY, IID_BiomeManager)?.GetBiome();
|
||||||
|
|
||||||
|
if (!currentBiome)
|
||||||
|
return;
|
||||||
|
|
||||||
|
let cmpVisual = Engine.QueryInterface(this.entity, IID_Visual);
|
||||||
|
|
||||||
|
if (!cmpVisual)
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (const variantName of Object.keys(this.template.Variants))
|
||||||
|
{
|
||||||
|
const variant = this.template.Variants[variantName];
|
||||||
|
if (!variant.AffectedBiomes || !variant.AffectedBiomes._string)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
const affectedBiomes = variant.AffectedBiomes._string.split(" ");
|
||||||
|
if (affectedBiomes.indexOf(currentBiome) !== -1)
|
||||||
|
{
|
||||||
|
cmpVisual.SelectAnimation(variant.ActorVariant, false, 1.0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Engine.RegisterComponentType(IID_BiomeReplacer, "BiomeReplacer", BiomeReplacer);
|
@ -0,0 +1 @@
|
|||||||
|
Engine.RegisterInterface("BiomeManager");
|
@ -0,0 +1 @@
|
|||||||
|
Engine.RegisterInterface("BiomeReplacer");
|
@ -41,6 +41,11 @@ function InitGame(settings)
|
|||||||
cmpRangeManager.ExploreMap(i);
|
cmpRangeManager.ExploreMap(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (settings.Biome)
|
||||||
|
{
|
||||||
|
Engine.QueryInterface(SYSTEM_ENTITY, IID_BiomeManager)?.SetBiome(settings.Biome);
|
||||||
|
}
|
||||||
|
|
||||||
const cmpAIManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_AIManager);
|
const cmpAIManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_AIManager);
|
||||||
for (let i = 0; i < settings.PlayerData.length; ++i)
|
for (let i = 0; i < settings.PlayerData.length; ++i)
|
||||||
{
|
{
|
||||||
|
@ -5,4 +5,5 @@
|
|||||||
<Ownership merge=""/>
|
<Ownership merge=""/>
|
||||||
<Position merge=""/>
|
<Position merge=""/>
|
||||||
<VisualActor merge=""/>
|
<VisualActor merge=""/>
|
||||||
|
<BiomeReplacer merge=""/>
|
||||||
</Entity>
|
</Entity>
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Entity filtered="">
|
<Entity filtered="">
|
||||||
|
<BiomeReplacer merge=""/>
|
||||||
<!-- We only want to include components which are necessary (for the visual previewing of an entity)
|
<!-- We only want to include components which are necessary (for the visual previewing of an entity)
|
||||||
and safe (i.e. won't do anything that affects the synchronised simulation state), so additions
|
and safe (i.e. won't do anything that affects the synchronised simulation state), so additions
|
||||||
to this list should be carefully considered -->
|
to this list should be carefully considered -->
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Entity parent="template_structure_civic_house">
|
<Entity parent="template_structure_civic_house">
|
||||||
|
<BiomeReplacer>
|
||||||
|
<Variants>
|
||||||
|
<Winter>
|
||||||
|
<AffectedBiomes datatype="tokens">generic/alpine</AffectedBiomes>
|
||||||
|
<ActorVariant>winter</ActorVariant>
|
||||||
|
</Winter>
|
||||||
|
</Variants>
|
||||||
|
</BiomeReplacer>
|
||||||
<Identity>
|
<Identity>
|
||||||
<Civ>gaul</Civ>
|
<Civ>gaul</Civ>
|
||||||
<SpecificName>Tegia</SpecificName>
|
<SpecificName>Tegia</SpecificName>
|
||||||
|
Loading…
Reference in New Issue
Block a user