Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
    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>();
            }
        }
    }
Ejemplo n.º 4
0
    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);
        }
    }
Ejemplo n.º 5
0
    //#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);
    }