void CreateProductUnitAttachedMesh()
{
productUnitAttachedMesh = new MapObjectAttachedMesh();
Attach( productUnitAttachedMesh );
string meshName = null;
//Vec3 meshOffset = new Vec3(0,0,10);
Vec3 meshOffset = Vec3.Zero;
Vec3 meshScale = new Vec3( 1, 1, 1);
{
foreach( MapObjectTypeAttachedObject typeAttachedObject in
productUnitType.AttachedObjects )
{
MapObjectTypeAttachedMesh typeAttachedMesh =
typeAttachedObject as MapObjectTypeAttachedMesh;
if( typeAttachedMesh == null )
continue;
meshName = typeAttachedMesh.MeshName;
meshOffset = typeAttachedMesh.Position;
meshScale = typeAttachedMesh.Scale;
break;
}
}
productUnitAttachedMesh.MeshName = meshName;
Vec3 pos = meshOffset;
{
MapObjectAttachedObject buildPointAttachedHelper =
GetAttachedObjectByAlias( "productUnitPoint" );
if( buildPointAttachedHelper != null )
pos += buildPointAttachedHelper.PositionOffset;
}
productUnitAttachedMesh.PositionOffset = pos;
productUnitAttachedMesh.ScaleOffset = meshScale;
if( Type.Name == "RTSHeadquaters" || Type.Name == "AntColmena" )
{
foreach( MeshObject.SubObject subMesh in productUnitAttachedMesh.MeshObject.SubObjects )
subMesh.MaterialName = "RTSBuildMaterial";
}
}