Exemple #1
0
        private void InitializePlayers()
        {
            var playersSection = levelConfig["Players"];

            foreach (var player in playersSection.Options)
            {
                var playerConfig = ConfigFile.FromFile(player.Value);
                var section = playerConfig.GlobalSection;
                var playerName = (string)player.Key;

                if (!section.Options.ContainsKey("type"))
                {
                    section.Options.Add("type", playerName);
                }

                var go = GameObject.Create(game, playerName, section);
                GameObjects.Add(go);
            }

            square = (Square)GetGameObject("square");
            circle = (Circle)GetGameObject("circle");
        }
Exemple #2
0
        public static GameObject Create(Game game, string gameObjectName, ConfigSection section)
        {
            var typeName = (string)section["type"];
            GameObject resultObject;

            switch (typeName)
            {
                case "square":
                    resultObject = new Square(game);
                    break;
                case "circle":
                    resultObject = new Circle(game);
                    break;
                case "platform":
                    resultObject = new PlatformObject(game);
                    break;
                case "trigger":
                    resultObject = new TriggerObject(game);
                    break;
                case "toggleButton":
                    resultObject = new ToggleButtonObject(game);
                    break;
                case "holdButton":
                    resultObject = new HoldButtonObject(game);
                    break;
                default:
                {
                    var message = new StringBuilder();
                    message.AppendFormat("Unsupported GameObject type: {0}", typeName);
                    throw new NotSupportedException(message.ToString());
                }
            }

            resultObject.Name = gameObjectName;
            resultObject.Initialize(section);

            Debug.Assert(resultObject.Body != null, "Game objects have to have a valid physics body after initialization.");

            return resultObject;
        }