/// <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); }
/// <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); }
/// <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; }
public void CloseMenuClick() => callAction = CloseMenu;
// Запланировать выполнение метода OpenSceneClick при нажатии на кнопку public void OpenMenuClick() => callAction = OpenMenu;
public void BuyUnitClickBlue() => callAction = CreateUnitBlue;
// Покупка и спавн героев игроком #region OpenBuyUnitsRedClickCalledMethods // Запланировать выполнение метода CreateUnit при нажатии на кнопку public void BuyUnitClickRed() => callAction = CreateUnitRed;
// Запланировать выполнение метода buildTower при нажатии на кнопку public void BuildTowerClick() => callAction = BuildRedTower;
// Запланировать выполнение метода OpenSceneClick при нажатии на кнопку public void OpenSceneClick() => callAction = OpenScene;