Ejemplo n.º 1
0
 public static void WriteBoolean(this IWritableBuffer bw, bool val)
 {
     if (val)
     {
         bw.WriteByte(1);
     }
     else
     {
         bw.WriteByte(0);
     }
 }
Ejemplo n.º 2
0
 public void Encode(IWritableBuffer bw)
 {
     this.mask.Encode(bw);
     if (mask.CheckFlag(__FLAG_UNITID))
     {
         bw.WriteInt(_unitId);
     }
     if (mask.CheckFlag(__FLAG_BASEVALUE))
     {
         bw.WriteInt(_baseValue);
     }
     if (mask.CheckFlag(__FLAG_VALUE))
     {
         bw.WriteInt(_value);
     }
     if (mask.CheckFlag(__FLAG_DAMAGETYPE))
     {
         bw.WriteInt(_damageType);
     }
     if (mask.CheckFlag(__FLAG_DAMAGEFLAG))
     {
         bw.WriteInt(_damageFlag);
     }
     if (mask.CheckFlag(__FLAG_KILLEDPARAM))
     {
         bw.WriteByte(_killedParam);
     }
 }
Ejemplo n.º 3
0
 public void Encode(IWritableBuffer bw)
 {
     this.mask.Encode(bw);
     if (mask.CheckFlag(__FLAG_UNITID))
     {
         bw.WriteInt(_unitId);
     }
     if (mask.CheckFlag(__FLAG_TYPE))
     {
         bw.WriteByte(_type);
     }
     if (mask.CheckFlag(__FLAG_X))
     {
         bw.WriteFloat(_x);
     }
     if (mask.CheckFlag(__FLAG_Y))
     {
         bw.WriteFloat(_y);
     }
     if (mask.CheckFlag(__FLAG_Z))
     {
         bw.WriteFloat(_z);
     }
     if (mask.CheckFlag(__FLAG_FACETO))
     {
         bw.WriteFloat(_faceTo);
     }
 }
Ejemplo n.º 4
0
        public static void WriteUnsignedVarint(this IWritableBuffer bw, long mv)
        {
            long value = mv;
            byte b;

            while (true)
            {
                b     = (byte)(value & 0x7F);
                value = (value >> 7) & 0x1FFFFFFFFFFFFFFL;
                if (value != 0)
                {
                    b |= 0x80;
                    bw.WriteByte(b);
                }
                else
                {
                    bw.WriteByte(b);
                    break;
                }
            }
        }
Ejemplo n.º 5
0
 public void Encode(IWritableBuffer bw)
 {
     this.mask.Encode(bw);
     if (mask.CheckFlag(__FLAG_UNITID))
     {
         bw.WriteInt(_unitId);
     }
     if (mask.CheckFlag(__FLAG_FACETO))
     {
         bw.WriteFloat(_faceTo);
     }
     if (mask.CheckFlag(__FLAG_X))
     {
         bw.WriteFloat(_x);
     }
     if (mask.CheckFlag(__FLAG_Y))
     {
         bw.WriteFloat(_y);
     }
     if (mask.CheckFlag(__FLAG_Z))
     {
         bw.WriteFloat(_z);
     }
     if (mask.CheckFlag(__FLAG_HPPERCENT))
     {
         bw.WriteFloat(_hpPercent);
     }
     if (mask.CheckFlag(__FLAG_MPPERCENT))
     {
         bw.WriteFloat(_mpPercent);
     }
     if (mask.CheckFlag(__FLAG_ACTIONSTATE))
     {
         bw.WriteByte(_actionState);
     }
     if (mask.CheckFlag(__FLAG_ANIMPLAYCODE))
     {
         bw.WriteInt(_AnimPlayCode);
     }
     if (mask.CheckFlag(__FLAG_ANIMPLAYTIME))
     {
         bw.WriteFloat(_AnimPlayTime);
     }
     if (mask.CheckFlag(__FLAG_EFFECTSHOW))
     {
         bw.WriteInt(_effectShow);
     }
     if (mask.CheckFlag(__FLAG_CONTROLFLAG))
     {
         bw.WriteInt(_controlFlag);
     }
 }
Ejemplo n.º 6
0
        public static void WriteVarint(this IWritableBuffer bw, long val)
        {
            byte b;

            if (val < 0)
            {
                val = ~val;
                b   = (byte)(val & 0x3F);
                b  |= 0x40;
            }
            else
            {
                b = (byte)(val & 0x3F);
            }
            val = val >> 6;
            if (val != 0)
            {
                b |= 0x80;
            }
            bw.WriteByte(b);
            while (val != 0)
            {
                b   = (byte)(val & 0x7F);
                val = val >> 7;
                if (val != 0)
                {
                    b |= 0x80;
                    bw.WriteByte(b);
                }
                else
                {
                    bw.WriteByte(b);
                    break;
                }
            }
        }
Ejemplo n.º 7
0
 public void Encode(IWritableBuffer bw)
 {
     this.mask.Encode(bw);
     if (mask.CheckFlag(__FLAG_TYPE))
     {
         bw.WriteByte(_type);
     }
     if (mask.CheckFlag(__FLAG_UUID))
     {
         bw.WriteLong(_uuid);
     }
     if (mask.CheckFlag(__FLAG_UNITS))
     {
         bw.WriteArray(_units);
     }
 }
