public void onCharacterCreated(CreateCharacterButton[] values, string name) { loadCharacters packet = new loadCharacters(); packet.name = name; Item[] equips = new Item[4]; string[] color = new string[2]; for (int i = 0; i < values.Length; i++) { if (values[i].isItem) { switch (values[i].itemType) { case "Weapon": equips[0] = new Item(values[i].itemID); break; case "Shirt": equips[1] = new Item(values[i].itemID); break; case "Pants": equips[2] = new Item(values[i].itemID); break; case "Shoes": equips[3] = new Item(values[i].itemID); break; } } else { if (values[i].colorType == "Skin") { color[0] = ColorUtility.ToHtmlStringRGB(values[i].color); } else if (values[i].colorType == "Eye") { color[1] = ColorUtility.ToHtmlStringRGB(values[i].color); } } } packet.itemsEquip = Tools.objectToByteArray(equips); packet.colorScheme = Tools.objectToByteArray(color); packet.playerName = this.name; client.Send(PacketTypes.CHARACTER_CREATE, packet); }
public void loginPlayer(NetworkMessage msg) { loadCharacters packet = msg.ReadMessage <loadCharacters>(); if (!packet.successfull) { Debug.Log("not successfull: " + packet.notSuccessfullReason); client.Disconnect(); return; } createCharacters(packet); camera.panTo(new Vector3(0, 0, 1), Quaternion.Euler(0, 90, 0), 3f, 3f); this.skillProperties = packet.skillProperties; Debug.Log("successfull: " + packet.name); this.name = packet.name; //camera.panTo (new Vector3(-1,3,-1),Quaternion.Euler(0,55,0),0.2f,0.2f); }
public void createCharacters(loadCharacters characters) { int length = characters.names.Length; for (int i = 0; i < this.charSelect.transform.childCount; i++) { if (i < length) { GameObject child = (GameObject)Instantiate(playerModel, Vector3.zero, Quaternion.identity); child.transform.SetParent(this.charSelect.transform.GetChild(i)); child.transform.localPosition = Vector3.zero; this.charSelect.transform.GetChild(i).transform.localRotation = Quaternion.Euler(0, -90, 0); PickCharacter pickChar = this.charSelect.transform.GetChild(i).GetChild(0).gameObject.AddComponent <PickCharacter>(); pickChar.name = characters.names[i]; pickChar.setLogin(this); this.gameObject.transform.parent.GetComponent <RectTransform>().localPosition = new Vector3(1200, 0, 0); this.charSelect.transform.GetChild(i).GetChild(0).GetChild(0).gameObject.GetComponent <TextMesh>().text = characters.names[i]; pickChar.camera = camera.gameObject.GetComponent <Camera>(); } } }
public void createCharacters(loadCharacters characters) { int length = characters.names.Length; List <List <Equip> > equips = (List <List <Equip> >)Tools.byteArrayToObject(characters.itemsEquip); List <string[]> colors = (List <string[]>)Tools.byteArrayToObject(characters.colorScheme); Debug.Log("Equips size:" + equips.Count); for (int i = 0; i < length; i++) { GameObject child = (GameObject)Instantiate(playerModel, Vector3.zero, Quaternion.identity); GameObject[] skin = Tools.getChildren(child.transform.GetChild(1).gameObject, "BodyModel", "HeadModel"); GameObject[] eyes = Tools.getChildren(child.transform.GetChild(1).gameObject, "Eye_L_Model", "Eye_R_Model"); setSkinColor(skin, colors[i][2]); setEyeColor(eyes, colors[i][1]); child.transform.SetParent(this.charSelect.transform.GetChild(i)); child.transform.localPosition = Vector3.zero; this.charSelect.transform.GetChild(i).transform.localRotation = Quaternion.Euler(0, 135, 0); PickCharacter pickChar = this.charSelect.transform.GetChild(i).GetChild(0).gameObject.AddComponent <PickCharacter>(); pickChar.name = characters.names[i]; pickChar.setLogin(this); equipItems(equips[i], pickChar); this.gameObject.transform.parent.GetComponent <RectTransform>().localPosition = new Vector3(1200, 0, 0); this.charSelect.transform.GetChild(i).GetChild(0).GetChild(0).gameObject.GetComponent <TextMesh>().text = characters.names[i]; pickChar.camera = camera.gameObject.GetComponent <Camera>(); } for (int i = length; i < this.charSelect.transform.childCount; i++) { GameObject child = (GameObject)Instantiate(signModel, Vector3.zero, Quaternion.identity); child.transform.SetParent(this.charSelect.transform.GetChild(i)); child.transform.localPosition = new Vector3(0, -3, 0); child.transform.localRotation = Quaternion.Euler(0, -108, 0); child.transform.localScale = new Vector3(0.7f, 0.7f, 0.7f); this.charSelect.transform.GetChild(i).transform.localRotation = Quaternion.Euler(0, 135, 0); CreateCharacter charCreate = this.charSelect.transform.GetChild(i).GetChild(0).gameObject.AddComponent <CreateCharacter>(); charCreate.setCamera(this.camera); charCreate.setCharacter(this.charCreate, playerModel); charCreate.setUI(createCharacterUI); } }
//#PLAYER LOGIN void onLogin(NetworkMessage msg) { //string connectionString = "Server=" + host + ";Database=" + database + ";Uid=Gerry;Pwd=pass;"; MySqlConnection mysqlConn; LoginPacket packet = msg.ReadMessage <LoginPacket>(); //MySqlCommand getLogin = new MySqlCommand("SELECT * FROM accounts WHERE name='" + packet.name + "' AND password='******' ",mysqlConn); MySqlDataReader reader; mysqlReader(out mysqlConn, out reader, "SELECT * FROM accounts WHERE name='" + packet.name + "' AND password='******' "); int resultAmount = 0; int id = -1; while (reader.Read()) { resultAmount++; id = reader.GetInt32("id"); } loadCharacters pack = new loadCharacters(); if (resultAmount > 0 /*!isAlreadyOnline(packet.name)*/) { pack.successfull = true; pack.name = packet.name; int characters = 0; List <string> names = new List <string>(); List <string> color = new List <string>(); List <int> stats = new List <int>(); List <int> itemsEquip = new List <int>(); mysqlReader(out mysqlConn, out reader, "SELECT * FROM characters WHERE accountID = '" + id + "'"); while (reader.Read()) { names.Add(reader.GetString("characterName")); stats.Add(reader.GetInt16("luk")); stats.Add(reader.GetInt16("str")); stats.Add(reader.GetInt16("int")); stats.Add(reader.GetInt16("dex")); stats.Add(reader.GetInt16("hp")); stats.Add(reader.GetInt16("level")); color.Add(reader.GetString("hairColor")); color.Add(reader.GetString("eyeColor")); color.Add(reader.GetString("skinColor")); color.Add(reader.GetString("eyebrowColor")); } Debug.Log("wew: " + pack.successfull); pack.colorScheme = color.ToArray(); pack.stats = stats.ToArray(); pack.itemsEquip = itemsEquip.ToArray(); pack.names = names.ToArray(); if (playerID[packet.name] == null) { playerID.Add(packet.name, getPlayerID(packet.name)); } } if (/*isAlreadyOnline(packet.name)*/ false) { pack.notSuccessfullReason = "Player already logged in"; } if (resultAmount == 50) { pack.notSuccessfullReason = "Wrong username or password"; } NetworkServer.SendToClient(msg.conn.connectionId, PacketTypes.LOGIN, pack); }