Beispiel #1
0
        public int   _id;               //  identify

        public PAG_DELETE(int id)
        {
            header = JFTools.size(typeof(PAG_DELETE));
            len    = 0;
            no     = (uint)MSG_ID.DELETE;
            _id    = id;
        }
Beispiel #2
0
 public PAG_STRING(byte[]  _c)
 {
     header  = JFTools.size(typeof(PAG_STRING));
     len     = 0;
     no      = (uint)MSG_ID.TEST_STRING;
     content = _c;
 }
Beispiel #3
0
    public static byte []  RecvPackage(Socket sock)
    {
        int len;

        JFPackage.PAG_HEAD head = new JFPackage.PAG_HEAD();
        while (true)
        {
            len = recveSize(sock, PackageContext, JFPackage.HEAD_LENGTH, 0);
            if (len <= 0)
            {
                GameDebug.Log("head recveSize:" + len);
                break;
            }
            head = (JFPackage.PAG_HEAD)JFTools.BytesToStruct(PackageContext, head.GetType());
            //GameDebug.Log("head.header:"+head.header+":"+head.no);

            if (head.header > 0)
            {
                len = recveSize(sock, PackageContext, head.header - JFPackage.HEAD_LENGTH, JFPackage.HEAD_LENGTH);
                //GameDebug.Log("body recveSize:"+len);
                if (len <= 0)
                {
                    GameDebug.Log("body recveSize:" + len);
                    break;
                }
                return(PackageContext);
            }
            else
            {
                GameDebug.Log("head.header <= 0:" + head.no);
            }
        }
        return(null);
    }
Beispiel #4
0
 public void SendMessage(JFPackage.IPackage obj, System.Action <bool> cbSendSuccess)
 {
     if (!clientSocket.Connected)
     {
         clientSocket.Close();
         return;
     }
     try
     {
         Byte[] data = JFTools.StructToBytes(obj);
         //GameDebug.Log("data len"+data.Length);
         IAsyncResult asyncSend = clientSocket.BeginSend(data, 0, data.Length, SocketFlags.None, new AsyncCallback(sendCallBack), cbSendSuccess);
         bool         success   = asyncSend.AsyncWaitHandle.WaitOne(5000, true);
         if (!success)
         {
             clientSocket.Close();
             GameDebug.Log("Time out !");
             cbSendSuccess(false);
         }
     }
     catch (Exception e)
     {
         GameDebug.LogError("Send message error:" + e);
     }
 }
Beispiel #5
0
 public PAG_EnetrMap(short mapid)
 {
     header = JFTools.size(typeof(PAG_EnetrMap));
     len    = 0;
     no     = (uint)MSG_ID.ENTRPMAP;
     _mapid = mapid;
 }
Beispiel #6
0
 public PAG_ARRAY(byte cnt)
 {
     _cnt   = cnt;
     _inner = new byte[0];
     header = JFTools.size(typeof(PAG_ARRAY));
     len    = 0;
     no     = (uint)MSG_ID.TEST_ARRAY;
 }
Beispiel #7
0
 public PAG_ListKill(byte cnt)
 {
     _cnt   = cnt;
     _inner = new byte[0];
     header = JFTools.size(typeof(PAG_ListKill));
     len    = 0;
     no     = (uint)MSG_ID.LISTKILL;
 }
Beispiel #8
0
        public PAG_ERROR(short msgid, int code)
        {
            header = JFTools.size(typeof(JFPackage.PAG_ERROR));
            len    = 0;
            no     = (uint)MSG_ID.Error;

            _theMsgid  = msgid;
            _errorCode = code;
        }
Beispiel #9
0
 public PAG_Notify(byte[]  attack, byte[] target)
 {
     header  = JFTools.size(typeof(PAG_Notify));
     len     = 0;
     no      = (uint)MSG_ID.NOTIFY;
     _type   = 0;
     _attack = attack;
     _target = target;
 }
Beispiel #10
0
        public byte[] _pwd;         // pwd maxLenght 16

        public PAG_LOGIN(byte[] name, byte[] pwd)
        {
            header = JFTools.size(typeof(PAG_LOGIN));
            len    = 0;
            no     = (uint)MSG_ID.LOGIN;

            _name = name;
            _pwd  = pwd;
        }
