protected RunnerTask(NodeTask node) : base(node) { this.Locations = new List <Location>(); Value hs = node.GetValueOfId("Locations"); List <Value> hsList = hs.GetCollectionValue(); foreach (Value v in hsList) { Location l = v.GetLocationValue(); this.Locations.Add(l); } this.useMount = node.GetBoolValueOfId("UseMount"); var expression = node.GetExpressionOfId("HowClose"); if (expression != null) { this.howClose = node.GetFloatValueOfId("HowClose"); } else { this.howClose = 3.0f; } }