4 namespace HKI.Core.Variables
13 [CreateAssetMenu(fileName =
"Vector3", menuName =
"HKI/Variables/Vector3", order = 6)]
17 public override void Save(XmlNode parentNode)
19 XmlNode node = parentNode.OwnerDocument.CreateElement(name.Replace(
" ",
""));
20 parentNode.AppendChild(node);
22 XmlAttribute valueXAttribute = parentNode.OwnerDocument.CreateAttribute(
"ValueX");
23 valueXAttribute.Value = Value.x.ToString();
24 node.Attributes.Append(valueXAttribute);
26 XmlAttribute valueYAttribute = parentNode.OwnerDocument.CreateAttribute(
"ValueY");
27 valueYAttribute.Value = Value.y.ToString();
28 node.Attributes.Append(valueYAttribute);
30 XmlAttribute valueZAttribute = parentNode.OwnerDocument.CreateAttribute(
"ValueZ");
31 valueZAttribute.Value = Value.z.ToString();
32 node.Attributes.Append(valueZAttribute);
35 public override void Load(XmlNode node)
37 if (node.Attributes == null)
39 Debug.LogError(
"(Vector3) >" + name +
"< Loading failed because this XmlNode has not attributes!");
43 XmlAttribute valueXAttribute = node.Attributes[
"ValueX"];
44 if (valueXAttribute == null)
46 Debug.LogError(
"(Vector3) >" + name +
"< Loading failed because this XmlNode has not an attribute with the name >ValueX<!");
50 XmlAttribute valueYAttribute = node.Attributes[
"ValueY"];
51 if (valueYAttribute == null)
53 Debug.LogError(
"(Vector3) >" + name +
"< Loading failed because this XmlNode has not an attribute with the name >ValueY<!");
57 XmlAttribute valueZAttribute = node.Attributes[
"ValueZ"];
58 if(valueZAttribute == null)
60 Debug.LogError(
"(Vector3) >" + name +
"< Loading failed because this XmlNode has not an attribute with the name >ValueZ<!");
65 if (!
float.TryParse(valueXAttribute.Value, out parsedXValue))
66 Debug.LogError(
"(Vector3) >" + name +
"< Loading failed because parsing of >" + valueXAttribute.Value +
"< failed!");
69 if (!
float.TryParse(valueYAttribute.Value, out parsedYValue))
70 Debug.LogError(
"(Vector3) >" + name +
"< Loading failed because parsing of >" + valueYAttribute.Value +
"< failed!");
73 if (!
float.TryParse(valueZAttribute.Value, out parsedZValue))
74 Debug.LogError(
"(Vector3) >" + name +
"< Loading failed because parsing of >" + valueZAttribute.Value +
"< failed!");
76 SetValue =
new UnityEngine.Vector3(parsedXValue, parsedYValue, parsedZValue);
override void Save(XmlNode parentNode)
Implementation of a Vector3 value as a HKIVar via HKIVarGeneric.
override void Load(XmlNode node)
This class adds a generic implementation to HKIVar. This reduces the repetitive implementation of thi...