Beispiel #11
0
        public byte[] _pwd;         // pwd maxLenght 16

        public PAG_REGIST(byte bAuto, byte[] name, byte[] pwd)
        {
            header = JFTools.size(typeof(PAG_REGIST));
            len    = 0;
            no     = (uint)MSG_ID.REGIST;

            _bAuto = bAuto;
            _name  = name;
            _pwd   = pwd;
        }
Beispiel #12
0
        public PAG_MAPINF(short x, short z, byte block)
        {
            header = JFTools.size(typeof(PAG_MAPINF));
            len    = 0;
            no     = (uint)MSG_ID.MAPINFO;

            _x     = x;
            _z     = z;
            _block = block;
        }
Beispiel #13
0
        public PAG_WALK(int id, int x, int z, byte dir)
        {
            header = JFTools.size(typeof(PAG_WALK));
            len    = 0;
            no     = (uint)MSG_ID.WALK;

            _id  = (short)id;
            _x   = (short)x;
            _z   = (short)z;
            _dir = dir;
        }
Beispiel #14
0
        public PAG_STRUCTURE(byte[] _dest, int _id, byte[] _name, byte[] _sex5)
        {
            header = JFTools.size(typeof(JFPackage.PAG_STRUCTURE));
            len    = 0;
            no     = (uint)MSG_ID.TEST_STRUCTURE;

            id   = _id;
            dest = _dest;
            name = _name;
            sex5 = _sex5;
        }
Beispiel #15
0
        public PAG_JUMPINMAP(int id, short x, short z, byte dir)
        {
            header = JFTools.size(typeof(JFPackage.PAG_JUMPINMAP));
            len    = 0;
            no     = (uint)MSG_ID.JUMPINMAP;

            _id  = id;
            _x   = x;
            _z   = z;
            _dir = dir;
        }
Beispiel #16
0
        public PAG_FIGHT(int id, int target, short action)
        {
            header = JFTools.size(typeof(PAG_FIGHT));
            len    = 0;
            no     = (uint)MSG_ID.FIGHT;

            _id      = id;
            _target  = target;
            _action  = action;
            _param01 = 0;
            _param02 = 0;
            _order   = 0;
        }
Beispiel #17
0
        public byte[] _name;       // name maxLenght 8

        public PAG_CREATE(int id, short type, short x, short z, byte dir, int hp, byte[] name)
        {
            header = JFTools.size(typeof(PAG_CREATE));
            len    = 0;
            no     = (uint)MSG_ID.CREATE;

            _id   = id;
            _type = type;
            _x    = x;
            _z    = z;
            _dir  = dir;
            _name = name;
        }
Beispiel #18
0
        public PAG_ATTRCHG(int attID, int tarID, short action, short type, short num, short delay)
        {
            header = JFTools.size(typeof(JFPackage.PAG_ATTRCHG));
            len    = 0;
            no     = (uint)MSG_ID.ATTRCHG;

            _attackID = attID;
            _targetID = tarID;
            _action   = action;
            _type     = type;
            _num      = num;
            _delay    = delay;
            _order    = 0;
        }
Beispiel #19
0
    void sendArray()
    {
        JFPackage.PAG_ArrayInner inner = new JFPackage.PAG_ArrayInner(
            StringEncoding.GetBytes("ArrayDest"),
            cnt,
            StringEncoding.GetBytes("guccang"),
            StringEncoding.GetBytes("arr")
            );
        List <JFPackage.PAG_ArrayInner> lst = new List <JFPackage.PAG_ArrayInner>();

        lst.Add(inner); lst.Add(inner);
        JFPackage.PAG_ARRAY _a = JFTools.buildArrayStruct <JFPackage.PAG_ArrayInner, JFPackage.PAG_ARRAY>(lst);
        NetMgr.getSingleton().sendMsg(_a);
    }
Beispiel #20
0
        public PAG_ATTR(int id, int maxHp, int maxMp, int hp, int mp, int def)
        {
            header = JFTools.size(typeof(JFPackage.PAG_ATTR));
            len    = 0;
            no     = (uint)MSG_ID.ATTR;

            _id        = id;
            _hp        = hp;
            _mp        = mp;
            _def       = def;
            _maxHp     = maxHp;
            _maxMp     = maxMp;
            _maxShiled = 0;
            _shiled    = 0;
        }
