void SaveMarkup(GameObject obj)
{
Voxeme voxml = new Voxeme ();
// assign VoxML values
// PRED
voxml.Lex.Pred = mlPred;
voxml.Lex.Type = System.String.Join("*",mlTypes.ToArray());
// TYPE
voxml.Type.Head = mlHead;
for (int i = 0; i < mlComponentCount; i++) {
voxml.Type.Components.Add (new Component());
voxml.Type.Components[i].Value = mlComponents[i];
}
voxml.Type.Concavity = mlConcavity;
List<string> rotatSyms = new List<string> ();
if (mlRotatSymX) {
rotatSyms.Add ("X");
}
if (mlRotatSymY) {
rotatSyms.Add ("Y");
}
if (mlRotatSymZ) {
rotatSyms.Add ("Z");
}
voxml.Type.RotatSym = System.String.Join(",", rotatSyms.ToArray());
List<string> reflSyms = new List<string> ();
if (mlReflSymXY) {
reflSyms.Add ("XY");
}
if (mlReflSymXZ) {
reflSyms.Add ("XZ");
}
if (mlReflSymYZ) {
reflSyms.Add ("YZ");
}
voxml.Type.ReflSym = System.String.Join(",", reflSyms.ToArray());
// HABITAT
for (int i = 0; i < mlIntrHabitatCount; i++) {
voxml.Habitat.Intrinsic.Add (new Intr());
voxml.Habitat.Intrinsic[i].Name = mlIntrHabitats[i].Split(new char[]{'='})[0];
voxml.Habitat.Intrinsic[i].Value = mlIntrHabitats[i].Split(new char[]{'='})[1];
}
for (int i = 0; i < mlExtrHabitatCount; i++) {
voxml.Habitat.Extrinsic.Add (new Extr());
voxml.Habitat.Extrinsic[i].Name = mlExtrHabitats[i].Split(new char[]{'='})[0];
voxml.Habitat.Extrinsic[i].Value = mlExtrHabitats[i].Split(new char[]{'='})[1];
}
// AFFORD_STR
for (int i = 0; i < mlAffordanceCount; i++) {
voxml.Afford_Str.Affordances.Add (new Affordance());
voxml.Afford_Str.Affordances[i].Formula = mlAffordances[i];
}
// EMBODIMENT
voxml.Embodiment.Scale = mlScale;
voxml.Embodiment.Movable = mlMovable;
voxml.Save (obj.name+".xml");
// voxml.SaveToServer (obj.name + ".xml");
}