Beispiel #1
0
        public override void Evaluate()
        {
            var name = new Term(RegexMatch.Groups[2].Value);
            var type = new Term(RegexMatch.Groups[1].Value);
            var list = new ListValue();

            switch (type.Text.ToUpper())
            {
            case "BODIES":
                foreach (var body in FlightGlobals.fetch.bodies)
                {
                    list.Add(new BodyTarget(body, Vessel));
                }
                break;

            case "TARGETS":
                foreach (var vessel in FlightGlobals.Vessels)
                {
                    if (vessel == Vessel)
                    {
                        continue;
                    }
                    list.Add(new VesselTarget(vessel, ParentContext));
                }
                break;
            }

            if (list.Empty())
            {
                list = Vessel.PartList(type.Text);
            }

            FindOrCreateVariable(name.Text).Value = list;

            State = ExecutionState.DONE;
        }