Beispiel #21
0
    public static S buildArrayStruct <T, S>(List <T> inT) where S : JFPackage.IPackage, new()
    {
        byte[] bytes;
        int    sizeOfT         = Marshal.SizeOf(typeof(T));
        int    SizeOfSrcObjLst = sizeOfT * inT.Count;
        int    SizeOfDescObj   = Marshal.SizeOf(typeof(S));

        if (SizeOfDescObj < SizeOfSrcObjLst)
        {
            GameDebug.LogError("Error Desc NOT Enought!!!");
            return(default(S));
        }

        S      pag     = new S();
        IntPtr descBuf = Marshal.AllocHGlobal(SizeOfDescObj);

        try
        {
            // head
            short [] headInfo = new short[2];
            headInfo[0] = pag.HEAD;
            headInfo[1] = pag.LEN;
            int [] headInfo2 = new int[2];
            headInfo2[0] = (int)pag.ID;
            headInfo2[1] = inT.Count;
            Marshal.Copy(headInfo, 0, descBuf, 2);
            Marshal.Copy(headInfo2, 0, new IntPtr(descBuf.ToInt32() + JFTools.size(typeof(short)) * 2), 2);
            int offset = JFTools.size(typeof(short)) * 2 + JFTools.size(typeof(uint)) * 2;
            // body
            for (int i = 0; i < inT.Count; ++i)
            {
                bytes = StructToBytes(inT[i]);
                Marshal.Copy(bytes, 0, new IntPtr(descBuf.ToInt32() + i * sizeOfT + offset), sizeOfT);
            }
            return((S)Marshal.PtrToStructure(descBuf, typeof(S)));
        }
        finally
        {
            Marshal.FreeHGlobal(descBuf);
        }
    }
Beispiel #22
0
    int getPackageLenght(uint no)
    {
        int len = 0;

        if (no == (uint)JFPackage.MSG_ID.LISTKILL)
        {
            len = JFTools.size(typeof(JFPackage.PAG_ListKill));
        }
        else if (no == (uint)JFPackage.MSG_ID.TEST_STRING)
        {
            len = JFTools.size(typeof(JFPackage.PAG_STRING));
        }
        else if (no == (uint)JFPackage.MSG_ID.TEST_STRUCTURE)
        {
            len = JFTools.size(typeof(JFPackage.PAG_STRUCTURE));
        }
        else if (no == (uint)JFPackage.MSG_ID.TEST_ARRAY)
        {
            len = JFTools.size(typeof(JFPackage.PAG_ARRAY));
        }
        else if (no == (uint)JFPackage.MSG_ID.WALK)
        {
            len = JFTools.size(typeof(JFPackage.PAG_WALK));
        }
        else if (no == (uint)JFPackage.MSG_ID.FIGHT)
        {
            len = JFTools.size(typeof(JFPackage.PAG_FIGHT));
        }
        else if (no == (uint)JFPackage.MSG_ID.CREATE)
        {
            len = JFTools.size(typeof(JFPackage.PAG_CREATE));
        }
        else if (no == (uint)JFPackage.MSG_ID.DELETE)
        {
            len = JFTools.size(typeof(JFPackage.PAG_DELETE));
        }
        else if (no == (uint)JFPackage.MSG_ID.REGIST)
        {
            len = JFTools.size(typeof(JFPackage.PAG_REGIST));
        }
        else if (no == (uint)JFPackage.MSG_ID.Error)
        {
            len = JFTools.size(typeof(JFPackage.PAG_ERROR));
        }
        else if (no == (uint)JFPackage.MSG_ID.ATTRCHG)
        {
            len = JFTools.size(typeof(JFPackage.PAG_ATTRCHG));
        }
        else if (no == (uint)JFPackage.MSG_ID.ATTR)
        {
            len = JFTools.size(typeof(JFPackage.PAG_ATTR));
        }
        else if (no == (uint)JFPackage.MSG_ID.JUMPINMAP)
        {
            len = JFTools.size(typeof(JFPackage.PAG_JUMPINMAP));
        }
        else if (no == (uint)JFPackage.MSG_ID.MAPINFO)
        {
            len = JFTools.size(typeof(JFPackage.PAG_MAPINF));
        }
        else if (no == (uint)JFPackage.MSG_ID.ENTRPMAP)
        {
            len = JFTools.size(typeof(JFPackage.PAG_EnetrMap));
        }
        else if (no == (uint)JFPackage.MSG_ID.RELIVE)
        {
            len = JFTools.size((typeof(JFPackage.PAG_RELIVE)));
        }
        else if (no == (uint)JFPackage.MSG_ID.REGIST)
        {
            len = JFTools.size((typeof(JFPackage.PAG_REGIST)));
        }
        else if (no == (uint)JFPackage.MSG_ID.NOTIFY)
        {
            len = JFTools.size((typeof(JFPackage.PAG_Notify)));
        }
        else
        {
            GameDebug.LogError("NO Find MSD in getPackageLenght.");
        }
        return(len);
    }
