public void Execute(NetDataReader reader, int netId)
        {
            short skillId          = reader.GetShort();
            short targetSkillLevel = reader.GetShort();

            GL_Skill.s_instance.CommandUpdateSkillLevel(netId, skillId, targetSkillLevel);
        }
        public void Execute(NetDataReader reader, int netId)
        {
            short itemId = reader.GetShort();
            short num    = reader.GetShort();

            GL_Item.s_instance.CommandApplyBuyItemIntoBag(netId, itemId, num);
        }
 public void Deserialize(NetDataReader reader)
 {
     horizontal = (float)reader.GetShort() * 0.01f;
     vertical   = (float)reader.GetShort() * 0.01f;
     isJump     = reader.GetBool();
     timestamp  = (float)reader.GetShort() * 0.01f;
 }
    public static Quaternion DeserializeQuaternion(NetDataReader reader)
    {
        // Read values from the wire and map back to normal float precision.
        byte  maxIndex = reader.GetByte();
        float a        = reader.GetShort() / QUAT_FLOAT_PRECISION_MULT;
        float b        = reader.GetShort() / QUAT_FLOAT_PRECISION_MULT;
        float c        = reader.GetShort() / QUAT_FLOAT_PRECISION_MULT;

        // Reconstruct the fourth value.
        float d = Mathf.Sqrt(1f - (a * a + b * b + c * c));

        switch (maxIndex)
        {
        case 0:
            return(new Quaternion(d, a, b, c));

        case 1:
            return(new Quaternion(a, d, b, c));

        case 2:
            return(new Quaternion(a, b, d, c));

        case 3:
            return(new Quaternion(a, b, c, d));

        default:
            throw new System.InvalidProgramException("Unexpected quaternion index.");
        }
    }
        public static NO_AttributeCharacter GetAttributeCharacter(this NetDataReader reader)
        {
            int    netId         = reader.GetInt();
            int    charId        = reader.GetInt();
            string name          = reader.GetString();
            short  lv            = reader.GetShort();
            short  str           = reader.GetShort();
            short  intl          = reader.GetShort();
            short  sprt          = reader.GetShort();
            short  agl           = reader.GetShort();
            int    maxHp         = reader.GetInt();
            int    maxMp         = reader.GetInt();
            int    dHp           = reader.GetInt();
            int    dMp           = reader.GetInt();
            int    atk           = reader.GetInt();
            int    def           = reader.GetInt();
            int    mag           = reader.GetInt();
            int    res           = reader.GetInt();
            int    tenacity      = reader.GetInt();
            int    speed         = reader.GetInt();
            int    criticalRate  = reader.GetInt();
            int    criticalBonus = reader.GetInt();
            int    hitRate       = reader.GetInt();
            int    dodgeRate     = reader.GetInt();
            int    lifeSteal     = reader.GetInt();
            int    dmgReduction  = reader.GetInt();

            return(new NO_AttributeCharacter(netId, charId, name, lv, str, intl, sprt, agl, maxHp, maxMp, dHp, dMp, atk, def, mag, res, tenacity, speed, criticalRate, criticalBonus, hitRate, dodgeRate, lifeSteal, dmgReduction));
        }
Пример #6
0
        public object Deserialize(NetDataReader stream)
        {
            if (!stream.GetBool())
            {
                return(null);
            }

            DefIDFull defId = default;
            var       crcId = stream.GetULong();
            var       root  = stream.GetBool();

            if (root)
            {
                defId = DefsHolder.Instance.NetIDs.GetID(crcId, 0, 0, 0);
            }
            else
            {
                var line  = stream.GetShort();
                var col   = stream.GetShort();
                var proto = stream.GetByte();
                defId = DefsHolder.Instance.NetIDs.GetID(crcId, line, col, proto);
            }

            return(DefsHolder.Instance.LoadResource <IDef>(defId));
        }
Пример #7
0
 public void Deserialize(NetDataReader reader)
 {
     dataId = reader.GetInt();
     level  = reader.GetShort();
     amount = reader.GetShort();
     lockRemainsDuration = reader.GetFloat();
     // Read only needed data
     if (GetEquipmentItem() != null)
     {
         durability = reader.GetFloat();
         exp        = reader.GetInt();
         if (GetWeaponItem() != null)
         {
             ammo = reader.GetShort();
             int socketCount = reader.GetByte();
             Sockets.Clear();
             for (int i = 0; i < socketCount; ++i)
             {
                 Sockets.Add(reader.GetInt());
             }
         }
     }
     if (GetPetItem() != null)
     {
         exp = reader.GetInt();
     }
 }
 public void Deserialize(NetDataReader reader)
 {
     StorageType    = (StorageType)reader.GetByte();
     StorageOwnerId = reader.GetString();
     WeightLimit    = reader.GetShort();
     SlotLimit      = reader.GetShort();
     Item           = reader.GetValue <CharacterItem>();
 }
 public void Deserialize(NetDataReader reader)
 {
     StorageType    = (StorageType)reader.GetByte();
     StorageOwnerId = reader.GetString();
     WeightLimit    = reader.GetShort();
     SlotLimit      = reader.GetShort();
     DataId         = reader.GetInt();
     Amount         = reader.GetShort();
 }
