// All functions public int API_guiCreateRectangle(int playerId, int posX, int posY, int sizeX, int sizeY, byte r, byte g, byte b, byte a) { NetConnection netConnection = Server.Find(playerId); //Server.SendGUICreateRectanglePacket(netConnection, playerId, new Point(posX, posY), new Size(sizeX, sizeY), Color.FromArgb(a, r, g, b)); NetworkUI networkUI = new NetworkUI(); networkUI.Type = (byte)GUIPacket.Rectangle; networkUI.PlayerId = playerId; networkUI.PosX = posX; networkUI.PosY = posY; networkUI.SizeX = sizeX; networkUI.SizeY = sizeY; networkUI.R = r; networkUI.G = g; networkUI.B = b; networkUI.A = a; int id = Server.RegisterNetworkUI(networkUI); return id; }
private void ReadGUIPacket(NetIncomingMessage netIncomingMessage) { GUIPacket receivedGUIPacket = (GUIPacket)netIncomingMessage.ReadByte(); int id = netIncomingMessage.ReadInt32(); int playerId = netIncomingMessage.ReadInt32(); int posX = netIncomingMessage.ReadInt32(); int posY = netIncomingMessage.ReadInt32(); int sizeX = netIncomingMessage.ReadInt32(); int sizeY = netIncomingMessage.ReadInt32(); byte r = netIncomingMessage.ReadByte(); byte g = netIncomingMessage.ReadByte(); byte b = netIncomingMessage.ReadByte(); byte a = netIncomingMessage.ReadByte(); // Check to see if this UI is already in our list NetworkUI networkUi = null; foreach (NetworkUI ui in UIs) { if (ui.ID == id) networkUi = ui; } if(receivedGUIPacket != GUIPacket.RemoveGUIElement) { // It doesn't exist, so create one! if (networkUi == null) { networkUi = new NetworkUI(); UIs.Add(networkUi); Main.ChatBox.Add("Created new NUI"); } if (receivedGUIPacket == GUIPacket.Rectangle) { networkUi.ID = id; networkUi.Type = (byte)receivedGUIPacket; networkUi.PlayerId = playerId; networkUi.PosX = posX; networkUi.PosY = posY; networkUi.SizeX = sizeX; networkUi.SizeY = sizeY; networkUi.R = r; networkUi.B = b; networkUi.G = g; networkUi.A = a; networkUi.UIElement = new UIRectangle(new Point(networkUi.PosX, networkUi.PosY), new Size(networkUi.SizeX, networkUi.SizeY), Color.FromArgb(networkUi.A, networkUi.R, networkUi.G, networkUi.B)); } } // Remove GUI else { if(networkUi != null) { UIs.Remove(networkUi); } else { Main.ChatBox.Add("(internal) ERROR: NUI ID is NULL"); } } }