Beispiel #23
0
    public static int processMsg(List <JFPackage.IPackage> pages, System.Action <bool> cb)
    {
        try
        {
            //if(pages.Count!=0)
            //	GameDebug.LogError("before Pages count"+pages.Count);
            for (int i = 0; i < pages.Count; ++i)
            {
                JFPackage.IPackage pag = pages[i];
                NetMgr.getSingleton().perfact(pag.ID);
                if (pag.ID == (uint)JFPackage.MSG_ID.LISTKILL)
                {
                    JFPackage.PAG_ListKill kill = (JFPackage.PAG_ListKill)pag;
                    GameDebug.Log("recv list of killed:" + kill._cnt);
                    List <JFPackage.killBeKilledData> listStruct = new List <JFPackage.killBeKilledData>();
                    JFTools.bytesToArrayStruct(kill._inner, kill._cnt, listStruct);
                    foreach (var v in listStruct)
                    {
                        GameDebug.Log("Array Info: " +
                                      " id:" + v._id +
                                      " beKilled:" + v._beKilled +
                                      " killed:" + v._killed +
                                      " name:" + StringEncoding.GetString(v._name));
                    }
                }
                else if (pag.ID == (uint)JFPackage.MSG_ID.NOTIFY)
                {
                    JFPackage.PAG_Notify no = (JFPackage.PAG_Notify)pag;
                    GameDebug.Log("NotifyMessage:" + StringEncoding.GetString(no._attack) + "杀死了" + StringEncoding.GetString(no._target));
                }
                else if (pag.ID == (uint)JFPackage.MSG_ID.REGIST)
                {
                    JFPackage.PAG_REGIST reg = (JFPackage.PAG_REGIST)pag;
                    GameDebug.Log(StringEncoding.GetString(reg._name) + ":" + StringEncoding.GetString(reg._pwd));
                }
                else if (pag.ID == (uint)JFPackage.MSG_ID.MAPINFO)
                {
                    JFPackage.PAG_MAPINF mapInof = (JFPackage.PAG_MAPINF)pag;
                    Hero.NotifyMapInfo(mapInof._x, mapInof._z, mapInof._block);
                }
                else if (pag.ID == (uint)JFPackage.MSG_ID.JUMPINMAP)
                {
                    JFPackage.PAG_JUMPINMAP jim = (JFPackage.PAG_JUMPINMAP)pag;
                    PlayerSys.getSingleton().getHero().NotifyJumpInMap(jim._id.ToString(), new Map.position(jim._x, jim._z));
                }
                else if (pag.ID == (uint)JFPackage.MSG_ID.ATTR)
                {
                    JFPackage.PAG_ATTR attr = (JFPackage.PAG_ATTR)pag;
                    if (Hero != null)
                    {
                        Hero.AttrInit(attr._id.ToString(), attr._maxHp, attr._maxMp, attr._hp, attr._mp, attr._def, attr._maxShiled, attr._shiled);
                    }
                    else
                    {
                        GameDebug.LogError("hero is null");
                    }
                }
                else if (pag.ID == (uint)JFPackage.MSG_ID.ATTRCHG)
                {
                    JFPackage.PAG_ATTRCHG attr = (JFPackage.PAG_ATTRCHG)pag;
                    int action = attr._action;
                    if (Hero.ID != attr._targetID)
                    {
                        Hero.NotifyFight(attr._attackID, attr._targetID, attr._action);
                    }

                    if (attr._delay <= 0)
                    {
                        Hero.NotifyAttrChg(attr._targetID.ToString(), attr._type, attr._num);
                    }
                    else
                    {
                        Hero.NotifyAttrChgDelay(attr._targetID.ToString(), attr._type, attr._num, attr._delay);
                    }
                    GameDebug.Log(attr._attackID + " fight " + attr._targetID + ":" + ((Player.ENUM_SKILL_TYPE)attr._action).ToString() + ":" + ((Creature.ENUM_ATTR)attr._type).ToString() + ":" + attr._num);
                }
                else if (pag.ID == (uint)JFPackage.MSG_ID.Error)
                {
                    JFPackage.PAG_ERROR error = (JFPackage.PAG_ERROR)pag;
                    GameDebug.LogError("msg Error:" + ((JFPackage.MSG_ID)error._theMsgid).ToString() + ":" + ((JFPackage.ERROR_CODE)error._errorCode).ToString());
                }
                else if (pag.ID == (uint)JFPackage.MSG_ID.REGIST)
                {
                    JFPackage.PAG_REGIST reg = (JFPackage.PAG_REGIST)pag;
                    GameDebug.Log("Register Success!!!" + reg._name + ":" + reg._pwd);
                }
                else if (pag.ID == (uint)JFPackage.MSG_ID.DELETE)
                {
                    JFPackage.PAG_DELETE del = (JFPackage.PAG_DELETE)pag;
                    PlayerSys.getSingleton().getHero().NotifyRemove(del._id.ToString());
                }
                else if (pag.ID == (uint)JFPackage.MSG_ID.CREATE)
                {
                    JFPackage.PAG_CREATE create = (JFPackage.PAG_CREATE)pag;
                    Map.position         pos    = new Map.position(create._x, create._z);
                    pos._dir = create._dir;
                    CreateSize++;
                    //GameDebug.Log("CreateSize:"+CreateSize+":("+create._x+":"+create._z+")");
                    string name = StringEncoding.GetString(create._name);
                    if (create._type == 0)                     // hero
                    {
                        PlayerSys.getSingleton().createHero(create._id, pos, 0, name);
                    }
                    else                     // others player
                    {
                        PlayerSys.getSingleton().getHero().NotifyAdd(create._type, create._id.ToString(), pos, 0, name);
                    }
                }
                else if ((uint)JFPackage.MSG_ID.WALK == pag.ID)
                {
                    JFPackage.PAG_WALK walk = (JFPackage.PAG_WALK)pag;
                    Map.position       pos  = new Map.position(walk._x, walk._z);
                    pos._dir = (int)walk._dir;
                    PlayerSys.getSingleton().getHero().NotifyMove(walk._id.ToString(), pos);
                }
                else if (pag.ID == (uint)JFPackage.MSG_ID.FIGHT)
                {
                    JFPackage.PAG_FIGHT fight = (JFPackage.PAG_FIGHT)pag;
                    Player hero = PlayerSys.getSingleton().getHero();
                    if (fight._action == 8)
                    {
                        GameDebug.Log("BOSS 召唤了卫兵,请小心.");
                    }
                    //if(fight._id != PlayerSys.getSingleton().getHero().ID)
                    {
                        PlayerSys.getSingleton().getHero().NotifyFight(fight._id, fight._target, fight._action);
                    }
                    //else
                    {
                        //	hero.fight(fight._action,PlayerSys.getSingleton().getControl().curPos);
                    }
                }
                else if (pag.ID == (uint)JFPackage.MSG_ID.CONNECTED)
                {
                    //short id = 0;
                    //PlayerSys.getSingleton().createHero(id,new Map.position(0,0));
                }
                else if (pag.ID == (uint)JFPackage.MSG_ID.TEST_STRING)
                {
                    JFPackage.PAG_STRING pag64 = (JFPackage.PAG_STRING)pag;
                    GameDebug.Log("recv 1000:" + StringEncoding.GetString(pag64.content));
                }
                else if ((uint)JFPackage.MSG_ID.TEST_STRUCTURE == pag.ID)
                {
                    JFPackage.PAG_STRUCTURE inner = (JFPackage.PAG_STRUCTURE)pag;

                    // * Funck 内存对齐,字符串长度问题。byte[] 中如果有0的话,转成string,长度有问题。
                    string desc = StringEncoding.GetString(inner.dest);
                    string name = StringEncoding.GetString(inner.name);
                    string sex5 = StringEncoding.GetString(inner.sex5);
                    GameDebug.Log("recv 1001:" + name + ":" + desc + ":" + sex5);
                }
                else if ((uint)JFPackage.MSG_ID.TEST_ARRAY == pag.ID)
                {
                    JFPackage.PAG_ARRAY array = (JFPackage.PAG_ARRAY)pag;
                    GameDebug.Log("recv 1002:" + array._cnt);
                    List <JFPackage.PAG_ArrayInner> listStruct = new List <JFPackage.PAG_ArrayInner>();
                    JFTools.bytesToArrayStruct(array._inner, array._cnt, listStruct);
                    foreach (var v in listStruct)
                    {
                        GameDebug.Log("Array Info: " +
                                      " name:" + StringEncoding.GetString(v.name) +
                                      " dest:" + StringEncoding.GetString(v.dest) +
                                      " sex5:" + StringEncoding.GetString(v.sex5));
                    }
                }
                else
                {
                    GameDebug.LogError("PAG ID Not FIND!!!" + pag.ID);
                }
            }

            if (pages.Count != 0)
            {
                ProcessNumTotal += pages.Count;
                //Debug.Log("processMsg call , Num pages process :"+ProcessNumTotal);
            }
        }
        catch (System.Exception e)
        {
            GameDebug.LogError("MSGProcess Error:" + pages.Count + ":" + e);
            pages.Clear();
            return(-1);
        }

        if (pages.Count != 0)
        {
            //GameDebug.LogError("after Pages count"+pages.Count);
            pages.Clear();
        }
        return(0);
    }
