Esempio n. 1
0
        private void GetBufferFromServer(object sender, SocketAsyncEventArgs e)
        {
            MemoryStream stream = new MemoryStream(e.Buffer, 0, e.BytesTransferred);

            if (stream.Capacity != 0)
            {
                try
                {
                    ObjectsLists buffer = (ObjectsLists)serializer.Deserialize(stream);
                    lock (gameCore.bufferObjectsList)
                    {
                        gameCore.bufferObjectsList = buffer;
                    }
                }
                catch (Exception exception)
                {
                    MessageBox.Show(exception.ToString(), "Bomberman", MessageBoxButtons.OK);
                }
                finally
                {
                    if (!isEnded)
                    {
                        SocketAsyncEventArgs eventArgs = new SocketAsyncEventArgs();
                        eventArgs.Completed += GetBufferFromServer;
                        byte[] temp = new byte[1024 * 1024];
                        eventArgs.SetBuffer(temp, 0, 1024 * 1024);

                        (sender as Socket).ReceiveAsync(eventArgs);
                    }
                }
            }
        }
Esempio n. 2
0
        public GameCoreClient
        (
            int width, int height, Graphics graphicControl, Client client, int id, string dirResources
        )
        {
            this.graphicControl = graphicControl;

            timer                  = new System.Timers.Timer();
            delay                  = 60;
            timer.Interval         = delay;
            timer.Elapsed         += TimerEvent;
            this.id                = id;
            this.client            = client;
            this.objectsList       = new ObjectsLists();
            this.bufferObjectsList = new ObjectsLists();
            this.explosionsTexture = new List <Bitmap>();

            buffer1    = currentContext.Allocate(graphicControl, new Rectangle(0, 0, width, height));
            buffer2    = currentContext.Allocate(graphicControl, new Rectangle(0, 0, width, height));
            currBuffer = buffer1;
            buffColor  = Color.ForestGreen;
            brush      = new SolidBrush(Color.Black);
            font       = new Font("Arial", 8);

            LoadImages(dirResources);
        }
        public GameCoreServer
        (
            int width, int height, Size playerSize, Size playerOnDeathSize,
            Size bombSize, Size explosionSize, Size wallSize, string dirResources, SendFunc sendFunc
        )
        {
            this.map      = new PhysicalMap(width, height);
            objectsList   = new ObjectsLists();
            spawnPoints   = new List <Point>();
            this.sendFunc = sendFunc;

            timer          = new Timer();
            delay          = 60;
            timer.Interval = delay;
            timer.Elapsed += TimerEvent;
            randomGen      = new Random();

            scriptEngine = new ScriptEngine();

            this.playerSize        = playerSize;
            this.bombSize          = bombSize;
            this.explosionSize     = explosionSize;
            this.wallSize          = wallSize;
            this.playerOnDeathSize = playerOnDeathSize;

            GenerateWalls();
        }
Esempio n. 4
0
 public void ChangeBuffer()
 {
     if (currBuffer == buffer1)
     {
         currBuffer = buffer2;
     }
     else
     {
         currBuffer = buffer1;
     }
     objectsList = bufferObjectsList;
 }