Ejemplo n.º 1
0
 public void ShowCreateCharacter()
 {
     _data            = new CreateCharacterData();
     _data.ShirtColor = Utility.RandomValue(600, 900);
     _data.PantsColor = Utility.RandomValue(600, 900);
     openSkillsGump();
 }
        public bool Serialize(CreateCharacterData data)
        {
            bool ret = true;

            ret &= Serialize(data.Gender);
            ret &= Serialize(data.HClass);
            ret &= Serialize(data.HName);
            return(ret);
        }
 internal void RestoreData(CreateCharacterData m_Data)
 {
     Name          = m_Data.Name;
     Gender        = m_Data.Gender;
     HairID        = m_Data.HairStyleID;
     FacialHairID  = m_Data.FacialHairStyleID;
     SkinHue       = m_Data.SkinHue;
     HairHue       = m_Data.HairHue;
     FacialHairHue = m_Data.FacialHairHue;
 }
 internal void SaveData(CreateCharacterData data)
 {
     data.HasAppearanceData = true;
     data.Name              = Name;
     data.Gender            = Gender;
     data.HairStyleID       = HairID;
     data.FacialHairStyleID = FacialHairID;
     data.SkinHue           = SkinHue;
     data.HairHue           = HairHue;
     data.FacialHairHue     = FacialHairHue;
 }
Ejemplo n.º 5
0
 internal void RestoreData(CreateCharacterData data)
 {
     Strength     = data.Attributes[0];
     Dexterity    = data.Attributes[1];
     Intelligence = data.Attributes[2];
     SkillIndex0  = data.SkillIndexes[0];
     SkillIndex1  = data.SkillIndexes[1];
     SkillIndex2  = data.SkillIndexes[2];
     SkillPoints0 = data.SkillValues[0];
     SkillPoints1 = data.SkillValues[1];
     SkillPoints2 = data.SkillValues[2];
 }
Ejemplo n.º 6
0
    //캐릭터 생성 -> Server
    public void CreateCharacter(int gender, int hClass, string name)
    {
        Debug.Log("캐릭터 생성");

        CreateCharacterData   createCharacterData   = new CreateCharacterData((byte)gender, (byte)hClass, name);
        CreateCharacterPacket createCharacterPacket = new CreateCharacterPacket(createCharacterData);

        createCharacterPacket.SetPacketId((int)ClientPacketId.CreateCharacter);

        DataPacket packet = new DataPacket(CreatePacket(createCharacterPacket), null);

        sendMsgs.Enqueue(packet);
    }
Ejemplo n.º 7
0
 internal void SaveData(CreateCharacterData data)
 {
     // save the values;
     data.Attributes[0]   = Strength;
     data.Attributes[1]   = Dexterity;
     data.Attributes[2]   = Intelligence;
     data.SkillIndexes[0] = SkillIndex0;
     data.SkillIndexes[1] = SkillIndex1;
     data.SkillIndexes[2] = SkillIndex2;
     data.SkillValues[0]  = SkillPoints0;
     data.SkillValues[1]  = SkillPoints1;
     data.SkillValues[2]  = SkillPoints2;
     data.HasSkillData    = true;
 }
Ejemplo n.º 8
0
    public bool CreateHero(CreateCharacterData createData)
    {
        int index = FindEmptySlot();

        if (index < 0)
        {
            Console.WriteLine("영웅 최대 생성수를 초과하였습니다.");
            return(false);
        }

        heroData[index] = new HeroData(createData.HName, createData.Gender, createData.HClass);

        return(true);
    }
Ejemplo n.º 9
0
    //캐릭터 생성
    public void CreateCharacter(DataPacket packet)
    {
        Console.WriteLine(packet.client.RemoteEndPoint.ToString() + "캐릭터 생성");

        CreateCharacterPacket createCharacterPacket = new CreateCharacterPacket(packet.msg);
        CreateCharacterData   createCharacterData   = createCharacterPacket.GetData();

        Console.WriteLine("이름 : " + createCharacterData.HName);
        Console.WriteLine("직업 : " + createCharacterData.HClass);
        Console.WriteLine("성별 : " + createCharacterData.Gender);

        string   id       = loginUser[packet.client];
        UserData userData = database.GetUserData(id);

        Result result = Result.Fail;

        try
        {
            userData.CreateHero(createCharacterData);
            database.FileSave(id + ".data", userData);

            result = Result.Success;
        }
        catch
        {
            Console.WriteLine("DataHandler::CreateCharacter.CreateHero 에러");
            result = Result.Fail;
        }

        ResultData   resultData       = new ResultData((byte)result);
        ResultPacket resultDataPacket = new ResultPacket(resultData);

        resultDataPacket.SetPacketId((int)ServerPacketId.CreateCharacterResult);

        byte[] msg = CreatePacket(resultDataPacket);
        packet = new DataPacket(msg, packet.client);

        lock (sendLock)
        {
            sendMsgs.Enqueue(packet);
        }
    }
        internal CreateCharacterPacket(CreateCharacterData data, short locationIndex, short slotNumber, int clientIp)
            : base(0x00, "Create Character", 104)
        {
            int str   = (byte)MathHelper.Clamp(data.Attributes[0], 10, 60);
            int dex   = (byte)MathHelper.Clamp(data.Attributes[1], 10, 60);
            int intel = (byte)MathHelper.Clamp(data.Attributes[2], 10, 60);

            if (str + dex + intel != 80)
            {
                throw new Exception("Unable to create character with a combined stat total not equal to 80.");
            }

            Stream.Write(0xedededed);
            Stream.Write(0xffffffff);
            Stream.Write((byte)0);
            Stream.WriteAsciiFixed(data.Name, 30);
            Stream.WriteAsciiFixed(string.Empty, 30);
            Stream.Write((byte)((int)(Genders)data.Gender + (int)(Races)0));
            Stream.Write((byte)str);
            Stream.Write((byte)dex);
            Stream.Write((byte)intel);

            Stream.Write((byte)data.SkillIndexes[0]);
            Stream.Write((byte)data.SkillValues[0]);
            Stream.Write((byte)data.SkillIndexes[1]);
            Stream.Write((byte)data.SkillValues[1]);
            Stream.Write((byte)data.SkillIndexes[2]);
            Stream.Write((byte)data.SkillValues[2]);

            Stream.Write((short)data.SkinHue);
            Stream.Write((short)data.HairStyleID);
            Stream.Write((short)data.HairHue);
            Stream.Write((short)data.FacialHairStyleID);
            Stream.Write((short)data.FacialHairHue);
            Stream.Write((short)locationIndex);
            Stream.Write((short)slotNumber);
            Stream.Write((short)0);

            Stream.Write(clientIp);
            Stream.Write((short)data.ShirtColor);
            Stream.Write((short)data.PantsColor);
        }
        public bool Deserialize(ref CreateCharacterData element)
        {
            if (GetDataSize() == 0)
            {
                // 데이터가 설정되지 않았다.
                return(false);
            }

            bool   ret    = true;
            byte   gender = 0;
            byte   hClass = 0;
            string hName  = "";

            ret &= Deserialize(ref gender);
            ret &= Deserialize(ref hClass);
            ret &= Deserialize(out hName, (int)GetDataSize());

            element = new CreateCharacterData(gender, hClass, hName);

            return(ret);
        }
