示例#1
0
        protected override void OnInitialize()
        {
            bool headless = Screen.DisplayMode == DisplayMode.Decapitated || Screen.DisplayMode == DisplayMode.Headless;

            // Initialize input for player 1...
            InputManager.AddAxisInputs("PlayerVertical", new [] { Players.One },
                                       AxisInput.FromKeyboard(Keys.S, Keys.W),
                                       AxisInput.FromThumbStick(ThumbSticks.Left, ThumbSticksAxis.Y, 0.1f, true));

            InputManager.AddAxisInputs("PlayerHorizontal", new[] { Players.One },
                                       AxisInput.FromKeyboard(Keys.D, Keys.A),
                                       AxisInput.FromThumbStick(ThumbSticks.Left, ThumbSticksAxis.X, 0.1f));

            // Initialize input for player 2...
            InputManager.AddAxisInputs("PlayerVertical", new[] { Players.Two },
                                       AxisInput.FromKeyboard(Keys.G, Keys.T),
                                       AxisInput.FromThumbStick(ThumbSticks.Left, ThumbSticksAxis.Y, 0.1f, true));

            InputManager.AddAxisInputs("PlayerHorizontal", new[] { Players.Two },
                                       AxisInput.FromKeyboard(Keys.H, Keys.F),
                                       AxisInput.FromThumbStick(ThumbSticks.Left, ThumbSticksAxis.X, 0.1f));

            // Initialize networking...
            NetHelper.AddSpawnable("Player", typeof(NetPlayer));
            NetHelper.AddSpawnable("bouncy", typeof(BouncyBall));
            Network.OnServerStarted += SpawnStuff;
            Network.OnPeerConnected += peer => {
                if (Network.IsServer)
                {
                    NetHelper.Instantiate("Player", peer.GetUniqueID(), new Vector2(100, 100));
                    NetHelper.Instantiate("Player", peer.GetUniqueID(), new Vector2(100, 100));
                }
            };

            //SceneManager.SetCurrentScene("_DEMOS\\menu");
            SceneManager.SetCurrentScene("_DEMOS\\networktest");

            backToMenu = new BackButton();

            // Load the network test level, and start server if in fully-headless mode.
            if (headless)
            {
                SceneManager.SetCurrentScene("_DEMOS\\networktest");
                Network.StartServer(919, 920);
            }

            if (!Screen.IsFullHeadless)
            {
                Lighting.Ambient = new Color(0.1f, 0.1f, 0.1f);
            }

            new Cursor(Vector2.Zero, 0f, Vector2.One);

            if (!IsEditor)
            {
                GameObject camera = new InternalCamera(Vector2.Zero, 0f, Vector2.One);
            }
        }