Ejemplo n.º 8
0
 public void EncodeTo(IWritableBuffer bw)
 {
     bw.WriteUTF8(route);
     bw.WriteByte((byte)ptype);
     if (ptype == ProtoType.Request)
     {
         bw.WriteUTF8(c2sdt);
         bw.WriteUTF8(s2cdt);
     }
     else if (ptype == ProtoType.Notify)
     {
         bw.WriteUTF8(c2sdt);
     }
     else if (ptype == ProtoType.Push)
     {
         bw.WriteUTF8(s2cdt);
     }
 }
Ejemplo n.º 9
0
        public void Encode(IWritableBuffer bw)
        {
            switch (Tmpl.token)
            {
            case DDToken.ft_bool:
                if (Tmpl.isArray)
                {
                    bw.WriteBooleanArray((bool[])arrValue);
                }
                else
                {
                    var bv = int32Value != 0 ? true : false;
                    bw.WriteBoolean(bv);
                }
                break;

            case DDToken.ft_byte:
                if (Tmpl.isArray)
                {
                    bw.WriteByteArray((byte[])arrValue);
                }
                else
                {
                    bw.WriteByte((byte)int32Value);
                }
                break;

            case DDToken.ft_int16:
                if (Tmpl.isArray)
                {
                    bw.WriteShortArray((short[])arrValue);
                }
                else
                {
                    bw.WriteShort((short)int32Value);
                }
                break;

            case DDToken.ft_int32:
                if (Tmpl.isArray)
                {
                    bw.WriteIntArray((int[])arrValue);
                }
                else
                {
                    bw.WriteInt(int32Value);
                }
                break;

            case DDToken.ft_int64:
                if (Tmpl.isArray)
                {
                    bw.WriteLongArray((long[])arrValue);
                }
                else
                {
                    bw.WriteLong(int64Value);
                }
                break;

            case DDToken.ft_intXU:
                if (Tmpl.isArray)
                {
                    bw.WriteUnsignedVarintArray((long[])arrValue);
                }
                else
                {
                    bw.WriteUnsignedVarint(int64Value);
                }
                break;

            case DDToken.ft_intX:
                if (Tmpl.isArray)
                {
                    bw.WriteVarintArray((long[])arrValue);
                }
                else
                {
                    bw.WriteVarint(int64Value);
                }
                break;

            case DDToken.ft_float:
                if (Tmpl.isArray)
                {
                    bw.WriteFloatArray((float[])arrValue);
                }
                else
                {
                    bw.WriteFloat(floatValue);
                }
                break;

            case DDToken.ft_float16:
                if (Tmpl.isArray)
                {
                    bw.WriteFloat16Array((float[])arrValue);
                }
                else
                {
                    bw.WriteFloat16(floatValue);
                }
                break;

            case DDToken.ft_str:
                if (Tmpl.isArray)
                {
                    bw.WriteUTF8Array((string[])arrValue);
                }
                else
                {
                    bw.WriteUTF8(strValue);
                }
                break;

            case DDToken.ft_object:
                if (Tmpl.isArray)
                {
                    bw.WriteNodeArray((DDNode[])arrValue, Tmpl);
                }
                else
                {
                    bw.WritNode(objValue, Tmpl);
                }
                break;
            }
        }
Ejemplo n.º 10
0
 public void Encode(IWritableBuffer bw)
 {
     this.mask.Encode(bw);
     if (mask.CheckFlag(__FLAG_PLAYERID))
     {
         bw.WriteInt(_playerId);
     }
     if (mask.CheckFlag(__FLAG_UID))
     {
         bw.WriteInt(_uid);
     }
     if (mask.CheckFlag(__FLAG_NAME))
     {
         bw.WriteUTF8(_name);
     }
     if (mask.CheckFlag(__FLAG_APPEARANCE))
     {
         bw.WriteUTF8(_appearance);
     }
     if (mask.CheckFlag(__FLAG_CATEGORY))
     {
         bw.WriteByte(_category);
     }
     if (mask.CheckFlag(__FLAG_TYPE))
     {
         bw.WriteByte(_type);
     }
     if (mask.CheckFlag(__FLAG_CAMP))
     {
         bw.WriteByte(_camp);
     }
     if (mask.CheckFlag(__FLAG_LEV))
     {
         bw.WriteShort(_lev);
     }
     if (mask.CheckFlag(__FLAG_X))
     {
         bw.WriteFloat(_x);
     }
     if (mask.CheckFlag(__FLAG_Y))
     {
         bw.WriteFloat(_y);
     }
     if (mask.CheckFlag(__FLAG_Z))
     {
         bw.WriteFloat(_z);
     }
     if (mask.CheckFlag(__FLAG_FACETO))
     {
         bw.WriteFloat(_faceTo);
     }
     if (mask.CheckFlag(__FLAG_HPPERCENT))
     {
         bw.WriteFloat(_hpPercent);
     }
     if (mask.CheckFlag(__FLAG_MPPERCENT))
     {
         bw.WriteFloat(_mpPercent);
     }
     if (mask.CheckFlag(__FLAG_MOVESPEED))
     {
         bw.WriteShort(_moveSpeed);
     }
     if (mask.CheckFlag(__FLAG_ACTIONSTATE))
     {
         bw.WriteByte(_actionState);
     }
     if (mask.CheckFlag(__FLAG_CURRENTANIM))
     {
         bw.WriteInt(_currentAnim);
     }
     if (mask.CheckFlag(__FLAG_EFFECTSHOW))
     {
         bw.WriteInt(_effectShow);
     }
     if (mask.CheckFlag(__FLAG_CONTROLFLAG))
     {
         bw.WriteInt(_controlFlag);
     }
     if (mask.CheckFlag(__FLAG_BUFFSDATA))
     {
         bw.WriteArray(_buffsData);
     }
 }