/// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            this.IsMouseVisible = true;

            response = "";

            // Initialize the GoblinXNA framework
            State.InitGoblin(graphics, Content, "");

            // Initialize the scene graph
            scene = new Scene(this);

            State.EnableNetworking = true;
            State.IsServer = false;

            // Set up the lights used in the scene
            CreateLights();

            // Set up the camera, which defines the eye location and viewing frustum
            CreateCamera();

            // Create 3D objects
            CreateObject();

            // Use per pixel lighting for better quality (If you using non NVidia graphics card,
            // setting this to true may reduce the performance significantly)
            scene.PreferPerPixelLighting = true;

            // Create a network object that contains mouse press information to be
            // transmitted over network
            networkObj = new MessageNetworkObject();

            // When a mouse press event is sent from the other side, then call "ShootBox"
            // function
            networkObj.CallbackFunc = UpdateMessage;

            // Create a network handler for handling the network transfers
            NetworkHandler networkHandler = new NetworkHandler();

            if (3==4)
                networkHandler.NetworkServer = new LidgrenServer("InfoOverload", 14242);
            else
            {
                // Create a client that connects to the local machine assuming that both
                // the server and client will be running on the same machine. In order to
                // connect to a remote machine, you need to either pass the host name or
                // the IP address of the remote machine in the 3rd parameter.
                client = new LidgrenClient("InfoOverload", 14242, "Localhost");

                // If the server is not running when client is started, then wait for the
                // server to start up.
                client.WaitForServer = true;

                networkHandler.NetworkClient = client;
            }

            scene.BackgroundColor = Color.Black;

            // Assign the network handler used for this scene
            scene.NetworkHandler = networkHandler;

            // Add the mouse network object to the scene graph, so it'll be sent over network
            // whenever ReadyToSend is set to true.
            scene.NetworkHandler.AddNetworkObject(networkObj);

            //scene.PhysicsEngine = new NewtonPhysics();
            //Set to false for window
            graphics.IsFullScreen = fullScreen;
            graphics.ApplyChanges();

            // Add a keyboard press handler for user input
            KeyboardInput.Instance.KeyPressEvent += new HandleKeyPress(KeyPressHandler);

            State.ShowNotifications = false;
            base.Initialize();
        }
Exemple #2
0
        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            base.Initialize();
#if WINDOWS
            this.IsMouseVisible = true;
#endif

            // Initialize the GoblinXNA framework
            State.InitGoblin(graphics, Content, "");

            // Initialize the scene graph
            scene = new Scene();

            State.EnableNetworking = true;
            State.IsServer = isServer;

            State.ShowNotifications = true;
            State.ShowFPS = true;
            Notifier.FadeOutTime = 2000;

            // Set up the lights used in the scene
            CreateLights();

            // Set up the camera, which defines the eye location and viewing frustum
            CreateCamera();

            // Create 3D objects
            CreateObject();

            // Create a network object that contains mouse press information to be
            // transmitted over network
            mouseNetworkObj = new MouseNetworkObject();

            // When a mouse press event is sent from the other side, then call "ShootBox"
            // function
            mouseNetworkObj.CallbackFunc = ShootBox;

            // Create a network handler for handling the network transfers
            INetworkHandler networkHandler = null;

#if USE_SOCKET_NETWORK || WINDOWS_PHONE
            networkHandler = new SocketNetworkHandler();
#else
            networkHandler = new NetworkHandler();
#endif

            if (State.IsServer)
            {
                IServer server = null;
#if WINDOWS
#if USE_SOCKET_NETWORK
                server = new SocketServer(14242);
#else
                server = new LidgrenServer("Tutorial10", 14242);
#endif
                State.NumberOfClientsToWait = 1;
                scene.PhysicsEngine = new NewtonPhysics();
#else

                scene.PhysicsEngine = new MataliPhysics();
                ((MataliPhysics)scene.PhysicsEngine).SimulationTimeStep = 1 / 30f;
#endif
                scene.PhysicsEngine.Gravity = 30;
                server.ClientConnected += new HandleClientConnection(ClientConnected);
                server.ClientDisconnected += new HandleClientDisconnection(ClientDisconnected);
                networkHandler.NetworkServer = server;
            }
            else
            {
                IClient client = null;
                // Create a client that connects to the local machine assuming that both
                // the server and client will be running on the same machine. In order to 
                // connect to a remote machine, you need to either pass the host name or
                // the IP address of the remote machine in the 3rd parameter. 
#if WINDOWS
                client = new LidgrenClient("Tutorial10", 14242, "Localhost");
#else
                client = new SocketClient("10.0.0.2", 14242);
#endif

                // If the server is not running when client is started, then wait for the
                // server to start up.
                client.WaitForServer = true;
                client.ConnectionTrialTimeOut = 60 * 1000; // 1 minute timeout

                client.ServerConnected += new HandleServerConnection(ServerConnected);
                client.ServerDisconnected += new HandleServerDisconnection(ServerDisconnected);

                networkHandler.NetworkClient = client;
            }

            // Assign the network handler used for this scene
            scene.NetworkHandler = networkHandler;

            // Add the mouse network object to the scene graph, so it'll be sent over network
            // whenever ReadyToSend is set to true.
            scene.NetworkHandler.AddNetworkObject(mouseNetworkObj);

            MouseInput.Instance.MousePressEvent += new HandleMousePress(MouseInput_MousePressEvent);
        }