Example #1
0
        /// <summary>
        /// wait for a new connection, after a new connection start listening again
        /// </summary>
        /// <param name="cm">call back delegate</param>
        public static void ServerAwaitingClientLoop(callMe cm, int port)
        {
            TcpListener listener = new TcpListener(IPAddress.Any, port);

            listener.Start();
            ConnectionState cs = new ConnectionState();

            cs.listener = listener;
            cs.CallMe   = cm;
            listener.BeginAcceptSocket(AcceptNewClient, cs);
        }
Example #2
0
        /// <summary>
        /// Attempt to connect to a server
        /// </summary>
        /// <param name="action">callback for when connection is made with server</param>
        /// <param name="ip">ip address of the server</param>
        /// <returns></returns>
        public static SocketState ConnectToServer(callMe action, IPAddress ip, int port)
        {
            SocketState theServer;
            Socket      s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            s.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.IPv6Only, false);

            theServer        = new SocketState(s, -1);
            theServer.CallMe = action;
            s.BeginConnect(ip, port, ConnectedToServer, theServer);

            return(theServer);
        }
Example #3
0
 /// <summary>
 /// Constructor for the socketState
 /// </summary>
 /// <param name="s"></param>
 /// <param name="id"></param>
 /// <param name="callMeCallBack"></param>
 public SocketState(Socket s, callMe callMeCallBack, int _id)
 {
     theSocket = s;
     _call     = callMeCallBack;
     ID        = _id;
 }
Example #4
0
 public void CloseMenuClick() => callAction = CloseMenu;
Example #5
0
 // Запланировать выполнение метода OpenSceneClick при нажатии на кнопку
 public void OpenMenuClick() => callAction = OpenMenu;
Example #6
0
 public void BuyUnitClickBlue() => callAction = CreateUnitBlue;
Example #7
0
 // Покупка и спавн героев игроком
 #region OpenBuyUnitsRedClickCalledMethods
 // Запланировать выполнение метода CreateUnit при нажатии на кнопку
 public void BuyUnitClickRed() => callAction = CreateUnitRed;
Example #8
0
 // Запланировать выполнение метода buildTower при нажатии на кнопку
 public void BuildTowerClick() => callAction = BuildRedTower;
Example #9
0
 // Запланировать выполнение метода OpenSceneClick при нажатии на кнопку
 public void OpenSceneClick() => callAction = OpenScene;