public static List<Actor> LoadFromString(String loadString)
        {
            char[] splitter = new char[1];

            StandardObjects objectCreator = new StandardObjects();
            objectCreator.Load();

            List<Actor> actors = new List<Actor>();

            splitter[0] = splitters[3];
            String[] splitData = loadString.Split(splitter, StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < splitData.Length; i++)
            {
                splitter[0] = splitters[0];
                String[] parsedData = splitData[i].Split(splitter, StringSplitOptions.RemoveEmptyEntries);
                foreach (String rawActor in parsedData)
                {
                    if (rawActor[0] == splitters[4])
                    {
                        String rawLinked = rawActor.Remove(0, 1);
                        splitter[0] = splitters[5];
                        String[] parsedPortalID = rawLinked.Split(splitter, StringSplitOptions.RemoveEmptyEntries);
                        String linkID = parsedPortalID[0];
                        splitter[0] = splitters[6];
                        String[] parsedAddress = parsedPortalID[1].Split(splitter, StringSplitOptions.RemoveEmptyEntries);
                        String address = parsedAddress[0];

                        splitter[0] = splitters[1];
                        String[] parsedActor = parsedAddress[1].Split(splitter);
                        splitter[0] = splitters[2];
                        String[] parsedPosition = parsedActor[1].Split(splitter);
                        Actor actor = objectCreator.create(int.Parse(parsedActor[0]), linkID, address);
                        float x;
                        float y;
                        float.TryParse(parsedPosition[0], out x);
                        float.TryParse(parsedPosition[1], out y);
                        actor.PolyBody.SetMasterPosition(new Vector2(x, y));
                        actors.Add(actor);
                    }
                    else
                    {
                        splitter[0] = splitters[1];
                        String[] parsedActor = rawActor.Split(splitter);
                        splitter[0] = splitters[2];
                        String[] parsedPosition = parsedActor[1].Split(splitter);
                        Actor actor = objectCreator.create(int.Parse(parsedActor[0]));
                        float x;
                        float y;
                        float.TryParse(parsedPosition[0], out x);
                        float.TryParse(parsedPosition[1], out y);
                        if (i == 0)
                            actor.PolyBody.SetMasterPosition(new Vector2(x, y));
                        else if (i == 1)
                            actor.PolyBody.Position = new Vector2(x, y);
                        actors.Add(actor);
                    }
                }
                actors.Add(null);
            }
            return actors;
        }