Ejemplo n.º 12
0
        internal CreateCharacterPacket(CreateCharacterData data, short locationIndex, short slotNumber, int clientIp)
            : base(0x00, "Create Character", 104)
        {
            int str = (byte)MathHelper.Clamp(data.Attributes[0], 10, 60);
            int dex = (byte)MathHelper.Clamp(data.Attributes[1], 10, 60);
            int intel = (byte)MathHelper.Clamp(data.Attributes[2], 10, 60);

            if (str + dex + intel != 80)
                throw new Exception("Unable to create character with a combined stat total not equal to 80.");

            Stream.Write(0xedededed);
            Stream.Write(0xffffffff);
            Stream.Write((byte)0);
            Stream.WriteAsciiFixed(data.Name, 30);
            Stream.WriteAsciiFixed(string.Empty, 30);
            Stream.Write((byte)((int)(Genders)data.Gender + (int)(Races)0));
            Stream.Write((byte)str);
            Stream.Write((byte)dex);
            Stream.Write((byte)intel);

            Stream.Write((byte)data.SkillIndexes[0]);
            Stream.Write((byte)data.SkillValues[0]);
            Stream.Write((byte)data.SkillIndexes[1]);
            Stream.Write((byte)data.SkillValues[1]);
            Stream.Write((byte)data.SkillIndexes[2]);
            Stream.Write((byte)data.SkillValues[2]);

            Stream.Write((short)data.SkinHue);
            Stream.Write((short)data.HairStyleID);
            Stream.Write((short)data.HairHue);
            Stream.Write((short)data.FacialHairStyleID);
            Stream.Write((short)data.FacialHairHue);
            Stream.Write((short)locationIndex);
            Stream.Write((short)slotNumber);
            Stream.Write((short)0);

            Stream.Write(clientIp);
            Stream.Write((short)data.ShirtColor);
            Stream.Write((short)data.PantsColor);
        }
Ejemplo n.º 13
0
 internal void RestoreData(CreateCharacterData data)
 {
     Strength = data.Attributes[0];
     Dexterity = data.Attributes[1];
     Intelligence = data.Attributes[2];
     SkillIndex0 = data.SkillIndexes[0];
     SkillIndex1 = data.SkillIndexes[1];
     SkillIndex2 = data.SkillIndexes[2];
     SkillPoints0 = data.SkillValues[0];
     SkillPoints1 = data.SkillValues[1];
     SkillPoints2 = data.SkillValues[2];
 }
Ejemplo n.º 14
0
 internal void SaveData(CreateCharacterData data)
 {
     // save the values;
     data.Attributes[0] = Strength;
     data.Attributes[1] = Dexterity;
     data.Attributes[2] = Intelligence;
     data.SkillIndexes[0] = SkillIndex0;
     data.SkillIndexes[1] = SkillIndex1;
     data.SkillIndexes[2] = SkillIndex2;
     data.SkillValues[0] = SkillPoints0;
     data.SkillValues[1] = SkillPoints1;
     data.SkillValues[2] = SkillPoints2;
     data.HasSkillData = true;
 }
Ejemplo n.º 15
0
 internal void RestoreData(CreateCharacterData m_Data)
 {
     Name = m_Data.Name;
     Gender = m_Data.Gender;
     HairID = m_Data.HairStyleID;
     FacialHairID = m_Data.FacialHairStyleID;
     SkinHue = m_Data.SkinHue;
     HairHue = m_Data.HairHue;
     FacialHairHue = m_Data.FacialHairHue;
 }
Ejemplo n.º 16
0
 public void ShowCreateCharacter()
 {
     m_Data = new CreateCharacterData();
     m_Data.ShirtColor = Utility.RandomValue(600, 900);
     m_Data.PantsColor = Utility.RandomValue(600, 900);
     openSkillsGump();
 }
Ejemplo n.º 17
0
 internal void SaveData(CreateCharacterData data)
 {
     data.HasAppearanceData = true;
     data.Name = Name;
     data.Gender = Gender;
     data.HairStyleID = HairID;
     data.FacialHairStyleID = FacialHairID;
     data.SkinHue = SkinHue;
     data.HairHue = HairHue;
     data.FacialHairHue = FacialHairHue;
 }