private void OnServerGUI() { int ScreenW = Screen.width; int ScreenH = Screen.height; ServerSocketScript sss = gameObject.GetComponent <ServerSocketScript>(); if (GUI.Button(new Rect(ScreenW - 210, 10, 200, 30), "Button")) { } if (GUI.Button(new Rect(ScreenW - 210, 50, 200, 30), "Button")) { } if (GUI.Button(new Rect(ScreenW - 210, 90, 200, 30), "Button")) { } if (GUI.Button(new Rect(ScreenW - 210, 130, 200, 30), "Button")) { } GUIStyle style = GUI.skin.box; style.alignment = TextAnchor.UpperLeft; style.fixedWidth = ScreenW - 245; style.wordWrap = true; float h = 0; int count = sss.logServer.Count; GUIContent[] msgContent = new GUIContent[count]; for (int i = 0; i < count; i++) { msgContent[i] = new GUIContent(sss.logServer[i]); h += style.CalcHeight(msgContent[i], ScreenW - 245); } scrollPosition = GUI.BeginScrollView(new Rect(10, 10, ScreenW - 230, ScreenH - 55), scrollPosition, new Rect(0, 0, ScreenW - 245, (int)h), false, true); h = 0; for (int i = 0; i < count; i++) { float he = style.CalcHeight(msgContent[i], ScreenW - 245); GUI.Label(new Rect(0, h, ScreenW - 245, (int)he), msgContent[i], style); h += he; } GUI.EndScrollView(); textCMD = GUI.TextField(new Rect(10, ScreenH - 40, ScreenW - 340, 30), textCMD); if (GUI.Button(new Rect(ScreenW - 320, ScreenH - 40, 100, 30), "Send") || Input.GetKeyDown(KeyCode.Return) || Input.GetKeyDown(KeyCode.KeypadEnter)) { if (textCMD.Length > 0) { string[] args = textCMD.Split(' '); if (args.Length > 0) { //COMMAND: help if (args[0].ToLower() == "help") { sss.Log("=============== Liste des commandes ==============="); sss.Log("Exemple: nom <obligatoire> (optionnel)"); sss.Log("item <templateID> <characterName> (quantity) -> Ajoute un item"); sss.Log("delitem <ID/templateID/slotID> <characterName> (type) (quantity) -> Retire un item"); sss.Log("\ttype {0 = ID, 1 = templateID, 2 = slotID}; Default = ID"); } //COMMAND: item <templateID> <characterName> (quantity) if (args.Length >= 3 && args[0].ToLower() == "item") { string characterName = args[2].ToLower(); int quantity = args.Length >= 4 ? Convert.ToInt32(args[3]) : 1; ServerClient sc = sss.GetServerClientByName(characterName); if (sc != null) { sc.CreateAndSendItem(Convert.ToInt32(args[1]), quantity); } else { sss.Log("FAIL Add Item : " + characterName + " not found"); } } //COMMAND: delitem <ID/templateID/slotID> <characterName> (type) (quantity) // type {0 = ID, 1 = templateID, 2 = slotID}; Default = ID if (args.Length >= 3 && args[0].ToLower() == "delitem") { string characterName = args[2].ToLower(); int type = args.Length >= 4 ? Convert.ToInt32(args[3]) : 0; int quantity = args.Length >= 5 ? Convert.ToInt32(args[4]) : 1; ServerClient sc = sss.GetServerClientByName(characterName); if (sc != null) { sc.RemoveItem(Convert.ToInt32(args[1]), type, quantity); } else { sss.Log("FAIL Delete Item : " + characterName + " not found"); } } } /* COMMANDE SERVER */ textCMD = ""; } } }