Пример #10
0
        public void Execute(NetDataReader reader, int netId)
        {
            short strength     = reader.GetShort();
            short intelligence = reader.GetShort();
            short agility      = reader.GetShort();
            short spirit       = reader.GetShort();

            GL_CharacterAttribute.s_instance.CommandApplyDistributePoints(netId, strength, intelligence, agility, spirit);
        }
Пример #11
0
 public void Deserialize(NetDataReader reader)
 {
     dataId              = reader.GetInt();
     level               = reader.GetShort();
     amount              = reader.GetShort();
     durability          = reader.GetFloat();
     exp                 = reader.GetInt();
     lockRemainsDuration = reader.GetFloat();
 }
 public void Deserialize(NetDataReader reader)
 {
     CharacterId    = reader.GetString();
     StorageType    = (StorageType)reader.GetByte();
     StorageOwnerId = reader.GetString();
     FromIndex      = reader.GetInt();
     ToIndex        = reader.GetInt();
     WeightLimit    = reader.GetShort();
     SlotLimit      = reader.GetShort();
 }
        public static NO_Item GetItem(this NetDataReader reader)
        {
            ItemPlace ip     = (ItemPlace)reader.GetByte();
            short     pos    = reader.GetShort();
            long      realId = reader.GetLong();
            short     itemId = reader.GetShort();
            short     num    = reader.GetShort();

            return(new NO_Item(ip, pos, realId, itemId, num));
        }
        public static NO_GroundItem GetGroundItem(this NetDataReader reader)
        {
            long    gndItemId = reader.GetLong();
            short   itemId    = reader.GetShort();
            short   num       = reader.GetShort();
            int     charId    = reader.GetInt();
            Vector2 pos       = reader.GetVector2();

            return(new NO_GroundItem(gndItemId, itemId, num, charId, pos));
        }
        public static NO_MarketItem GetMarketItem(this NetDataReader reader)
        {
            long  realId         = reader.GetLong();
            short itemId         = reader.GetShort();
            short onSaleNum      = reader.GetShort();
            long  virtualCyPrice = reader.GetLong();
            long  chargeCyPrice  = reader.GetLong();

            return(new NO_MarketItem(realId, itemId, onSaleNum, virtualCyPrice, chargeCyPrice));
        }
        public static NO_FightCapacityRankInfo GetFightCapacityRankInfo(this NetDataReader reader)
        {
            int    charId        = reader.GetInt();
            string name          = reader.GetString();
            short  rank          = reader.GetShort();
            short  level         = reader.GetShort();
            int    fightCapacity = reader.GetInt();
            string family        = reader.GetString();
            byte   occupation    = reader.GetByte();

            return(new NO_FightCapacityRankInfo(charId, name, level, rank, fightCapacity, family, occupation));
        }
Пример #17
0
 public void Deserialize(NetDataReader reader)
 {
     CharacterId         = reader.GetString();
     StorageType         = (StorageType)reader.GetByte();
     StorageOwnerId      = reader.GetString();
     InventoryItemIndex  = reader.GetInt();
     InventoryItemAmount = reader.GetShort();
     StorageItemIndex    = reader.GetInt();
     WeightLimit         = reader.GetShort();
     SlotLimit           = reader.GetShort();
     Inventory           = reader.GetList <CharacterItem>();
 }
        public static NO_SightCharacter GetSightCharacter(this NetDataReader reader)
        {
            int            netId              = reader.GetInt();
            int            charId             = reader.GetInt();
            Vector2        pos                = reader.GetVector2();
            OccupationType ocp                = (OccupationType)reader.GetByte();
            string         name               = reader.GetString();
            short          lv                 = reader.GetShort();
            bool           isMarket           = reader.GetBool();
            short          attachedTitleMisId = reader.GetShort();

            return(new NO_SightCharacter(netId, charId, pos, ocp, name, lv, isMarket, attachedTitleMisId));
        }
        public void Deserialize(NetDataReader reader)
        {
            type = (UpdateType)reader.GetByte();
            id   = reader.GetInt();
            switch (type)
            {
            case UpdateType.Create:
                guildName   = reader.GetString();
                characterId = reader.GetString();
                break;

            case UpdateType.ChangeLeader:
                characterId = reader.GetString();
                break;

            case UpdateType.SetGuildMessage:
                guildMessage = reader.GetString();
                break;

            case UpdateType.SetGuildRole:
                guildRole          = reader.GetByte();
                roleName           = reader.GetString();
                canInvite          = reader.GetBool();
                canKick            = reader.GetBool();
                shareExpPercentage = reader.GetByte();
                break;

            case UpdateType.SetGuildMemberRole:
                characterId = reader.GetString();
                guildRole   = reader.GetByte();
                break;

            case UpdateType.SetSkillLevel:
                dataId = reader.GetInt();
                level  = reader.GetShort();
                break;

            case UpdateType.SetGold:
                gold = reader.GetInt();
                break;

            case UpdateType.LevelExpSkillPoint:
                level      = reader.GetShort();
                exp        = reader.GetInt();
                skillPoint = reader.GetShort();
                break;
            }
        }