Beispiel #24
0
 void getPackage(int header, int Lenght, uint no, byte[] data)
 {
     if (no == (uint)JFPackage.MSG_ID.LISTKILL)
     {
         JFPackage.PAG_ListKill wp = new JFPackage.PAG_ListKill();
         wp = (JFPackage.PAG_ListKill)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.NOTIFY)
     {
         JFPackage.PAG_Notify wp = new JFPackage.PAG_Notify();
         wp = (JFPackage.PAG_Notify)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.RELIVE)
     {
         JFPackage.PAG_RELIVE wp = new JFPackage.PAG_RELIVE();
         wp = (JFPackage.PAG_RELIVE)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.ENTRPMAP)
     {
         JFPackage.PAG_EnetrMap wp = new JFPackage.PAG_EnetrMap();
         wp = (JFPackage.PAG_EnetrMap)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.MAPINFO)
     {
         JFPackage.PAG_MAPINF wp = new JFPackage.PAG_MAPINF();
         wp = (JFPackage.PAG_MAPINF)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.JUMPINMAP)
     {
         JFPackage.PAG_JUMPINMAP wp = new JFPackage.PAG_JUMPINMAP();
         wp = (JFPackage.PAG_JUMPINMAP)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.ATTR)
     {
         JFPackage.PAG_ATTR wp = new JFPackage.PAG_ATTR();
         wp = (JFPackage.PAG_ATTR)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.ATTRCHG)
     {
         JFPackage.PAG_ATTRCHG wp = new JFPackage.PAG_ATTRCHG();
         wp = (JFPackage.PAG_ATTRCHG)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.TEST_STRING)
     {
         JFPackage.PAG_STRING wp = new JFPackage.PAG_STRING();
         wp = (JFPackage.PAG_STRING)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.TEST_STRUCTURE)
     {
         JFPackage.PAG_STRUCTURE wp = new JFPackage.PAG_STRUCTURE();
         wp = (JFPackage.PAG_STRUCTURE)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.TEST_ARRAY)
     {
         JFPackage.PAG_ARRAY wp = new JFPackage.PAG_ARRAY();
         wp = (JFPackage.PAG_ARRAY)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.WALK)
     {
         JFPackage.PAG_WALK wp = new JFPackage.PAG_WALK();
         wp = (JFPackage.PAG_WALK)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.FIGHT)
     {
         JFPackage.PAG_FIGHT wp = new JFPackage.PAG_FIGHT();
         wp = (JFPackage.PAG_FIGHT)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.CREATE)
     {
         JFPackage.PAG_CREATE wp = new JFPackage.PAG_CREATE();
         wp = (JFPackage.PAG_CREATE)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.DELETE)
     {
         JFPackage.PAG_DELETE wp = new JFPackage.PAG_DELETE();
         wp = (JFPackage.PAG_DELETE)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.REGIST)
     {
         JFPackage.PAG_REGIST wp = new JFPackage.PAG_REGIST();
         wp = (JFPackage.PAG_REGIST)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else if (no == (uint)JFPackage.MSG_ID.Error)
     {
         JFPackage.PAG_ERROR wp = new JFPackage.PAG_ERROR();
         wp = (JFPackage.PAG_ERROR)JFTools.BytesToStruct(data, wp.GetType());
         _curPackages.Add(wp);
     }
     else
     {
         GameDebug.LogError("getPackage error " + no);
     }
 }
Beispiel #25
0
 public PAG_RELIVE(int mapid)
 {
     header = JFTools.size(typeof(PAG_RELIVE));
     len    = 0;
     no     = (uint)MSG_ID.RELIVE;
 }