Пример #20
0
        public void Deserialize(NetDataReader reader)
        {
            var count = reader.GetInt();

            Clear();
            for (var i = 0; i < count; ++i)
            {
                var dealingItem = new DealingCharacterItem();
                dealingItem.nonEquipIndex = reader.GetInt();
                dealingItem.dataId        = reader.GetInt();
                dealingItem.level         = reader.GetShort();
                dealingItem.amount        = reader.GetShort();
                dealingItem.durability    = reader.GetFloat();
                Add(dealingItem);
            }
        }
Пример #21
0
        public UpdateVariableData(NetDataReader reader, NetPeer sender) : base(sender)
        {
            variabeleDataType = (VariableDataType)reader.GetShort();
            variableName      = reader.GetString();
            objectID          = reader.GetLong();
            switch (variabeleDataType)
            {
            case VariableDataType.Bool:
                this.variableDataBool = reader.GetBool();
                break;

            case VariableDataType.Float:
                this.variableDataFloat = reader.GetFloat();
                break;

            case VariableDataType.Long:
                this.variableDataLong = reader.GetLong();
                break;

            case VariableDataType.String:
                this.variableDataString = reader.GetString();
                break;

            case VariableDataType.Vector2:
                this.variableDataVector2 = reader.GetVector2();
                break;
            }
        }
Пример #22
0
 public void Deserialize(NetDataReader reader)
 {
     type   = (BuffType)reader.GetByte();
     dataId = reader.GetInt();
     level  = reader.GetShort();
     buffRemainsDuration = reader.GetFloat();
 }
Пример #23
0
        public void Execute(NetDataReader reader, int netId)
        {
            long  realId = reader.GetLong();
            short num    = reader.GetShort();

            GL_Item.s_instance.CommandApplySellItemInBag(netId, realId, num);
        }
Пример #24
0
        public void Execute(NetDataReader reader, int netId)
        {
            long  realId = reader.GetLong();
            short num    = reader.GetShort();

            GL_Item.s_instance.CommandDropItemOntoGround(netId, realId, num);
        }
Пример #25
0
        public void Deserialize(NetDataReader reader)
        {
            UnitId   = reader.GetUShort();
            UnitMesh = reader.GetByte();
            PosX     = reader.GetShort();
            PosY     = reader.GetShort();

            bool[] bdata = ByteToBool(reader.GetByte());
            Attack      = bdata[0];
            PlayerOwned = bdata[1];
            HasEffect   = bdata[2];
            HasHealth   = bdata[3];
            Alive       = bdata[4];
            HasExp      = bdata[5];
            Upgrade     = bdata[6];
            CustomSize  = bdata[7];

            if (Alive && HasHealth)
            {
                Health = reader.GetByte();
            }
            if (Alive)
            {
                Rot = reader.GetByte();
            }
            if (HasEffect)
            {
                VisualEffect = (VisualEffect)reader.GetByte();
            }
            if (Attack)
            {
                Target = reader.GetUShort();
            }
            if (HasExp)
            {
                Exp = reader.GetByte();
            }
            if (Upgrade)
            {
                UnitSkin = reader.GetByte();
            }
            if (CustomSize)
            {
                UnitSize = reader.GetByte();
            }
        }
        public static NO_Status GetStatus(this NetDataReader reader)
        {
            short statusId = reader.GetShort();
            int   value    = reader.GetInt();
            float time     = reader.GetFloat();

            return(new NO_Status(statusId, value, time));
        }
Пример #27
0
 public SpawnData(NetDataReader reader, NetPeer sender) : base(sender)
 {
     spawnType = (ObjectType)reader.GetShort();
     owner     = reader.GetLong();
     objectID  = reader.GetLong();
     position  = reader.GetVector3();
     rotation  = reader.GetVector3();
     scale     = reader.GetVector3();
 }
        public static NO_Monster GetMonster(this NetDataReader reader)
        {
            int         netId     = reader.GetInt();
            Vector2     pos       = reader.GetVector2();
            short       monsterId = reader.GetShort();
            MonsterType monType   = (MonsterType)reader.GetByte();

            return(new NO_Monster(netId, pos, monsterId, monType));
        }
        public static NO_MallItem GetMallItem(this NetDataReader reader)
        {
            int   mallItemId     = reader.GetInt();
            short itemId         = reader.GetShort();
            long  virtualCyPrice = reader.GetLong();
            long  chargeCyPrice  = reader.GetLong();

            return(new NO_MallItem(mallItemId, itemId, virtualCyPrice, chargeCyPrice));
        }
        public static NO_LoginCharacter GetLoginCharacter(this NetDataReader reader)
        {
            int            charId = reader.GetInt();
            OccupationType ocp    = (OccupationType)reader.GetByte();
            string         name   = reader.GetString();
            short          lv     = reader.GetShort();

            return(new NO_LoginCharacter(charId, ocp, name, lv));
        }